Enterprise DevOps AWS
Neste curso vamos aprender a criar um projeto de de infraestrutura como código na AWS utilizando Terraform e Terragrunt. Iremos aplicar o conceito de GitOps com ArgoCD e automatizar todo o ciclo de vida de um projeto.
Você aprenderá desde a preparação do ambiente e organização de repositórios GIT até a implantação de clusters EKS utilizando as melhores práticas descritas no EKS Best Practices.
No final iremos implantar o projeto eShop OnContainers em produção de forma 100% automatizada!
Principais Tópicos Abordados:
- Debate sobre a arquitetura, como tomar decisões sobre a estrutura de projetos e boas práticas
- Criação e gerenciamento de VPCs com Terraform
- Implantação de clusters EKS com suporte ao Karpenter e drivers de storage
- Configuração de CNI e decisões arquiteturais de rede
- Instalação e configuração do ArgoCD para GitOps
- Estrutura de repositórios e organização do projeto usando ApplicationSets do ArgoCD
- Deploy automatizado de Addons como ExternalDNS, Cert Manager e Prometheus
- GitHub e integração com ArgoCD para automação de pipelines de CI/CD
Com uma abordagem prática e direta, o curso guia você na criação de um pipeline completo de infraestrutura e aplicações modernas em Kubernetes na AWS.
Ao final, você será capaz de aplicar práticas de GitOps e automação na sua empresa.
Assista gratuitamente as aulas abaixo
- Introducao5m 12s
Apresentação do objetivo do curso
- Qual problema estamos resolvendo?5m 12s
Nesta aula iremos discutir qual complexidade que estamos lidando nesse projeto e quais perguntas devemos fazer antes de tomar decisões arquiteturais
- Visao Geral3m 36s
Descubra como provisionar um cluster EKS pronto para produção utilizando Terraform. Aprenda sobre addons nativos e extras, como Karpenter, EBS, EFS, e ferramentas de monitoramento.
- Karpenter - Fargate vs Managed Node Group3m 20s
Nesta aula vamos discutir estratégias de custo-benefício: Karpenter com Fargate ou Managed Node Groups? O que é melhor para produção?
- Custom CNI6m 34s
Nesta aula exploramos as complexidades do Kubernetes, focando em suas recomendações e desafios de network. Discutimos a alocação de IPs, limites de pods por Worker Node e estratégias para evitar o esgotamento de endereços IP, destacando a importância do planejamento e das melhores práticas.
- Decisões Arquiteturais5m 41s
Nesta aula, exploramos as nuances de decisões técnicas ao implementar EKS em ambientes de produção, homologação e desenvolvimento. Discutimos os prós e contras de usar um único cluster versus múltiplos clusters, considerando fatores como custo, complexidade e segurança.
- Decisoes Arquiteturais2m 17s
Vamos explorar as decisões arquiteturais que iremos utilizar nesse cenário.
- Visão Geral5m 32s
Vamos explorar o motivo da necessidade de automatizar o processo de configuração de um repositório no GitHub.
- Continuous Deployment Hml3m 53s
A aula explora o processo de configuração de um cluster de homologação, abordando desde a adição de addons até a implementação de ferramentas de gerenciamento.

