Skip to content
Closed
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
title: "O que é IaaS?"
category: software-engineering
subcategory: cloud-computing
tags: [iaas, cloud, infraestrutura, computacao-em-nuvem]
difficulty: beginner
lang: pt
---

## Full Answer

IaaS (Infrastructure as a Service) é um modelo de computação em nuvem no qual o provedor oferece recursos de infraestrutura sob demanda, como máquinas virtuais, armazenamento, redes e balanceadores de carga.

Nesse modelo, o cliente é responsável por configurar e gerenciar o sistema operacional, aplicações, banco de dados e demais componentes da solução, enquanto o provedor cuida da infraestrutura física.

O IaaS oferece maior flexibilidade e controle em comparação com PaaS e SaaS, sendo muito utilizado por empresas que precisam personalizar seu ambiente de execução.

Exemplos de serviços IaaS incluem:
- Amazon EC2
- Google Compute Engine
- Azure Virtual Machines
- DigitalOcean Droplets

As principais vantagens são:
- Controle total da infraestrutura virtual
- Escalabilidade sob demanda
- Pagamento conforme o uso
- Redução de custos com hardware físico
- Flexibilidade para diferentes arquiteturas

## Quick Answer

IaaS é um modelo de nuvem que fornece infraestrutura virtual, como servidores, armazenamento e rede, permitindo que o cliente gerencie o sistema operacional e as aplicações.

## Flashcard

**P:** O que é IaaS?

**R:** IaaS (Infrastructure as a Service) é um modelo de nuvem que fornece recursos de infraestrutura virtual sob demanda, como servidores, armazenamento e redes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: "O que é PaaS?"
category: software-engineering
subcategory: cloud-computing
tags: [paas, cloud, plataforma, infraestrutura]
difficulty: beginner
lang: pt
---

## Full Answer

PaaS (Platform as a Service) é um modelo de computação em nuvem que fornece uma plataforma completa para desenvolvimento, execução e implantação de aplicações.

Nesse modelo, o provedor gerencia a infraestrutura subjacente, como servidores, rede, armazenamento e sistema operacional, enquanto os desenvolvedores focam apenas no código e na lógica de negócio.

O PaaS simplifica o processo de desenvolvimento ao oferecer ferramentas prontas para deploy, monitoramento, escalabilidade e integração contínua.

Exemplos de plataformas PaaS incluem:
- Heroku
- Google App Engine
- Azure App Service
- Render
- Railway

As principais vantagens são:
- Menor complexidade operacional
- Deploy simplificado
- Escalabilidade automática
- Redução do tempo de desenvolvimento
- Menor necessidade de gerenciar infraestrutura

## Quick Answer

PaaS é um modelo de nuvem que fornece uma plataforma para desenvolver e executar aplicações sem a necessidade de gerenciar servidores e infraestrutura.

## Flashcard

**P:** O que é PaaS?

**R:** PaaS (Platform as a Service) é um modelo de nuvem que fornece uma plataforma pronta para desenvolver, implantar e executar aplicações.
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: "O que é SaaS?"
category: software-engineering
subcategory: cloud-computing
tags: [saas, cloud, software, arquitetura]
difficulty: beginner
lang: pt
---

## Full Answer

SaaS (Software as a Service) é um modelo de distribuição de software em que a aplicação é disponibilizada pela internet e acessada por meio de um navegador ou aplicativo, sem necessidade de instalação local.

Nesse modelo, o fornecedor é responsável por toda a infraestrutura, manutenção, atualizações, segurança e disponibilidade do sistema.

Os usuários normalmente pagam por assinatura mensal ou anual e acessam o software sob demanda.

Exemplos de SaaS incluem:
- Google Workspace
- Slack
- Notion
- Salesforce
- GitHub

As principais vantagens são:
- Baixo custo inicial
- Atualizações automáticas
- Facilidade de acesso
- Escalabilidade
- Menor necessidade de gerenciamento de infraestrutura

## Quick Answer

SaaS é um modelo em que o software é disponibilizado pela internet e consumido como um serviço, geralmente por assinatura.

## Flashcard

**P:** O que significa SaaS?

**R:** SaaS (Software as a Service) é um modelo em que aplicações são disponibilizadas pela internet e utilizadas como serviço, sem instalação local.
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: "O que é o conceito de lock-in em cloud computing?"
category: software-engineering
subcategory: cloud-computing
tags: [cloud, lock-in, vendor-lock-in, arquitetura]
difficulty: intermediate
lang: pt
---

## Full Answer

Lock-in, ou vendor lock-in, é a situação em que uma empresa se torna altamente dependente de um provedor de nuvem, dificultando ou encarecendo a migração para outra plataforma.

