Curso Containers Docker and Microservices

  • DevOps | CI | CD | Kubernetes | Web3

Curso Containers Docker and Microservices

20 horas
Visão Geral

Curso Containers Docker and Microservices. Este curso prático e abrangente foi desenvolvido para desenvolvedores, engenheiros DevOps, arquitetos de software e profissionais de TI que desejam dominar o universo dos Containers Docker e a arquitetura de Microsserviços. Em um cenário tecnológico em constante evolução, essas duas tecnologias são pilares para a construção de aplicações modernas, escaláveis e resilientes. Do ponto de vista técnico, você aprenderá a conteinerizar suas aplicações com Docker, transformando-as em unidades portáteis e isoladas. Em seguida, mergulhará nos princípios dos Microsserviços, entendendo como decompor aplicações monolíticas, gerenciar comunicação entre serviços e garantir resiliência. O curso cobrirá desde os fundamentos do Docker (imagens, contêineres, redes, volumes) até a implementação de padrões de microsserviços (descoberta de serviços, API Gateways, resiliência) e a orquestração básica de contêineres com Docker Compose. Teremos muitos exemplos práticos, hands-on e dicas de boas práticas para que você construa e gerencie suas próprias soluções conteinerizadas.

Curso Containers Docker and Microservices, a adoção de Containers Docker e Microsserviços é um diferencial competitivo crucial para empresas que buscam agilidade no desenvolvimento, escalabilidade, alta disponibilidade e redução de custos operacionais. Essas tecnologias permitem entregas mais rápidas, menor tempo de inatividade e maior flexibilidade para inovar. Profissionais que dominam essa combinação são altamente valorizados e procurados no mercado de trabalho, pois são capazes de construir e operar a infraestrutura que suporta os negócios digitais modernos. Aprender Docker e Microsserviços significa aumentar sua empregabilidade, potencializar sua carreira e se posicionar na vanguarda da transformação digital

Objetivo

Ao final do Curso Containers Docker e Microsserviços Da Conteinerização à Orquestração", você será capaz de:

  • Compreender os fundamentos do Docker (imagens, contêineres, volumes, redes).
  • Conteinerizar suas próprias aplicações (de diferentes linguagens/frameworks) com Docker.
  • Entender os princípios e padrões da arquitetura de Microsserviços.
  • Projetar e desenvolver microsserviços básicos com comunicação entre eles.
  • Orquestrar múltiplos contêineres e serviços usando Docker Compose.
  • Aplicar boas práticas de segurança e performance em contêineres.
  • Diagnosticar e resolver problemas comuns em ambientes Docker e microsserviços.
  • Preparar o terreno para orquestradores mais avançados como Kubernetes.
Publico Alvo
  • Desenvolvedores (qualquer linguagem): Que buscam conteinerizar suas aplicações e entender arquitetura de microsserviços.
  • Engenheiros DevOps e SysAdmins: Para gerenciar e implantar aplicações em ambientes conteinerizados.
  • Arquitetos de Software: Que projetam sistemas distribuídos modernos.
  • Profissionais de TI: Que desejam se atualizar e trabalhar com as tecnologias mais relevantes do mercado.
Pre-Requisitos
  • Noções básicas de linha de comando (terminal): Familiaridade com comandos básicos de sistema operacional (Linux/macOS ou Windows Powershell/WSL).
  • Conhecimento básico de alguma linguagem de programação: Capacidade de entender e seguir exemplos de código (Ex: Python, Node.js, Java).
  • Conceitos básicos de HTTP e APIs REST: Métodos, URLs.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Módulo 1: Fundamentos do Docker: O Que São Contêineres? (5 horas)

  • 1.1. O Problema da Compatibilidade e o Surgimento dos Contêineres:
    • VMs vs. Contêineres: Diferenças, vantagens e desvantagens.
    • O papel do Docker no ecossistema de contêineres.
  • 1.2. Instalação e Primeiros Comandos Docker:
    • Instalando Docker Desktop no seu sistema operacional.
    • docker --version, docker run hello-world, docker ps.
    • Hands-on: Instalar Docker e executar seus primeiros comandos.
  • 1.3. Docker Images: A Base dos Contêineres:
    • O que são imagens, camadas e como funcionam.
    • Docker Hub: O repositório central de imagens.
    • docker pull, docker images, docker rmi.
    • Hands-on: Puxar imagens do Docker Hub e inspecioná-las.
  • 1.4. Docker Containers: Instâncias em Ação:
    • Ciclo de vida de um contêiner: criar, iniciar, parar, remover.
    • docker run em detalhes: -d, -p, --name, --rm.
    • Hands-on: Rodar contêineres em foreground e background, mapear portas.
  • 1.5. Dockerfile: Construindo Suas Próprias Imagens:
    • Instruções essenciais: FROM, RUN, COPY, CMD, ENTRYPOINT, EXPOSE.
    • Melhores práticas para Dockerfiles: otimização de camadas, .dockerignore.
    • Hands-on: Criar um Dockerfile para uma aplicação simples (ex: "Hello World" em Python/Node.js).
  • Prática: Conteinerizar uma aplicação básica, construir uma imagem Docker personalizada e executá-la.

