Programa do Curso
Módulo 1: Design de Microsserviços
• Uma boa fronteira para o Microsserviço
• Utilizando Design Orientado ao Domínio (DDD)
• Alternativas às fronteiras do domínio de negócios (Volatilidade, Dados, Tecnologia, Organizacional)
• Dividindo o Monolito
• Decomposição prematura
• Decomposição por Camada
• Utilizando Padrões de Decomposição (Strangler, Parallel Run, Feature Toggle)
• Preocupações com a decomposição de dados (Desempenho, Integridade, Transações)
Módulo 2: Otimização do Docker e do Runtime
• Escolhendo a imagem base adequada
• Minimizando o número de camadas
• Utilizando builds multiestágio
• Otimização da imagem (ordenando argumentos multilineares, etc.)
• Aproveitando o cache de build
• Definindo versões específicas das imagens
• Ajuste fino da alocação de recursos
• Práticas seguras para contêineres
• Configuração do runtime para desempenho
Módulo 3: Kubernetes e Estratégias de Liberação
Visão Geral dos Deployments no Kubernetes
• Criando e executando um Deployment inicial
• Opções de Deployment no Kubernetes
Executando Deployments com Atualização Contínua (Rolling Update)
• Compreendendo o Rolling Update
• Criando e executando um Rolling Update
• Revertendo um Deployment
Executando Deployments Canário
• Compreendendo os Deployments Canário
• Criando e executando um Deployment Canário
Executando Deployments Azul-Verde
• Compreendendo os Deployments Azul-Verde
• Criando e executando um Deployment Azul-Verde
Executando Jobs e CronJobs
• Criando um Job e um CronJob
Realizando Tarefas de Monitoramento e Diagnóstico
• Técnicas de diagnóstico com o kubectl
Módulo 4: Automação e Eficiência Operacional
Utilizando Python para Automatizar Tarefas Comuns no Kubernetes
• Utilizando Python para realizar operações administrativas no Kubernetes
• Utilizando Python para definir objetos de Configuração
• Utilizando Python para criar objetos de Deployment
• Observando Eventos do Kubernetes usando Python
• Escalando um Deployment utilizando Python
Compreendendo os Desafios da Automação de Deployments
• Configuração Declarativa com o Kubernetes
• Gerenciando a Integridade da Configuração
Utilizando a Abordagem GitOps para Automatizar Deployments
• Princípios do GitOps
• Introduzindo o Flux
• Instalando o Flux em um Cluster Kubernetes
Configurando o Flux para Deployments Automatizados
• Utilizando Notificações
• Estrutura do Repositório de Origem
Lidando com Atualizações de Aplicações com Automação de Imagem
• Atualizando um Deployment de Aplicação com o Flux
• Verificando Repositórios de Imagens de Contêiner em busca de Tags
• Definindo Políticas para seleção da imagem mais recente
• Configurando o Flux para realizar atualizações automáticas de imagens
Módulo 5: Observabilidade e Clareza sobre a Causa Raiz
Capacidades de Logging e Rastreamento no Kubernetes
• Por que Logging e Rastreamento são importantes
• Acessando os Logs do Kubernetes
• Logs de Pods e Contêineres
• Logs do Plano de Controle (Control Plane)
• Uso de Recursos dos Nós e Pods
Coletando e Analisando os Logs
• Agregação de Logs
• Visualização de Logs
Rastreamento Distribuído no Kubernetes
• O que é rastreamento distribuído
• Utilizando o OpenTelemetry
• Ferramentas de Rastreamento Distribuído
• Instrumentando uma Aplicação
• Utilizando o Rastreamento para Encontrar Problemas de Desempenho
Monitoramento com Prometheus e Grafana
• Conceitos de Observabilidade
• Ferramentas de Monitoramento
• Utilizando a Instrumentação do Prometheus
Casos de Uso Avançados para Logging
• Processando Logs
• Filtrando e Enriquecendo os Logs
• Event Sourcing
Módulo 6: Simulação de Crise no Cluster e Resposta a Incidentes
• Compreendendo os diferentes tipos de falhas em um ambiente de cluster
• Simulando Falhas de Nós
• Cenário de Evicção de Pods e Exaustão de Recursos
• Problemas de Rede
• Falhas de DNS para tratamento de timeouts de aplicação
• Simulando uma interrupção do API Server
• Simulando alto tráfego para estabilidade do sistema
• Falha de Armazenamento
• Erros de Configuração
• Compreendendo os procedimentos de reporte de incidentes
Módulo 7: IA para Apoiar o Diagnóstico de Problemas
• Benefícios da Inteligência Artificial Generativa para o Kubernetes
• Arquitetura da CLI do K8sGPT
• Instalando a CLI do K8sGPT
• Comandos e Uso do K8sGPT
• Utilizando Analisadores do K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer, etc.)
• Analisando o Cluster utilizando o K8sGPT
• Analisando Problemas em Tempo Real usando o K8sGPT
• Operador in-cluster para o K8sGPT
Requisitos
- Conhecimento básico da linha de comando do Linux
- Experiência com desenvolvimento de aplicações ou administração de sistemas
- Familiaridade com contêineres (conceitos do Docker)
- Compreensão básica dos conceitos do Kubernetes (pods, deployments, services)
- Conhecimento geral sobre arquitetura de software (por exemplo, APIs, serviços)
Público-alvo:
- Engenheiros de DevOps
- Engenheiros de Confiabilidade de Site (SREs)
- Desenvolvedores Backend / de Software que trabalham com microsserviços
- Engenheiros de Cloud e Engenheiros de Plataforma
-
Administradores de Sistemas migrando para ambientes Kubernetes
Testemunhos de Clientes (2)
Craig esteve extremamente envolvido no treinamento, sempre garantindo que estivéssemos atentos, adaptando os exemplos às nossas atividades do dia a dia e sempre fornecendo uma resposta quando solicitado, mesmo que as informações não tivessem sido incluídas na apresentação.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Curso - DevOps Foundation®
Máquina Traduzida
Alto nível de comprometimento e conhecimento do instrutor
Jacek - Softsystem
Curso - DevOps Engineering Foundation (DOEF)®
Máquina Traduzida