Orquestratação de Containers – Parte 2: O que escolher ? Kubernetes vs. Docker Swarm vs. Apache Mesos ?

Kubernetes
Escrito por

Thiago Viola

Publicado em

21 de outubro de 2017

Compartilhe

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:

   dockerswarm MESOS
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

  1. Ó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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *