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 Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Ansible Overview of Ansible architecture

16h

Curso Apache NiFi Advanced DataFlow Engineering

24 horas

Curso Real-Time Data Pipelines

24 horas