# Por que Docker Swarm e não Kubernetes?

A escolha do Docker Swarm foi baseada em critérios técnicos, operacionais e de complexidade.

### Comparação conceitual

<table border="1" id="bkmrk-caracter%C3%ADstica-docke" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><thead><tr><td>Característica</td><td>Docker Swarm</td><td>Kubernetes</td></tr></thead><tbody><tr><td>Complexidade</td><td>Baixa</td><td>Alta</td></tr><tr><td>Facilidade de operação</td><td>Alta</td><td>Média/Baixa</td></tr><tr><td>Curva de aprendizado</td><td>Baixa</td><td>Alta</td></tr><tr><td>Overhead de infraestrutura</td><td>Baixo</td><td>Alto</td></tr><tr><td>Ideal para clusters pequenos/médios</td><td>Sim</td><td>Nem sempre</td></tr><tr><td>Tempo de deploy</td><td>Muito rápido</td><td>Mais complexo</td></tr><tr><td>Integração com Docker</td><td>Nativa</td><td>Indireta</td></tr><tr><td>Manutenção</td><td>Simples</td><td>Complexa</td></tr></tbody></table>

### Filosofia adotada

> Escolhemos a ferramenta mais simples que resolve o problema de forma confiável.

O Docker Swarm oferece:

- Orquestração
- Service discovery
- Load balancing interno
- Rolling update
- Secrets
- Configs
- Overlay network
- Deploy declarativo
- Alta disponibilidade

Para o tamanho e necessidades do ambiente, o Swarm atende perfeitamente com muito menos complexidade operacional.

### Princípio adotado

> Preferimos um sistema que entendemos completamente do que um sistema extremamente complexo que apenas sabemos operar.