diff --git a/src/content/pt/architecture/software-engineering/cloud-computing/o-que-e-iaas.md b/src/content/pt/architecture/software-engineering/cloud-computing/o-que-e-iaas.md new file mode 100644 index 0000000..8395cf6 --- /dev/null +++ b/src/content/pt/architecture/software-engineering/cloud-computing/o-que-e-iaas.md @@ -0,0 +1,39 @@ +--- +title: "O que é IaaS?" +category: software-engineering +subcategory: cloud-computing +tags: [iaas, cloud, infraestrutura, computacao-em-nuvem] +difficulty: junior +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. \ No newline at end of file diff --git a/src/content/pt/architecture/software-engineering/cloud-computing/o-que-e-paas.md b/src/content/pt/architecture/software-engineering/cloud-computing/o-que-e-paas.md new file mode 100644 index 0000000..f4b2f51 --- /dev/null +++ b/src/content/pt/architecture/software-engineering/cloud-computing/o-que-e-paas.md @@ -0,0 +1,40 @@ +--- +title: "O que é PaaS?" +category: software-engineering +subcategory: cloud-computing +tags: [paas, cloud, plataforma, infraestrutura] +difficulty: junior +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. \ No newline at end of file diff --git a/src/content/pt/architecture/software-engineering/cloud-computing/o-que-e-saas.md b/src/content/pt/architecture/software-engineering/cloud-computing/o-que-e-saas.md new file mode 100644 index 0000000..26c4406 --- /dev/null +++ b/src/content/pt/architecture/software-engineering/cloud-computing/o-que-e-saas.md @@ -0,0 +1,40 @@ +--- +title: "O que é SaaS?" +category: software-engineering +subcategory: cloud-computing +tags: [saas, cloud, software, arquitetura] +difficulty: junior +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. \ No newline at end of file diff --git a/src/content/pt/architecture/software-engineering/cloud-computing/o-que-lock-in.md b/src/content/pt/architecture/software-engineering/cloud-computing/o-que-lock-in.md new file mode 100644 index 0000000..e4f5d5d --- /dev/null +++ b/src/content/pt/architecture/software-engineering/cloud-computing/o-que-lock-in.md @@ -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: pleno +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. \ No newline at end of file diff --git a/src/content/pt/architecture/software-engineering/cloud-computing/quando-usar-pasas-em-vez-de-iaas b/src/content/pt/architecture/software-engineering/cloud-computing/quando-usar-pasas-em-vez-de-iaas new file mode 100644 index 0000000..2364d24 --- /dev/null +++ b/src/content/pt/architecture/software-engineering/cloud-computing/quando-usar-pasas-em-vez-de-iaas @@ -0,0 +1,40 @@ +--- +title: "Quando usar PaaS em vez de IaaS?" +category: software-engineering +subcategory: cloud-computing +tags: [paas, iaas, cloud, infraestrutura] +difficulty: pleno +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. \ No newline at end of file diff --git a/src/content/pt/devops/general/o-que-e-platform-eng.md b/src/content/pt/devops/general/o-que-e-platform-eng.md new file mode 100644 index 0000000..625d907 --- /dev/null +++ b/src/content/pt/devops/general/o-que-e-platform-eng.md @@ -0,0 +1,39 @@ +--- +title: "O que é Platform Engineering?" +category: devops +subcategory: platform-engineering +tags: [platform-engineering, devops, developer-experience, infraestrutura] +difficulty: pleno +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. \ No newline at end of file diff --git a/src/content/pt/devops/general/o-que-e-sre.md b/src/content/pt/devops/general/o-que-e-sre.md new file mode 100644 index 0000000..9187eef --- /dev/null +++ b/src/content/pt/devops/general/o-que-e-sre.md @@ -0,0 +1,63 @@ +--- +title: "O que é SRE (Site Reliability Engineering)?" +category: devops +subcategory: sre +tags: [sre, confiabilidade, disponibilidade, observabilidade, operacoes] +difficulty: pleno +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. \ No newline at end of file diff --git a/src/content/pt/devops/general/pilares-cultura-devops.md b/src/content/pt/devops/general/pilares-cultura-devops.md new file mode 100644 index 0000000..12364d9 --- /dev/null +++ b/src/content/pt/devops/general/pilares-cultura-devops.md @@ -0,0 +1,50 @@ +--- +title: "Quais são os pilares da cultura DevOps?" +category: devops +subcategory: fundamentals +tags: [devops, cultura, calms, automacao, colaboracao] +difficulty: junior +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. \ No newline at end of file diff --git a/src/content/pt/devops/operations/o-que-war-room.md b/src/content/pt/devops/operations/o-que-war-room.md new file mode 100644 index 0000000..09a423c --- /dev/null +++ b/src/content/pt/devops/operations/o-que-war-room.md @@ -0,0 +1,39 @@ +--- +title: "O que é uma war room?" +category: devops +subcategory: incident-management +tags: [war-room, incidentes, troubleshooting, sre] +difficulty: pleno +lang: pt +--- + +## Full Answer + +Uma war room é uma reunião ou canal de comunicação criado para coordenar a resolução de incidentes críticos que afetam sistemas, aplicações ou serviços. + +Quando ocorre um problema de alto impacto, como uma indisponibilidade de produção, os profissionais envolvidos se reúnem em uma "sala de guerra" física ou virtual para investigar a causa, compartilhar informações e tomar decisões rapidamente. + +Durante uma war room, normalmente participam: +- Engenheiros de software +- DevOps/SRE +- Equipe de infraestrutura +- Banco de dados +- Segurança +- Gestores e stakeholders relevantes + +O objetivo é centralizar a comunicação, evitar informações desencontradas e acelerar a restauração do serviço. + +Após a resolução do incidente, é comum realizar um post-mortem ou análise de causa raiz para documentar o ocorrido e definir ações preventivas. + +Exemplo: +Uma plataforma de e-commerce fica fora do ar durante uma grande promoção. A empresa cria uma war room para que todas as equipes envolvidas colaborem em tempo real até que o serviço seja restaurado. + +## Quick Answer + +War room é um grupo temporário de pessoas reunidas para coordenar e resolver um incidente crítico de forma rápida e organizada. + +## Flashcard + +**P:** O que é uma war room? + +**R:** É uma reunião ou canal centralizado criado para coordenar a investigação e resolução de incidentes críticos em sistemas e infraestrutura. \ No newline at end of file diff --git a/src/content/pt/devops/operations/troubleshooting.md b/src/content/pt/devops/operations/troubleshooting.md new file mode 100644 index 0000000..1792d44 --- /dev/null +++ b/src/content/pt/devops/operations/troubleshooting.md @@ -0,0 +1,37 @@ +--- +title: "O que é troubleshooting?" +category: devops +subcategory: operations +tags: [troubleshooting, diagnostico, monitoramento, suporte] +difficulty: junior +lang: pt +--- + +## Full Answer + +Troubleshooting é o processo de identificar, analisar e resolver problemas em sistemas, aplicações, redes ou infraestrutura. + +O objetivo é descobrir a causa raiz de uma falha e restaurar o funcionamento normal do serviço o mais rápido possível. + +O processo geralmente envolve etapas como: +1. Identificar o problema +2. Coletar informações e evidências +3. Analisar logs, métricas e alertas +4. Formular hipóteses +5. Testar possíveis causas +6. Aplicar a correção +7. Validar a solução e monitorar o sistema + +Por exemplo, se uma API estiver respondendo lentamente, o troubleshooting pode envolver a análise de logs da aplicação, consumo de CPU e memória, consultas ao banco de dados e tráfego de rede para encontrar a origem da lentidão. + +Em ambientes DevOps e Cloud, ferramentas de observabilidade como logs, métricas e traces são fundamentais para realizar troubleshooting de forma eficiente. + +## Quick Answer + +Troubleshooting é o processo de diagnosticar e resolver problemas em sistemas, aplicações ou infraestrutura. + +## Flashcard + +**P:** O que é troubleshooting? + +**R:** Troubleshooting é o processo de identificar, analisar e corrigir problemas em sistemas ou aplicações para restaurar seu funcionamento normal. \ No newline at end of file