Curso Docker e Kubernetes para Microsservicos

  • DevOps | CI | CD | Kubernetes | Web3

Curso Docker e Kubernetes para Microsservicos

32 horas Curso Pratico
Visão Geral

O curso Docker e Kubernetes para Microsserviços apresenta os principais conceitos, ferramentas e práticas para desenvolver, empacotar, executar, distribuir e gerenciar aplicações baseadas em microsserviços utilizando containers Docker e Kubernetes.

Os participantes aprenderão desde a criação de imagens e containers até a implantação de aplicações distribuídas em um cluster Kubernetes. O treinamento aborda Dockerfile, imagens, volumes, redes, Docker Compose, registries, Kubernetes Pods, Deployments, Services, ConfigMaps, Secrets, Ingress, Health Checks, Scaling, Rolling Updates e mecanismos de resiliência.

O curso também apresenta como estruturar uma aplicação de microsserviços para ambientes containerizados, incluindo comunicação entre serviços, configuração externa, descoberta de serviços, persistência, observabilidade e estratégias de deployment.

A abordagem é orientada à prática, utilizando laboratórios para construir e implantar uma aplicação composta por múltiplos microsserviços.

Objetivo

Após realizar este curso Docker e Kubernetes para Microsserviços, você será capaz de:

  • Compreender os fundamentos de containers.
  • Diferenciar containers e máquinas virtuais.
  • Criar imagens Docker.
  • Criar e executar containers.
  • Desenvolver Dockerfiles eficientes.
  • Trabalhar com volumes e redes Docker.
  • Utilizar Docker Compose.
  • Publicar e gerenciar imagens em registries.
  • Containerizar aplicações de microsserviços.
  • Compreender a arquitetura do Kubernetes.
  • Criar e gerenciar Pods.
  • Criar Deployments e ReplicaSets.
  • Expor microsserviços utilizando Services.
  • Utilizar ConfigMaps e Secrets.
  • Configurar Ingress.
  • Implementar Health Checks.
  • Realizar scaling horizontal.
  • Executar Rolling Updates e Rollbacks.
  • Configurar recursos de CPU e memória.
  • Implementar mecanismos básicos de resiliência.
  • Trabalhar com comunicação entre microsserviços.
  • Implantar uma aplicação completa de microsserviços no Kubernetes.
  • Monitorar e diagnosticar aplicações containerizadas.
Publico Alvo
  • Desenvolvedores de Software
  • Engenheiros de Software
  • Arquitetos de Software
  • Arquitetos de Soluções
  • Desenvolvedores Backend
  • Desenvolvedores Full Stack
  • Engenheiros DevOps
  • Engenheiros Cloud
  • Engenheiros de Plataforma
  • Administradores de Sistemas
  • Profissionais de Kubernetes
  • Profissionais de Microsserviços
  • Tech Leads
  • Líderes Técnicos
  • Profissionais envolvidos em modernização de aplicações
Pre-Requisitos
  • Conhecimentos básicos de Linux
  • Conhecimentos básicos de redes
  • Conhecimentos de desenvolvimento de software
  • Conhecimentos básicos de APIs REST
  • Familiaridade com Git
  • Conhecimentos básicos de arquitetura de microsserviços são recomendados
  • Experiência com linha de comando será um diferencial
Materiais
Inglês/Português + Exercícios + Lab Pratico
Conteúdo Programatico

Módulo 1 – Microsserviços e Containers

  1. Fundamentos de microsserviços
  2. Monólito versus microsserviços
  3. Características de uma arquitetura de microsserviços
  4. Serviços independentes
  5. Comunicação entre serviços
  6. APIs
  7. Desafios de aplicações distribuídas
  8. Por que utilizar containers
  9. Containers versus máquinas virtuais
  10. Container Runtime
  11. Imagens e containers
  12. Imutabilidade
  13. Infrastructure as Code
  14. Containerização de aplicações

Módulo 2 – Fundamentos do Docker

  1. Arquitetura do Docker
  2. Docker Engine
  3. Docker CLI
  4. Docker Daemon
  5. Docker Client
  6. Images
  7. Containers
  8. Registries
  9. Docker Hub e registries privados
  10. Ciclo de vida de containers
  11. Execução de containers
  12. Logs
  13. Inspeção de containers
  14. Gerenciamento de processos
  15. Variáveis de ambiente
  16. Port Mapping

Laboratório

  • Executar um container
  • Criar um container
  • Inspecionar um container
  • Consultar logs
  • Executar comandos dentro do container
  • Parar e remover containers

Módulo 3 – Dockerfile e Construção de Imagens

  1. Estrutura do Dockerfile
  2. FROM
  3. RUN
  4. COPY
  5. ADD
  6. WORKDIR
  7. ENV
  8. ARG
  9. EXPOSE
  10. CMD
  11. ENTRYPOINT
  12. USER
  13. HEALTHCHECK
  14. Build Context
  15. Docker Build
  16. Image Layers
  17. Cache
  18. Tags
  19. Versionamento de imagens
  20. Multi-stage Builds
  21. Otimização de imagens
  22. Segurança de imagens

Laboratório

  • Criar Dockerfile
  • Construir imagem
  • Executar aplicação containerizada
  • Criar imagem otimizada
  • Utilizar Multi-stage Build

Módulo 4 – Redes, Volumes e Persistência

Docker Networking

  • Bridge Network
  • Host Network
  • Container Network
  • DNS interno
  • Comunicação entre containers
  • Port Mapping
  • Service Discovery

