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.

TL;DR

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
FilosofiaSem orquestraçãoCluster com plano de controle
Plano de controle✗ não existe✓ replicado
Alta disponibilidade real
Eleição automática✓ em ~7s
Painel web✓ embutido
Roteador integradokamal-proxy✓ embutido
Health check antes promoverLimitado
Auto-revert em falha
Criptografia entre serviços✓ nativa
Métricas embutidas
Faixa ideal1 servidor1-500 servidores
[perguntas frequentes]

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.

Continue no Kamal se

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.

Migre pro HeroCtl quando

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.