Containers e Orquestração

Containers são o padrão moderno para empacotar e executar microsserviços. Cada serviço roda isolado, com seu próprio ambiente, garantindo portabilidade, consistência e facilidade de implantação.

Representa a execução direta no host. Pode funcionar no início, mas limita isolamento, atualizações e escalabilidade.

Service Instance per Container Pattern

Prática fundamental em microsserviços.

Cada instância do serviço está isolada em um container, permitindo:

  • Deploy independente

  • Versões diferentes por serviço

  • Escalabilidade individual

  • Menor impacto entre serviços


VMs x Containers

Máquinas Virtuais (VMs)

  • Virtualizam hardware completo

  • Pesadas

  • Inicialização lenta

  • Menos densidade de workload

Containers

  • Virtualizam apenas o nível de processo

  • Leves

  • Início quase instantâneo

  • Alto aproveitamento do servidor

  • Ideais para microsserviços


Mostra a escalabilidade horizontal local: mais instâncias do mesmo serviço, no mesmo host:

Agora a escalabilidade é distribuída, permitindo:

  • Tolerância a falhas

  • Melhor balanceamento de carga

  • Maior capacidade total

Imagem da escalabilidade do microsserviços 2 em mais 2 em outro servidor ao invés de dentro de um mesmo servidor


Orquestrador gerenciando servidores

Um orquestrador (como Kubernetes, ECS ou Nomad) gerencia:

  • Agendamento de containers

  • Saúde dos serviços

  • Failover

  • Escalabilidade

  • Configurações e segredos

  • Atualizações sem downtime

É a camada que transforma containers em uma plataforma resiliente e escalável.

Containers e Orquestrador não são obrigatórios para os microsserviços

Last updated