Bruno Brito
Primeiramente, sou pai de um monte de três filhos. Já começo por aí pra mostrar que sei lidar com caos, falta de documentação e sistemas legados — inclusive os que choram às três da manhã.
Atuo como consultor de Azure e AWS, o que significa que passo metade do tempo explicando que nuvem não é mágica, e a outra metade apagando incêndio.
Também sou instrutor na avera, onde tento ensinar que “deploy automático” não é sinônimo de "jogar no colo de Deus e torcer".
Tenho 18 anos de experiência, o que me dá direito a julgar quem chama repository pattern de "overengineering" e depois enche o código de if else
.
Sempre priorizei a excelência e a qualidade acima de tudo. Sim, até mais do que aquele gerente que acha que "entregar rápido" é sinônimo de "entregar direito".
Sou um apaixonado por open source, especialmente no mundo .NET — aquele ecossistema que o pessoal acha que é da Microsoft, mas onde tem mais contribuição da comunidade do que gente imagina. Se você é dev .NET, provavelmente já usou alguma linha de código minha. Se não usou, ainda tem salvação.
Hoje, como instrutor, me comprometo a entregar conteúdo de verdade, sem enrolação, sem PowerPoint bonitinho dizendo que tudo vai funcionar. Spoiler: não vai. Mas pelo menos você vai entender por quê.
Eu sou Bruno Brito, pai de um monte de três filhos, e se você acha que cloud é só “clicar em next-next-finish”, faz um favor pra sua infra: não sobe nada em produção antes de falar comigo.
Perguntas frequentes
Formações: Conjuntos de cursos organizados para levar você do básico ao avançado em uma área, como DevOps ou Cloud, preparando para atuar profissionalmente.
Treinamentos: Experiências guiadas, com aulas gravadas, suporte direto e encontros ao vivo com instrutores, perfeitos para quem busca acompanhamento mais próximo.
1.1.0 12/05/2025
Video - Nova versão da aula - Introducao Atualização para melhoria das animações, com o objetivo de tornar a apresentação mais didática, fluida e visualmente clara para o acompanhamento do conteúdo. Essas melhorias não alteram o conteúdo técnico ou teórico da aula, apenas a forma como ele é apresentado, visando facilitar ainda mais o seu aprendizado.
- Introdução
11 aulas (44m 12s)
- Introducao5m 12s
Apresentação do objetivo do curso
- Pré-requisitos55s
Nesta aula, você aprenderá a instalar e configurar seu ambiente de desenvolvimento e otimizar seu fluxo de trabalho no VSCode.
- Instalar Terragrunt1m 27s
Nesta aula iremos instalar e configurar o terragrunt
- Atalhos53s
Nessa aula iremos configurar alguns atalhos no seu bash para facilitar o uso do terragrunt.
- Material
- Custos40s
Vamos abordar os custos envolvidos para a realização desse curso
- Configurando State via Terraform8m 0s
Descubra como configurar o State do terraform, através do próprio terraform!
- Estrutura do projeto3m 16s
Vamos explore como estruturar um monorepo para terraform que atenda mais de um ambiente.
- Qual problema estamos resolvendo?5m 12s
Nesta aula iremos discutir qual complexidade que estamos lidando nesse projeto e quais perguntas devemos fazer antes de tomar decisões arquiteturais
- Github App5m 35s
Descubra como integrar o GitHub com Terraform de forma impessoal e segura, utilizando um GitHub App personalizado. Aprenda a configurar as permissões para automatizar o gerenciamento de repositórios, usuários e secrets através do terraform.
- Provider Github3m 2s
Nesta aula iremos configurar o provider do GitHub no nosso projeto
- Resultado Final
4 aulas (22m 32s)
- Disclaimer1m 18s
Vamos conversar sobre o porquê as ultimas aulas estão nesse módulo
- Identity API8m 43s
Nessa aula vamos configurar a API Identity do eShop On Containers.
- Setup eShop On Containers8m 30s
Nessa aula iremos configurar todas as API's do eShop on Containers, desde a execução do terraform até a configuração do Continuous Deployment
- Finalizando eShop - Redis & Testes4m 1s
Nessa aula finalizamos o setup dos 3 ambientes: Prod, Hml e Dev. Finalizamos a configuração do Continuous Deployment e testamos o eShop em todos os ambientes.
- Network
3 aulas (20m 23s)
- Visao Geral2m 6s
Explore estratégias de configuração de vpc's, subnets e gateways. Aprenda a equilibrar riscos e necessidades de conectividade para aplicações.
- Criando VPC12m 28s
Descubra como criar uma VPC utilizando o Terraform, explorando módulos populares. Aprenda a configurar subnets, NAT Gateways e muito mais, garantindo uma infraestrutura pronta para produção.
- Dns5m 49s
Nessa aula iremos configurar o Route53 via terraform
- Elastic Kubernetes Service
12 aulas (1h 11m )
- Visao Geral3m 36s
Descubra como provisionar um cluster EKS pronto para produção utilizando Terraform. Aprenda sobre addons nativos e extras, como Karpenter, EBS, EFS, e ferramentas de monitoramento.
- Karpenter - Fargate vs Managed Node Group3m 20s
Nesta aula vamos discutir estratégias de custo-benefício: Karpenter com Fargate ou Managed Node Groups? O que é melhor para produção?
- Network2m 52s
Aprenda estratégias para configurar um cluster EKS de alta disponibilidade na AWS.
- Criando EKS14m 51s
Nesta aula mergulhamos na criação de um cluster EKS utilizando práticas recomendadas pelo EKS Best Practices da AWS. Aprenda sobre como otimizar o desempenho e a segurança com imagens Bottlerocket e instâncias ARM.
- Spot Service Link51s
Aprenda a como habilitar o uso de máquinas spot em contas novas da AWS.
- Karpenter - Problema na doc do EKS Best Practices3m 43s
Nesta aula, exploramos um dilema comum no uso do Terraform para implementar o Karpenter no EKS, destacando a confusão entre dois módulos populares. Discutimos as recomendações divergentes de fontes oficiais e a importância de escolher um módulo que equilibre simplicidade e documentação robusta.
- Configurando Karpenter5m 31s
Nesta aula, exploramos a configuração do Karpenter via Terraform, utilizando o EKS Blueprints. Através de um passo a passo detalhado, aprendemos a integrar o Karpenter com o EKS, ajustando versões e permissões, e preparando o terreno para futuras implementações com ArgoCD.
- Configurando Driver EBS6m 45s
Nesta aula, exploramos a configuração do addon AWS EBS CSI Driver.
- Configurando Driver EFS5m 49s
Nesta aula, exploramos a configuração do driver do EFS com o uso do addon e módulos do EKS.
- Custom CNI6m 34s
Nesta aula exploramos as complexidades do Kubernetes, focando em suas recomendações e desafios de network. Discutimos a alocação de IPs, limites de pods por Worker Node e estratégias para evitar o esgotamento de endereços IP, destacando a importância do planejamento e das melhores práticas.
- Configurando Custom CNI11m 30s
Nesta aula, exploramos a configuração avançada de redes no EKS, focando na implementação de um custom CNI.
- Decisões Arquiteturais5m 41s
Nesta aula, exploramos as nuances de decisões técnicas ao implementar EKS em ambientes de produção, homologação e desenvolvimento. Discutimos os prós e contras de usar um único cluster versus múltiplos clusters, considerando fatores como custo, complexidade e segurança.
- ArgoCD - Hub
3 aulas (21m 9s)
- Visão Geral53s
Descubra como iniciar sua jornada em GitOps com o Argo CD, explorando a configuração de múltiplos clusters no modo hub. Aprenda a manter seu ambiente sincronizado com um repositório Git, a fonte da verdade, e prepare-se para avançar para configurações mais complexas no modo spoke.
- Decisoes Arquiteturais2m 17s
Vamos explorar as decisões arquiteturais que iremos utilizar nesse cenário.
- Configurando ArgoCD17m 59s
Descubra como configurar o ArgoCD no modo Hub via terraform.
- Configurando Continuous Deployment
14 aulas (1h 13m )
- Visão Geral3m 56s
Descubra como criar uma infraestrutura para Continuous Deployment utilizando um monorepo como fonte da verdade. Explore a implementação de um ambiente multi-cluster com ArgoCD.
- Estrutura Projeto1m 59s
Explore a estruturação de um monorepo preparando ele para integrar com o ArgoCD
- Karpenter5m 42s
Nesta aula, exploramos a configuração inicial do Karpenter utilizando Helm Charts. Discutimos a importância de ajustes específicos para ambientes de produção e a integração com serviços AWS.
- Configuracao Inicial Argocd6m 40s
Nesta aula iremos fazer o setup inicial do ArgoCD para depois automatizar via código.
- ArgoCD - Cluster Addon Applicationset10m 54s
Nesta aula, exploramos a criação de um ApplicationSet para gerenciar o deploy de addons em clusters usando o ArgoCD. Aprendemos a estruturar pastas, configurar templates e geradores, e a lidar com desafios de sincronização e parametrização.
- Metrics Server2m 54s
Nesta aula vamos implementar o Metrics Server através do ArgoCD.
- ArgoCD Cluster Configuration Applicationset5m 24s
Nesta aula, exploramos a criação de uma aplicação no ArgoCD para gerenciar configurações cluster-wide, destacando a diferença entre recursos provenientes de Helm Charts e manifestos do Kubernetes.
- Karpenter Node Pools9m 16s
Nesta aula, exploramos a configuração final do Karpenter através do ArgoCD.
- AWS Load Balancer Controller5m 53s
Nesta aula, exploramos a configuração do AWS Load Balancer Controller através de ajustes no Terraform e integração com o Argo CD.
- External DNS3m 31s
Descubra como integrar e configurar o External DNS com a AWS, explorando a sinergia com o AWS Load Balancer Controller e o Route 53.
- Cert-Manager2m 26s
Descubra como configurar o Cert Manager com integração do Let's Encrypt. Explore a criação dos arquivos e a sincronização com o ArgoCD.
- Ingress NGINX4m 42s
Descubra como configurar o Ingress NGINX e integrar com o cert-manager, explorando técnicas de compressão e integração com AWS. Aprenda a otimizar o tráfego e garantir segurança com HTTPS, enquanto automatiza tudo com ArgoCD.
- Kube Prometheus Stack4m 20s
Descubra como configurar uma stack de monitoramento através de Prometheus e Grafana integrado com o ArgoCD.
- ArgoCD Setup - Bootstrap Deadlock6m 21s
Nesta aula, exploramos a fascinante capacidade do ArgoCD de se autoconfigurar, criando uma aplicação que automatiza sua própria configuração.
- Automatizando Setup CD
9 aulas (44m 3s)
- Repositorio Github7m 17s
Nessa aula iremos automatizar a criação do repositório do GitHub para nosso projeto de Continuous Deployment
- Repositorio Continuous Deployment2m 34s
Nesta aula, mergulhamos na configuração de manifestos no ArgoCD, explorando a criação de arquivos no repositório de Continuous Deployment.
- ApplicationSet1m 51s
Descubra como automatizar a criação de ApplicationSets. Aprenda a parametrizar templates e a utilizar variáveis para otimizar o Continuous Deployment.
- Projects4m 26s
Nesta aula, exploramos a configuração de Projects do ArgoCD utilizando clusters lógicos e físicos.
- Clusters3m 23s
Nesta aula, exploramos a configuração de clusters no Argo CD utilizando o Terraform. Aprendemos a criar arquivos de configuração específicos para clusters que hospedam o ArgoCD e para clusters externos, garantindo a interação adequada entre eles.
- Karpenter Addon10m 20s
Nesta aula fazemos a automação para configurar o Karpenter no ArgoCD integrado com o Terraform.
- Configurando Addons4m 9s
Descubra como replicar um modelo para criar addons em um projeto de ArgoCD.
- Cluster Configuration5m 43s
Nesta aula iremos fazer a integração do configurações cluster-wide que estão diretamente relacionados ao projeto de terraform.
- ArgoCD - automatizando setup4m 20s
Automatizamos a configuração do ArgoCD através do Terraform, eliminando processos adicionais após a criação do cluster EKS.
- Implementando GitHub com GitLab Workflow
13 aulas (1h 23m )
- Visão Geral5m 32s
Vamos explorar o motivo da necessidade de automatizar o processo de configuração de um repositório no GitHub.
- Criar Repositorio1m 25s
Nessa aula iremos começar a configuração de um novo repositório para implementar o processo de Gitlob Workflow
- Terraform - Repositorio9m 53s
Nessa aula iremos automatizar os passos feito na aula anterior através do terraform.
- Configurando RuleSets4m 9s
Descubra como criar regras para gerenciar branches e garantir a integridade da aplicação em diferentes ambientes. Aprenda a configurar RuleSets que controlam deploys e protegem seu Workflow.
- Terraform - RuleSet8m 12s
Nessa aula iremos automatizar os processo de configuração de RuleSets feito na aula anterior através do terraform.
- Configurando Semantic Release8m 40s
Aprenda a implementar ações no GitHub para garantir a consistência dos commits e pull requests através do Semantic Commits para conseguir forçar o uso do SemVer.
- Terraform - Semantic Release5m 58s
Nesta aula vamos configurar o Semantic Release de maneira automatizada, para que todos novos repositórios sigam o padrão para implementar um processo de tags utilizando o SemVer.
- Configurando Workflow Actions6m 6s
Nesta aula vamos implementar algumas Actions que serão acionadas no Pull Request e outra após aceitar o PR.
- Terraform - Template das Actions19m 41s
Nesta aula, exploramos a automação de processos de deploy e validação de pull requests utilizando templates no Terraform. Aprendemos a configurar ambientes e a criar arquivos específicos para diferentes stacks, como .NET e Node, garantindo um fluxo de trabalho eficiente e padronizado.
- Dockerfile arm644m 19s
Descubra como otimizar custos e desempenho ao utilizar máquinas ARM, mas para isso seu time de desenvolvimento preciso criar imagens docker com compatibilidade com essa arquitetura. Aprenda a configurar Dockerfiles e imagens para suportar ARM.
- Configurando Status Check2m 34s
Descubra como garantir a qualidade e integridade do seu código ao obrigar regras de Status Check para pull requests.
- Terraform - Status Check4m 47s
Nesta aula iremos explorar como configurar o uso de Status Check via terraform
- Padronizando Dockerfile1m 50s
Descubra porque padronizar certas caracteristicas do repositório é um beneficio para pipelines de CI/CD.
- ArgoCD - Implementando Continuous Deployment
11 aulas (44m 32s)
- Visao Geral1m 43s
Nessa aula vamos explorar os motivos da padronização com Helm Charts e ApplicationSets no ArgoCD.
- Eshop Helm Chart3m 7s
Nesta aula, exploramos a criação de um Helm Chart que servirá de base para nossas aplicações do eShop OnContainers
- Application Appset4m 48s
Descubra como configurar o ArgoCD e um monorepo para gerenciar aplicações de forma eficiente. A aula explora a criação de templates e a utilização de Helm charts, além de abordar a personalização de variáveis por ambiente
- Terraform - Applications Appset7m 38s
Nesta aula, exploramos a automação de configurações com Terraform, integrando o repositório de Continuous Deployment para gerenciar múltiplos ambientes.
- Terraform - Continuous Deployment Config5m 20s
Descubra como automatizar a criação de arquivos para implementar o Continuous Deployment
- ArgoCD Image Updater - Visao Geral1m 55s
Descubra como o plugin Image Updater do ArgoCD é o elemnto principal para atingir o Continuous Deployment
- Criando Aplicacao3m 12s
Nesta aula, embarcamos na criação de uma aplicação para explorar todos os componentes que criamos até agora
- Configurando Monorepo4m 24s
Descubra como configurar configurar o monorepo para habilitar as aplicações no ambiente.
- Instalando ArgoCD Image Updater2m 46s
Descubra como configurar o ArgoCD Image Updater em um ambiente de produção.
- Configurando Image Updater6m 37s
Nesta aula vamos configurar os ApplicationSet para integrar com o Image Updater
- Terraform - Setup Image Updater3m 2s
Agora que já configuramos nosso ambiente habilitando o Continuous Deployment, iremos automatizar esse processo como um template para outros ambientes.
- Outras Dependências
5 aulas (19m 2s)
- RDS3m 46s
Nessa aula iremos criar um módulo que permita adicionar um banco RDS para uma aplicação e ainda poder dizer quantas replicas ela deve ter.
- Amazon Mq2m 39s
Nesta aula utilizamos o RabbitMQ com ActiveMQ da AWS.
- Terraform Secrets3m 56s
Aprenda a criar Secrets no Kubernetes direto do terraform, evitando expor as credenciais de banco de dados ou outros recursos para um usuário humano.
- Github Secret4m 38s
Nesta aula, exploramos a integração de módulos Terraform com Continuous Deployment, destacando a importância de gerenciar segredos no GitHub. Aprendemos a criar e configurar tokens de acesso pessoal e a estruturar arquivos JSON para autenticação do registry do GitHub.
- Organization Secret4m 3s
Nessa aula iremos gerenciar a organization do GitHub via terraform
- Usuarios
4 aulas (13m 55s)
- Visão Geral1m 23s
Descubra como a gestão de acessos em equipes pode ser otimizada através de padrões de automação e como organizar num projeto de IaC.
- AWS IAM3m 41s
Descubra como gerenciar acessos na AWS utilizando o Terraform. Aprenda a criar usuários, definir permissões e configurar políticas de acesso, garantindo que cada membro da equipe tenha as credenciais adequadas.
- GitHub Teams5m 15s
Descubra como configurar usuários no GitHub via terraform, garantindo acesso controlado a repositórios e times.
- EKS3m 36s
Descubra como configurar usuários para acessar o EKS de forma eficiente, utilizando permissões específicas e ferramentas como Terraform e AWS CLI.
- Ambiente de Homologação - Spoke Cluster
7 aulas (20m 11s)
- Visão Geral1m 5s
Nesse módulo vamos começar a adicionar novos ambientes utilizando o Terraform e o ArgoCD em um modelo de Hub-Spoke.
- Cluster Hml2m 27s
Descubra como configurar o projeto para criar a infraestrutura do cluster de homologação.
- ArgoCD Spoke2m 10s
Descubra como o ArgoCD se integra de forma segura com clusters EKS na AWS, utilizando o conceito de least privilege. Aprenda a configurar roles e políticas de acesso entre contas, garantindo deploys eficientes e seguros sem a necessidade de permissões administrativas excessivas.
- Setup ArgoCD Spoke5m 15s
Nessa aula vamos por a mão na massa e configurar o ArgoCD no modo Spoke
- Continuous Deployment Hml3m 53s
A aula explora o processo de configuração de um cluster de homologação, abordando desde a adição de addons até a implementação de ferramentas de gerenciamento.
- Continuous Deployment Dev2m 6s
Descubra como configurar o ambiente de Dev compartilhando a infraestrutura de homologacao, garantindo a separação lógica e física dos ambientes.
- Outras Dependencias Hml3m 15s
Nessa aula iremos criar os bancos de Homologacão e desenvolvimento
- eShop
4 aulas (22m 38s)
- Mudanca Github Api1m 24s
Nessa aula precisamos mudar o projeto criado devido a uma mudança na API do GitHub
- Identity API8m 43s
Nessa aula vamos configurar a API Identity do eShop On Containers.
- Setup eShop On Containers8m 30s
Nessa aula iremos configurar todas as API's do eShop on Containers, desde a execução do terraform até a configuração do Continuous Deployment
- Finalizando eShop - Redis & Testes4m 1s
Nessa aula finalizamos o setup dos 3 ambientes: Prod, Hml e Dev. Finalizamos a configuração do Continuous Deployment e testamos o eShop em todos os ambientes.
- Conclusão
2 aulas (5m 7s)
- Limpando Recursos1m 20s
Evite gastos, não esqueça de remover todos os recursos.
- Palavras Finais3m 47s
Nossa despedida e finalização do curso
Premium
Obtenha acesso ilimitado a todos os cursos com nosso plano premium - Explore sem Limites!
Plano premium
Tenha acesso a esse e a todos os cursos da plataforma com o plano Premium