Olá Leitores,
No post número 01 sobre Orquestração de containers abordamos as atuais e principais soluções de gerenciamento no mercado que são: Kubernetes | Docker Swarm |Apache Mesos, onde demonstramos as características e arquitetura básica de cada um.
Para este segundo post vamos abordar o comparativo entre cada uma delas e tendo como fundamento funcionalidades cada vez mais necessárias como por exemplo: failover, balanceamento de carga e, em geral, clusterização de serviços. Vamos a eles:
![]() |
![]() |
||
| Instalação do Cluster | Parcialmente complexo para configurar. Uso extensivo de arquivos YAML para definir todos os serviços no cluster. YAML é exclusivo para Kubernetes. | Instalação e configuração fácil. Todos os componentes são principalmente baseados no docker, e podem ser integrados dentro do “systemd”. | Geralmente fácil de instalar e configurar com pequenos clusters, mas consideravelmente mais complexo com configurações maiores |
| Deployment do Container | YAML como base para a implementação de todos os componentes (pods, serviços e controladores de replicação). | Completamente baseado em Docker e muito fácil de configurar. Completamente nativo do Docker. | Baseado em JSON. Todas as definições de aplicativos vão dentro de um arquivo JSON que é passado para a API RESOS. |
| Tamanho Mínimo (Cluster) | Um servidor para Master e um servidor para Node. Nas configurações de produção, os serviços de descoberta e os Serviços Mestres devem ser agrupados com pelo menos 3 servidores em cada camada, e tantos minions como sua infra-estrutura requerem. | Em ambientes práticos de produção, os serviços de descoberta e gerentes precisam estar em configurações altamente disponíveis com pelo menos dois servidores em cada camada. Vários trabalhadores também são necessários para distribuição e replicação de serviços. | Um Master e um Slave. Em ambientes de produção prática, pelo menos 3 master e vários slave conforme necessário. |
| Escalabilidade | Clusters de médio a grande porte. Muito adequado para aplicações complexas com muitos containers dentro dos ‘pods’. | Este é um ponto em desenvolvimento no Swarm. Considere o Swarm para configurações de pequena a média escala. | Clusters grandes a muito grandes. Melhor escolha se quiser combinar containers e aplicações normais no mesmo cluster. |
| Maturidade | Muito maduro. Descendente direto da plataforma interna do Google BORG. | Maduro, mas ainda está evoluindo. | Muito maduro, especialmente para clusters muito grandes contando com milhares de servidores. |
| Melhores características | Melhores recursos de agendamento PODS quando aplicativos complexos são necessários para serem implantados. | Fácil de usar, e mais nativo do Docker. | Escala nos milhares e recursos de restrições baseados em rack / host disponíveis para afinar onde implantar aplicativos. |
Obrigado e abraços,
Thiago Viola
Head of Watson and Cloud Digital Sales Brazil
SoftLayer Subject Matter Expert
E-mail: thiagoviola@yahoo.com.br
LinkedIn: br.linkedin.com/in/thiagoviola
Blog: https://thiagoviola.wordpress.com/
Twitter: @ThiViola
YouTube Channel: https://www.youtube.com/user/tviola87
Slide Share: http://www.slideshare.net/ThiagoViola


Respostas de 2
Ótimo artigo Thiago! Tenho sob minha responsabilidade uma infra com muitos containers mas somente com compose o que me da muito trabalho para administrar e fazer novos deploys, o artigo me deu um rumo acho que vou de Swarm pela facilidade.
Rodrigo, Obrigado por seu feedback. Conte comigo caso precisem de algo e boa sorte.