Isso acontece quando a aplicação utiliza serviços, APIs ou recursos específicos de um provedor, tornando complexa a substituição por alternativas equivalentes.

Por exemplo, uma aplicação que utiliza diversos serviços proprietários da AWS pode exigir mudanças significativas de arquitetura para ser migrada para Azure ou Google Cloud.

Os principais riscos do lock-in são:
- Custos elevados de migração
- Dependência de um único fornecedor
- Menor poder de negociação
- Dificuldade para adotar novas tecnologias
- Restrições estratégicas de longo prazo

Algumas estratégias para reduzir o lock-in incluem:
- Uso de containers com Docker
- Orquestração com Kubernetes
- Adoção de padrões abertos
- Arquiteturas multi-cloud
- Evitar dependência excessiva de serviços proprietários

O lock-in não é necessariamente algo negativo. Muitas empresas aceitam esse compromisso para acelerar o desenvolvimento e aproveitar serviços gerenciados mais avançados.

## Quick Answer

Lock-in é a dependência de um provedor de nuvem que torna difícil ou custosa a migração para outra plataforma.

## Flashcard

**P:** O que é vendor lock-in?

**R:** É a dependência de um provedor de nuvem devido ao uso de tecnologias ou serviços específicos que dificultam a migração para outro fornecedor.
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: "Quando usar PaaS em vez de IaaS?"
category: software-engineering
subcategory: cloud-computing
tags: [paas, iaas, cloud, infraestrutura]
difficulty: intermediate
lang: pt
---

## Full Answer

PaaS deve ser utilizado quando o objetivo é focar no desenvolvimento da aplicação sem se preocupar com a gestão da infraestrutura.

Nesse modelo, o provedor cuida de servidores, sistema operacional, escalabilidade, monitoramento e atualizações da plataforma, permitindo que a equipe concentre esforços apenas no código e nas regras de negócio.

Já o IaaS é mais indicado quando é necessário maior controle sobre o ambiente, incluindo configurações do sistema operacional, rede, segurança e infraestrutura.

Exemplos de uso de PaaS:
- Startups que precisam lançar produtos rapidamente
- APIs e aplicações web simples
- Sistemas que exigem deploy frequente
- Equipes pequenas sem especialistas em infraestrutura

Exemplos de uso de IaaS:
- Aplicações com requisitos específicos de infraestrutura
- Ambientes corporativos complexos
- Sistemas legados
- Cenários que exigem controle avançado de rede e segurança

A principal diferença é que o PaaS prioriza produtividade e simplicidade, enquanto o IaaS oferece mais flexibilidade e controle.

## Quick Answer

Use PaaS quando quiser focar no desenvolvimento da aplicação e evitar o gerenciamento de infraestrutura. Use IaaS quando precisar de maior controle sobre servidores, rede e sistema operacional.

## Flashcard

**P:** Quando usar PaaS em vez de IaaS?

**R:** Use PaaS quando a prioridade for desenvolver e implantar aplicações rapidamente sem gerenciar infraestrutura. Use IaaS quando for necessário maior controle do ambiente.
39 changes: 39 additions & 0 deletions src/content/pt/devops/general/o-que-e-platform-eng.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
title: "O que é Platform Engineering?"
category: devops
subcategory: platform-engineering
tags: [platform-engineering, devops, developer-experience, infraestrutura]
difficulty: intermediate
lang: pt
---

## Full Answer

Platform Engineering é a disciplina responsável por criar e manter plataformas internas que permitem que equipes de desenvolvimento entreguem software de forma mais rápida, segura e eficiente.

Em vez de cada time precisar configurar infraestrutura, pipelines, observabilidade e ambientes por conta própria, uma equipe de Platform Engineering constrói soluções padronizadas e reutilizáveis que podem ser consumidas por toda a organização.

O objetivo é melhorar a experiência do desenvolvedor (Developer Experience - DevEx), reduzir a complexidade operacional e aumentar a produtividade das equipes.

Exemplos de recursos fornecidos por uma plataforma interna:
- Provisionamento automatizado de ambientes
- Templates para criação de serviços
- Pipelines CI/CD padronizados
- Observabilidade (logs, métricas e traces)
- Gerenciamento de Kubernetes
- Catálogo de serviços
- Controle de acesso e segurança

Platform Engineering surgiu como uma evolução das práticas DevOps em organizações maiores, onde a complexidade da infraestrutura exige um nível maior de padronização e automação.

Um conceito muito associado a Platform Engineering é a Internal Developer Platform (IDP), uma plataforma interna que oferece ferramentas e serviços para os desenvolvedores por meio de interfaces self-service.

## Quick Answer