Persistência

  • Container filesystem
  • Volumes
  • Bind Mounts
  • Persistência de dados
  • Backup e recuperação

Laboratório

  • Criar rede Docker
  • Conectar múltiplos containers
  • Criar volumes
  • Persistir dados de uma aplicação

Módulo 5 – Docker Compose e Microsserviços

  • Conceito de Docker Compose
  • Compose YAML
  • Services
  • Networks
  • Volumes
  • Environment Variables
  • Dependencies
  • Health Checks
  • Profiles
  • Escalabilidade local

Projeto

Criar uma aplicação composta por:

Frontend → API → Microsserviço de Pedidos → Banco de Dados

Laboratório

  • Criar compose.yaml
  • Subir múltiplos microsserviços
  • Configurar redes
  • Configurar volumes
  • Configurar variáveis de ambiente
  • Testar comunicação entre serviços

Módulo 6 – Container Registry e Gestão de Imagens

  • Container Registry
  • Push
  • Pull
  • Tags
  • Versionamento
  • Imagens privadas
  • Autenticação
  • Image Lifecycle
  • Image Security
  • Vulnerability Scanning
  • Boas práticas de distribuição de imagens

Laboratório

  • Criar tag
  • Fazer push da imagem
  • Fazer pull
  • Atualizar versão
  • Implantar imagem em outro ambiente

Kubernetes

Módulo 7 – Fundamentos do Kubernetes

  1. O que é Kubernetes
  2. Problemas solucionados pelo Kubernetes
  3. Arquitetura Kubernetes
  4. Control Plane
  5. Worker Nodes
  6. API Server
  7. Scheduler
  8. Controller Manager
  9. etcd
  10. Kubelet
  11. Container Runtime
  12. kubectl
  13. Declarative Configuration
  14. Kubernetes Objects
  15. YAML

Módulo 8 – Pods, Deployments e ReplicaSets

Pods

  1. Conceito de Pod
  2. Containers dentro de Pods
  3. Pod Lifecycle
  4. Labels
  5. Annotations

Deployments

  1. Deployment
  2. ReplicaSet
  3. Replicas
  4. Desired State
  5. Reconciliation
  6. Rolling Update
  7. Rollback

Laboratório

  1. Criar Pod
  2. Criar Deployment
  3. Escalar aplicação
  4. Atualizar imagem
  5. Executar Rollback
  6. Consultar logs
  7. Inspecionar recursos

Módulo 9 – Services e Service Discovery

  • Problema de comunicação entre Pods
  • Kubernetes Service
  • ClusterIP
  • NodePort
  • LoadBalancer
  • DNS
  • Service Discovery
  • Labels e Selectors
  • Comunicação entre microsserviços

Laboratório

Criar:

Frontend → API → Backend → Database

utilizando Kubernetes Services para comunicação entre os componentes.

Módulo 10 – ConfigMaps, Secrets e Configuração

  1. Configuração externa
  2. ConfigMap
  3. Secrets
  4. Environment Variables
  5. Volumes de configuração
  6. Separação entre código e configuração
  7. Gestão de credenciais
  8. Boas práticas de segurança

Laboratório

  • Configurar aplicação utilizando ConfigMap
  • Utilizar Secrets
  • Alterar configuração sem reconstruir a imagem

Módulo 11 – Ingress, Health Checks e Scaling

Ingress

  1. Conceito de Ingress
  2. Ingress Controller
  3. Routing
  4. Host-based Routing
  5. Path-based Routing
  6. TLS

Health Checks

  1. Liveness Probe
  2. Readiness Probe
  3. Startup Probe

Scaling

  1. Horizontal Pod Autoscaler
  2. CPU
  3. Memória
  4. Replicas
  5. Scaling manual

Laboratório

  1. Configurar Ingress
  2. Criar Health Checks
  3. Configurar réplicas
  4. Executar scaling
  5. Simular falha de um Pod

Módulo 12 – Microsserviços em Kubernetes: Projeto Final

Projeto completo de implantação de uma aplicação baseada em microsserviços.

Arquitetura proposta

Client

Ingress

API Gateway

Microsserviços

  • Customer Service
  • Product Service
  • Order Service
  • Payment Service

Databases

Cada componente será containerizado e implantado no Kubernetes.

Atividades

  • Criar Dockerfiles
  • Construir imagens
  • Configurar Docker Compose
  • Criar manifests Kubernetes
  • Criar Namespaces
  • Criar Deployments
  • Criar Services
  • Configurar ConfigMaps
  • Configurar Secrets
  • Configurar Ingress
  • Configurar Health Checks
  • Configurar réplicas
  • Realizar Scaling
  • Executar Rolling Update
  • Executar Rollback
  • Testar comunicação entre microsserviços
  • Simular falha de serviço
  • Analisar logs
  • Diagnosticar problemas
  • Validar disponibilidade da aplicação
TENHO INTERESSE

Cursos Relacionados

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Ansible Overview of Ansible architecture

16h

Curso Data Engineering para Plataformas de IA

24 horas

Curso Databricks Fundamentals - Nivel Basico

24 horas

Curso Databricks Advanced Engineering AI ML and Data Products Nivel Intermediario Avancado

32 horas

Google Professional DevOps Engineer Advanced Monitoring & Incident Response

32 horas Curso Pratico

Curso Kubernetes for Full-Stack Developer

32 horas Curso Pratico