Módulo 2: Gerenciamento de Dados e Redes em Docker (5 horas)

  • 2.1. Docker Volumes: Persistência de Dados:
    • O problema da efemeridade dos contêineres.
    • Tipos de Volumes: bind mounts, named volumes, tmpfs mounts.
    • Hands-on: Usar volumes para persistir dados de um contêiner (ex: um banco de dados).
  • 2.2. Docker Networking: Conectando Contêineres:
    • Modos de rede: bridge (default), host, none.
    • Redes definidas pelo usuário: criando e gerenciando redes personalizadas.
    • DNS interno do Docker para comunicação entre contêineres.
    • Hands-on: Criar uma rede customizada e conectar dois contêineres nela para que se comuniquem.
  • 2.3. Exposição de Portas e Publicação:
    • Mapeamento de portas (-p ou --publish).
    • Entendendo a diferença entre portas internas do contêiner e portas do host.
  • 2.4. Docker Compose: Orquestração Local de Múltiplos Contêineres:
    • O que é Docker Compose e por que usá-lo.
    • Estrutura do arquivo docker-compose.yml.
    • Comandos: docker-compose up, docker-compose down, docker-compose ps.
    • Hands-on: Montar um docker-compose.yml para uma aplicação web com banco de dados.
  • Prática: Criar uma aplicação multi-contêiner (ex: web app + database) usando Docker Compose, com persistência de dados e comunicação entre contêineres.

Módulo 3: Introdução à Arquitetura de Microsserviços (5 horas)

  • 3.1. Monolitos vs. Microsserviços: Uma Análise Comparativa:
    • Vantagens e Desvantagens de cada arquitetura.
    • Quando e por que adotar microsserviços.
    • Desafios da transição de um monolito para microsserviços.
  • 3.2. Princípios de Design de Microsserviços:
    • Single Responsibility Principle (SRP) no contexto de serviços.
    • Autonomia e Isolamento.
    • Comunicação (Síncrona - REST/gRPC; Assíncrona - Mensageria).
  • 3.3. Padrões de Comunicação entre Microsserviços:
    • Comunicação Síncrona (APIs RESTful):
      • Implementação de APIs REST.
      • Chamadas entre serviços (Client-side Discovery).
    • Comunicação Assíncrona (Filas de Mensagens):
      • Conceito de Message Brokers (Kafka, RabbitMQ - conceitual).
      • Publicar/Subscrever.
    • Hands-on: Criar dois microsserviços simples (ex: um de Produtos, outro de Pedidos) que se comunicam via REST.
  • 3.4. Desafios Comuns em Microsserviços e Soluções:
    • Gerenciamento de Dados Distribuídos.
    • Transações Distribuídas (Saga Pattern - conceitual).
    • Confiabilidade e Tolerância a Falhas.
  • Prática: Desenvolver dois microsserviços simples que interagem entre si via API REST.

Módulo 4: Microsserviços Conteinerizados e Orquestração Básica (5 horas)

  • 4.1. Conteinerizando Microsserviços:
    • Estratégias de Dockerfile para múltiplos serviços.
    • Otimizando o tamanho das imagens para produção.
    • Hands-on: Conteinerizar os dois microsserviços desenvolvidos no Módulo 3.
  • 4.2. Orquestração Local de Microsserviços com Docker Compose:
    • Configurando serviços no docker-compose.yml para microsserviços.
    • Definindo dependências e redes para a comunicação entre serviços.
    • Hands-on: Usar Docker Compose para orquestrar os microsserviços (ex: um serviço de Produtos e um serviço de Pedidos, ambos conteinerizados).
  • 4.3. Gerenciamento de Configuração para Microsserviços:
    • Variáveis de ambiente, volumes de configuração.
    • Externalizando configurações.
    • Hands-on: Passar configurações (ex: URL do serviço dependente, credenciais de DB) para os microsserviços via variáveis de ambiente/volumes.
  • 4.4. Monitoramento Básico e Logging:
    • docker logs para inspecionar logs de contêineres.
    • Estratégias básicas de logging em microsserviços (STDOUT).
    • Hands-on: Coletar e analisar logs dos microsserviços conteinerizados.
  • 4.5. Conceitos de Gateway de API e Descoberta de Serviço (Manual):
    • Por que ter um API Gateway (segurança, roteamento, rate limiting - conceitual).
    • Descoberta de Serviço manual vs. automática.
  • Prática: Orquestrar um sistema de microsserviços completo com Docker Compose, configurando comunicação e persistência.

TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h