Platform Engineering é a prática de criar plataformas internas que simplificam o desenvolvimento e a operação de software, permitindo que equipes foquem no produto em vez da infraestrutura.

## Flashcard

**P:** O que é Platform Engineering?

**R:** É a disciplina responsável por criar plataformas internas que abstraem a complexidade da infraestrutura e melhoram a produtividade dos desenvolvedores.
63 changes: 63 additions & 0 deletions src/content/pt/devops/general/o-que-e-sre.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
title: "O que é SRE (Site Reliability Engineering)?"
category: devops
subcategory: sre
tags: [sre, confiabilidade, disponibilidade, observabilidade, operacoes]
difficulty: intermediate
lang: pt
---

## Full Answer

SRE (Site Reliability Engineering) é uma disciplina criada pelo Google que aplica princípios de engenharia de software para aumentar a confiabilidade, disponibilidade e escalabilidade de sistemas.

O objetivo do SRE é garantir que os serviços sejam estáveis e confiáveis, utilizando automação para reduzir trabalho operacional manual e repetitivo.

Enquanto equipes de operações tradicionais costumam atuar de forma mais reativa, equipes SRE buscam prevenir problemas por meio de monitoramento, observabilidade, automação e melhoria contínua.

As principais responsabilidades de um SRE incluem:
- Monitoramento de sistemas
- Gestão de incidentes
- Troubleshooting
- Automação de tarefas operacionais
- Planejamento de capacidade
- Gestão de disponibilidade
- Definição de SLOs e SLIs
- Redução de toil (trabalho manual repetitivo)

Conceitos importantes em SRE:

### SLI (Service Level Indicator)

Métrica utilizada para medir a qualidade de um serviço.

Exemplos:
- Latência
- Taxa de erros
- Disponibilidade

### SLO (Service Level Objective)

Meta estabelecida para um determinado indicador.

Exemplo:
- Disponibilidade de 99,9% por mês

### SLA (Service Level Agreement)

Acordo formal entre fornecedor e cliente que define níveis mínimos de serviço e possíveis penalidades em caso de descumprimento.

Exemplo:
- Garantia contratual de 99,9% de disponibilidade

O SRE busca equilibrar velocidade de entrega e estabilidade do sistema, garantindo que novas funcionalidades sejam lançadas sem comprometer a confiabilidade do serviço.

## Quick Answer

SRE é uma disciplina que aplica engenharia de software às operações para aumentar a confiabilidade, disponibilidade e escalabilidade dos sistemas.

## Flashcard

**P:** O que é SRE?

**R:** SRE (Site Reliability Engineering) é uma disciplina focada em garantir a confiabilidade dos sistemas por meio de automação, monitoramento e práticas de engenharia de software.
50 changes: 50 additions & 0 deletions src/content/pt/devops/general/pilares-cultura-devops.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: "Quais são os pilares da cultura DevOps?"
category: devops
subcategory: fundamentals
tags: [devops, cultura, calms, automacao, colaboracao]
difficulty: intermediate
lang: pt
---

## Full Answer

Os pilares da cultura DevOps são frequentemente representados pelo modelo CALMS, que descreve os princípios fundamentais para integrar desenvolvimento e operações de forma eficiente.

### C - Culture (Cultura)

Promove colaboração, comunicação e responsabilidade compartilhada entre equipes de desenvolvimento, operações, segurança e negócio.

### A - Automation (Automação)

Automatiza processos repetitivos, como testes, deploys, provisionamento de infraestrutura e monitoramento, reduzindo erros humanos e aumentando a velocidade das entregas.

### L - Lean (Mentalidade Enxuta)

Busca eliminar desperdícios, reduzir gargalos e otimizar continuamente os processos para entregar valor mais rapidamente.

### M - Measurement (Medição)

Utiliza métricas para avaliar desempenho, qualidade, confiabilidade e eficiência dos processos e sistemas.

Exemplos:
- Tempo de deploy
- Taxa de falhas
- Tempo de recuperação (MTTR)
- Disponibilidade dos serviços

### S - Sharing (Compartilhamento)

Estimula o compartilhamento de conhecimento, aprendizado contínuo, documentação e disseminação de boas práticas entre as equipes.

O objetivo do DevOps é criar um fluxo contínuo de entrega de software, aumentando a qualidade, a velocidade e a confiabilidade das aplicações.

## Quick Answer

Os pilares da cultura DevOps são representados pelo modelo CALMS: Cultura, Automação, Lean, Medição e Compartilhamento.

## Flashcard

**P:** Quais são os pilares da cultura DevOps?

**R:** Os pilares do DevOps são CALMS: Culture, Automation, Lean, Measurement e Sharing.
Loading
Loading