HeroCtl vs
Kamal
HeroCtl é um orquestrador de contêineres self-hosted distribuído como binário único, com plano de controle replicado entre 3+ nós, roteador integrado e certificados Let's Encrypt automáticos. Kamal é deployer single-server first.
Brilhante pra um VPS rodando Rails. A parede chega no segundo cliente sério.
Kamal foi a resposta do 37signals à frustração legítima com complexidade Kubernetes. Deploy via SSH + Docker, sem control plane, sem cluster, sem agente. Funciona perfeitamente pra 75% dos casos: 1 VPS, app monolítico, downtime de 30s aceitável durante deploy. A premissa "you don't need orchestration" cai exatamente quando: cliente exige SLA, segundo servidor entra na conta, ou rolling deploy precisa ser realmente seguro. HeroCtl é "Kamal com cluster real" — mesma simplicidade conceitual, mas plano de controle replicado em 3+ servidores e failover automático.
Onde Kamal brilha
- Filosofia minimalista — sem control plane, sem cluster
- Deploy via SSH + Docker, fácil de entender
- DHH e 37signals dão credibilidade ao posicionamento
- Excelente pra 1 VPS Rails/Node
- Sem dependência operacional adicional
Onde fica devendo
- Sem orquestração real — multi-server é deploy paralelo a hosts independentes
- Sem alta disponibilidade — VPS cai = downtime total
- Sem health check antes de promover novo container
- Sem rolling deploy seguro com auto-revert
- Sem criptografia entre serviços
- Sem roteador dinâmico (kamal-proxy é Traefik wrap simples)
Lado a lado, sem floreio
| Critério | Kamal | HeroCtl |
|---|---|---|
| Filosofia | Sem orquestração | Cluster com plano de controle |
| Plano de controle | ✗ não existe | ✓ replicado |
| Alta disponibilidade real | ✗ | ✓ |
| Eleição automática | ✗ | ✓ em ~7s |
| Painel web | ✗ | ✓ embutido |
| Roteador integrado | kamal-proxy | ✓ embutido |
| Health check antes promover | Limitado | ✓ |
| Auto-revert em falha | ✗ | ✓ |
| Criptografia entre serviços | ✗ | ✓ nativa |
| Métricas embutidas | ✗ | ✓ |
| Faixa ideal | 1 servidor | 1-500 servidores |
HeroCtl vs Kamal — perguntas que aparecem
HeroCtl é melhor que Kamal?
Depende do estágio. Kamal foi a resposta do 37signals à frustração legítima com complexidade Kubernetes. Deploy via SSH + Docker, sem control plane, sem cluster, sem agente. Funciona perfeitamente pra 75% dos casos: 1 VPS, app monolítico, downtime de 30s aceitável durante deploy. A premissa "you don't need orchestration" cai exatamente quando: cliente exige SLA, segundo servidor entra na conta, ou rolling deploy precisa ser realmente seguro. HeroCtl é "Kamal com cluster real" — mesma simplicidade conceitual, mas plano de controle replicado em 3+ servidores e failover automático.
Quando devo continuar usando Kamal?
1 servidor + sem pressão SLA, time Rails/Node pequeno sem tempo pra aprender outra ferramenta, app interno onde 5 min de downtime mensal não doem.
Quando vale migrar de Kamal pra HeroCtl?
Cliente exigiu SLA, primeiro servidor caiu e aprendeu na pele, criptografia entre serviços importa, faixa 3+ servidores.
Quais as principais diferenças técnicas entre HeroCtl e Kamal?
HeroCtl traz plano de controle replicado em 3+ nós, eleição automática em ~7s, roteador integrado com TLS Let's Encrypt, criptografia entre serviços nativa e métricas embutidas — sem stack externa. Kamal: Sem orquestração real — multi-server é deploy paralelo a hosts independentes; Sem alta disponibilidade — VPS cai = downtime total; Sem health check antes de promover novo container.
1 servidor + sem pressão SLA, time Rails/Node pequeno sem tempo pra aprender outra ferramenta, app interno onde 5 min de downtime mensal não doem.
Cliente exigiu SLA, primeiro servidor caiu e aprendeu na pele, criptografia entre serviços importa, faixa 3+ servidores.
Comece pelo Community
Cluster HA real, gratuito permanente, sem feature gates. Migrar de Kamal costuma levar 4-6 semanas pra startup média.