[{"data":1,"prerenderedAt":653},["ShallowReactive",2],{"blog-\u002Fblog\u002Fheroctl-vs-nomad":3,"blog-surround-\u002Fblog\u002Fheroctl-vs-nomad":638,"blog-en-alt-\u002Fblog\u002Fheroctl-vs-nomad":651},{"id":4,"title":5,"author":6,"body":7,"category":618,"cover":619,"date":620,"description":621,"draft":622,"extension":623,"lastReviewed":619,"meta":624,"navigation":625,"path":626,"readingTime":627,"seo":628,"sitemap":629,"stem":630,"tags":631,"__hash__":637},"blog_pt\u002Fblog\u002Fheroctl-vs-nomad.md","HeroCtl vs Nomad: a alternativa pra quem foi pego pela mudança de licença","Equipe HeroCtl",{"type":8,"value":9,"toc":603},"minimark",[10,14,17,22,37,40,43,47,50,57,60,66,72,76,79,82,88,94,100,103,107,110,113,116,119,122,125,129,132,138,144,150,156,159,163,166,172,182,188,191,203,206,210,398,401,405,408,414,424,434,440,446,474,477,481,484,495,501,507,513,517,523,529,538,544,554,560,566,572,576,579,582,585,592,600],[11,12,13],"p",{},"A história do Nomad é, em retrospectiva, um aviso. Pra muita gente que escolheu Nomad entre 2020 e 2022 — pelo argumento de \"mais simples que Kubernetes, código aberto de verdade, governança aberta\" — os dois anúncios que vieram depois mudaram a base do contrato. Em agosto de 2023 a licença mudou. Em fevereiro de 2025 a empresa foi vendida. O produto técnico continua bom. O contrato em volta dele, não é mais o mesmo que estava na mesa quando você assinou.",[11,15,16],{},"Este post é sobre essa diferença. Não é uma crítica ao núcleo técnico do Nomad — vamos chegar nele. É sobre o problema estrutural de adotar uma ferramenta cuja base contratual pode mudar entre uma reorganização e a próxima, e o que fica pra quem decide hoje, em abril de 2026.",[18,19,21],"h2",{"id":20},"onde-o-nomad-acertou-e-continua-acertando","Onde o Nomad acertou (e continua acertando)",[11,23,24,25,29,30,29,33,36],{},"Antes de qualquer crítica, o crédito devido. O Nomad é tecnicamente bom. Plano de controle replicado funciona em produção. A interface de linha de comando é consistente — ",[26,27,28],"code",{},"nomad job run",", ",[26,31,32],{},"nomad job stop",[26,34,35],{},"nomad alloc logs"," se comportam de forma previsível em mil clusters diferentes. A operação multi-region foi pensada de fato, com federação entre datacenters e roteamento entre eles. Suporta workloads não-Docker (binários nativos, máquinas virtuais leves, drivers customizados) — uma flexibilidade que o concorrente maior nunca priorizou.",[11,38,39],{},"Quem operou Nomad em produção sério raramente reclama do núcleo. Os incidentes que aparecem em pós-morten públicos quase sempre estão na borda — integração com o gerenciador de configuração, integração com o roteador externo, integração com o cofre de segredos — não no orquestrador propriamente dito.",[11,41,42],{},"Esse desempenho técnico é importante porque define o tom do resto do post: o problema do Nomad não é o código. O código é bom. O problema é o que aconteceu em volta do código.",[18,44,46],{"id":45},"a-linha-do-tempo-em-datas-absolutas","A linha do tempo, em datas absolutas",[11,48,49],{},"Vale recapitular sem dramatizar.",[11,51,52,56],{},[53,54,55],"strong",{},"Agosto de 2023."," A HashiCorp, então empresa de capital aberto, anuncia mudança de licença em todos os produtos principais — incluindo Terraform, Vault, Consul e Nomad. A licença migra de Mozilla Public License 2.0 (uma licença aberta, com cópias da definição da OSI) pra Business Source License 1.1 — uma licença \"source available\". A diferença prática é a cláusula que restringe uso em produtos comerciais que compitam com a oferta paga da empresa. Você ainda pode ler o código. Pode rodar internamente. Não pode mais embeddar num produto comercial seu, e não pode mais oferecer como serviço gerenciado pra terceiros, sem licenciamento separado.",[11,58,59],{},"A reação da comunidade foi imediata. Em poucas semanas, um fork do Terraform — o OpenTofu — saiu do papel, com governança da Linux Foundation. Meses depois, o Vault ganhou o OpenBao com governança parecida. Nomad e Consul ficaram sem fork comunitário equivalente forte. Houve discussões, contribuições paradas, algumas saídas de mantenedores — mas nada do tamanho do que aconteceu com Terraform.",[11,61,62,65],{},[53,63,64],{},"Fevereiro de 2025."," A IBM anuncia aquisição da HashiCorp por aproximadamente US$6.4 bilhões. A operação fecha ainda em 2025. HashiCorp passa a fazer parte do portfólio IBM — alinhado a ofertas existentes da IBM em torno de plataformas internas, gerenciamento de configuração e nuvem híbrida.",[11,67,68,71],{},[53,69,70],{},"Hoje (abril de 2026)."," A licença BSL continua em vigor. O suporte oficial é exclusivamente pelo canal IBM. A cadência de release segue, mas o roadmap responde a OKRs internos da IBM agora — não mais a um plano de produto independente. Não há fork comunitário forte equivalente ao OpenTofu pra Nomad. Quem está em produção, está em produção; quem está adotando hoje, está adotando uma ferramenta cujo dono mudou duas vezes em 30 meses.",[18,73,75],{"id":74},"o-que-isso-significa-na-pratica","O que isso significa na prática",[11,77,78],{},"Pra quem já tinha Nomad em produção antes de agosto de 2023, a situação é gerenciável. A versão imediatamente anterior à mudança de licença está congelada em MPL 2.0 — você pode continuar com ela, pegar patches selecionados, esperar amadurecer um fork. Não é confortável, mas é praticável.",[11,80,81],{},"Pra quem está decidindo em 2026, é uma decisão diferente. Três asteriscos importam:",[11,83,84,87],{},[53,85,86],{},"A próxima feature crítica pode subir só na versão paga."," A licença não impede isso, e a empresa não tem mais um plano de produto independente que mantenha as features estratégicas no caminho aberto. É uma escolha agora, não um princípio.",[11,89,90,93],{},[53,91,92],{},"O roadmap responde a OKRs IBM."," Isso pode ser bom — IBM tem músculo de engenharia, vai investir — ou ruim, se as prioridades da IBM (compliance, governamental, integração com produtos legados) forem diferentes das suas. Você não controla qual dos dois acontece.",[11,95,96,99],{},[53,97,98],{},"Preços comerciais podem ser revisitados em uma próxima reorganização."," Aquisições grandes costumam ter um período de \"descoberta de valor\" onde tabelas de preço são reavaliadas. Não há regra que impeça uma nova rodada de mudanças contratuais em 12 ou 24 meses. Você não tem proteção contra isso.",[11,101,102],{},"Comunidade técnica registra esses sinais. A taxa de contribuições externas ao Nomad caiu depois de agosto de 2023. Empresas que antes exibiam casos de uso públicos pararam de publicar. Talks em conferências esfriaram. O ecossistema continua existindo — mas perdeu a tração de produto-de-comunidade que tinha entre 2018 e 2022.",[18,104,106],{"id":105},"a-licao-certa-nao-e-codigo-aberto-ou-nada","A lição certa não é \"código aberto ou nada\"",[11,108,109],{},"Aqui chega a parte que importa pra qualquer ferramenta de infraestrutura — incluindo o HeroCtl.",[11,111,112],{},"O problema do Nomad não foi virar pago. Empresas precisam ser sustentáveis; cobrar por software é legítimo; software comercial sério é melhor pra todos do que software aberto que entra em manutenção esquelética porque ninguém paga.",[11,114,115],{},"O problema do Nomad foi mudar o contrato com quem já tinha apostado. Quem escolheu Nomad em 2021 baseado na licença aberta tinha uma expectativa razoável — que aquela base seria estável. Não foi. Em três anos, a base virou outra coisa, e o custo de saída era — exatamente — a quantidade de trabalho que tinha sido investido na escolha original.",[11,117,118],{},"Isso revela uma assimetria. Software aberto que pode virar comercial a qualquer momento é mais arriscado do que software comercial publicado desde o dia um, com termos congelados pra contratos existentes. O primeiro parece mais seguro porque \"é aberto\". É uma percepção errada quando o controle do projeto está concentrado em uma única empresa, sujeita a aquisição, IPO, mudança de CEO ou pressão de investidor. O contrato pode mudar; a percepção de segurança era ilusão.",[11,120,121],{},"Software comercial honesto — preços publicados, termos congelados, sem mudança retroativa, mecanismo de continuidade caso a empresa encerre — é estruturalmente mais previsível.",[11,123,124],{},"Esse é o pivô do HeroCtl.",[18,126,128],{"id":127},"como-o-heroctl-resolve-isso-estruturalmente","Como o HeroCtl resolve isso estruturalmente",[11,130,131],{},"O HeroCtl nasceu comercial. Não houve fase de \"open source enquanto crescemos, comercial depois\". Os termos estão na mesa desde o dia um, publicados, com mecanismos contra-rug-pull explícitos.",[11,133,134,137],{},[53,135,136],{},"Plano Community gratuito permanente."," Sem limite de servidores. Sem limite de jobs. Sem feature gate artificial. Roda toda a stack — alta disponibilidade real, roteador integrado, certificados automáticos, criptografia entre serviços, métricas e logs. Indivíduos e times pequenos nunca precisam sair do Community.",[11,139,140,143],{},[53,141,142],{},"Sem phone-home, sem kill-switch."," Uma vez instalado, o cluster funciona sem nunca falar com servidor da empresa. Não há ativação periódica que expira. Não há flag que possa ser revogada de fora. Se a internet do escritório cair pra sempre, o cluster continua rodando.",[11,145,146,149],{},[53,147,148],{},"Escrow de código-fonte no Enterprise."," Contratos Enterprise incluem cláusula de escrow — o código é depositado com terceira parte custodiante. Se a empresa encerrar operações, o código vai pros clientes pagantes via custodiante, com licença pra continuidade interna. Não é \"confie em nós\"; é um mecanismo legal que sobrevive ao desaparecimento da empresa.",[11,151,152,155],{},[53,153,154],{},"Preços publicados."," Business e Enterprise têm preços visíveis na página de planos — sem \"fale com vendas\" obrigatório como tática de qualificação. Sem cláusula de revisão unilateral; o preço acordado fica congelado pra contratos existentes.",[11,157,158],{},"A diferença com o que aconteceu em agosto de 2023 e fevereiro de 2025 não é uma promessa. É uma estrutura.",[18,160,162],{"id":161},"comparacao-tecnica-honesta","Comparação técnica honesta",[11,164,165],{},"Tirando licença, qual é a diferença técnica? Em alto nível, surpreendentemente menos do que você imaginaria.",[11,167,168,171],{},[53,169,170],{},"Primitivas similares."," Nomad organiza trabalho em job → group → task. HeroCtl organiza em job → replica → task. Os conceitos mapeiam quase um-a-um. Um job descreve o serviço, o agrupamento determina réplica e localização, a task é o que efetivamente roda. Ambos suportam jobs de longa duração (services), jobs em lote (batch) e jobs periódicos.",[11,173,174,177,178,181],{},[53,175,176],{},"Plano de controle replicado em ambos."," Os dois usam consenso entre servidores pra durabilidade do estado. Ambos toleram a perda de uma minoria de servidores sem indisponibilidade. Ambos elegem coordenador automaticamente. No HeroCtl, o teste de caos público mostra eleição em torno de sete segundos depois de um ",[26,179,180],{},"kill -9"," no servidor que coordena.",[11,183,184,187],{},[53,185,186],{},"Diferença chave 1: bateria incluída vs montar a malha."," Aqui as filosofias divergem. Nomad foi desenhado pra ser composto com outros componentes do mesmo ecossistema — gerenciador de configuração externo pra service mesh, cofre de segredos externo, e algum gateway separado pra ingress. Isso dá flexibilidade enorme em cenários complexos, mas significa que rodar Nomad em produção honestamente costuma exigir três produtos em paralelo, cada um com seu próprio plano de controle, sua própria atualização, sua própria curva de aprendizado.",[11,189,190],{},"HeroCtl tem roteador integrado, certificados automáticos via Let's Encrypt e criptografia entre serviços embutidos no binário único. Você não monta a malha — ela vem montada. Pra times pequenos isso é dois meses de trabalho economizados; pra times grandes operando dezenas de datacenters federados, é menos flexibilidade.",[11,192,193,196,197,202],{},[53,194,195],{},"Diferença chave 2: faixa de aplicação."," Nomad mira escala alta. Há clusters públicos rodando dezenas de milhares de nós. O ecossistema é mais maduro nessa faixa — e quem está descendo do Nomad porque a complexidade não se justifica costuma estar fazendo a mesma conta que descrevemos em ",[198,199,201],"a",{"href":200},"\u002Fblog\u002Fkubernetes-overkill-quando-voce-nao-precisa","Kubernetes é overkill: quando você não precisa",".",[11,204,205],{},"HeroCtl mira a faixa \"1 a 500 servidores\" — single-server pra prototipagem, três pra alta disponibilidade real, dezenas a centenas pra escala produtiva de SaaS médio. Acima disso, ainda não testamos em larga escala em produção; o roadmap chega lá, mas não é a prioridade do trimestre.",[18,207,209],{"id":208},"lado-a-lado-sem-floreio","Lado a lado, sem floreio",[211,212,213,229],"table",{},[214,215,216],"thead",{},[217,218,219,223,226],"tr",{},[220,221,222],"th",{},"Critério",[220,224,225],{},"Nomad (sob BSL\u002FIBM)",[220,227,228],{},"HeroCtl",[230,231,232,244,254,267,278,289,300,311,322,333,344,355,366,377,388],"tbody",{},[217,233,234,238,241],{},[235,236,237],"td",{},"Modelo comercial",[235,239,240],{},"Source available (BSL 1.1) + comercial via IBM",[235,242,243],{},"Comercial desde o dia 1, plano gratuito permanente",[217,245,246,249,252],{},[235,247,248],{},"Plano de controle replicado",[235,250,251],{},"Sim",[235,253,251],{},[217,255,256,259,262],{},[235,257,258],{},"Eleição de coordenador",[235,260,261],{},"Sim, em segundos",[235,263,264,265],{},"Sim, ~7 segundos após ",[26,266,180],{},[217,268,269,272,275],{},[235,270,271],{},"Roteador HTTP\u002FTLS",[235,273,274],{},"Externo (gateway de terceiro)",[235,276,277],{},"Embutido",[217,279,280,283,286],{},[235,281,282],{},"Certificados automáticos",[235,284,285],{},"Externos (operador especializado)",[235,287,288],{},"Embutidos (Let's Encrypt automático)",[217,290,291,294,297],{},[235,292,293],{},"Criptografia entre serviços",[235,295,296],{},"Externa (gerenciador de configuração + cofre)",[235,298,299],{},"Embutida",[217,301,302,305,308],{},[235,303,304],{},"Cofre de segredos",[235,306,307],{},"Externo (cofre dedicado)",[235,309,310],{},"Embutido (cluster é o cofre)",[217,312,313,316,319],{},[235,314,315],{},"Métricas + logs",[235,317,318],{},"Stack externa",[235,320,321],{},"Job interno + escritor único embutido",[217,323,324,327,330],{},[235,325,326],{},"Linhas pra app+ingress+TLS",[235,328,329],{},"80–120 linhas em vários arquivos",[235,331,332],{},"~50 linhas em um arquivo",[217,334,335,338,341],{},[235,336,337],{},"Ecossistema de drivers",[235,339,340],{},"Profundo (Docker, exec, java, qemu, plugins)",[235,342,343],{},"Docker como runtime",[217,345,346,349,352],{},[235,347,348],{},"Escala máxima testada",[235,350,351],{},"Dezenas de milhares de nós",[235,353,354],{},"1–500 nós (faixa-alvo)",[217,356,357,360,363],{},[235,358,359],{},"Suporte oficial",[235,361,362],{},"Canal IBM",[235,364,365],{},"Direto da fabricante; SLA no Business",[217,367,368,371,374],{},[235,369,370],{},"Contrato congelado pra clientes existentes",[235,372,373],{},"Não — mudou em 2023",[235,375,376],{},"Sim, cláusula explícita",[217,378,379,382,385],{},[235,380,381],{},"Mecanismo de continuidade se a empresa encerrar",[235,383,384],{},"Implícito (BSL converte pra MPL após 4 anos)",[235,386,387],{},"Escrow ativo no Enterprise",[217,389,390,393,396],{},[235,391,392],{},"Phone-home \u002F kill-switch",[235,394,395],{},"Não",[235,397,395],{},[11,399,400],{},"A coluna que tira o sono é a penúltima. \"Contrato congelado pra clientes existentes\" é exatamente o que faltou em agosto de 2023 — quem tinha aderido com expectativa de licença aberta foi pego pelo retroativo. Em HeroCtl, isso é uma cláusula explícita.",[18,402,404],{"id":403},"migracao-de-nomad-pro-heroctl","Migração de Nomad pro HeroCtl",[11,406,407],{},"A boa notícia da convergência de primitivas: a migração não é um redesenho de arquitetura. É, na maior parte, uma tradução de arquivo.",[11,409,410,413],{},[53,411,412],{},"Mapeamento direto."," Um job no Nomad vira um job no HeroCtl. Um group vira um agrupamento de réplicas. Uma task continua sendo a unidade que roda no agente. Constraints de placement (node class, datacenter, atributo customizado) têm equivalentes diretos. Update strategies (rolling, canary, blue-green) idem. Health checks via comando ou HTTP idem.",[11,415,416,419,420,423],{},[53,417,418],{},"O que muda no arquivo."," O arquivo de configuração do HeroCtl é menor — em torno de 50 linhas pra um caso comum de aplicação web com ingress e segredos, comparado a 80–120 linhas em jobspec equivalente. A diferença vem de menos abstrações intermediárias e da integração nativa com o roteador (você descreve ",[26,421,422],{},"ingress: { host, tls: true }"," no próprio job, não num documento separado).",[11,425,426,429,430,433],{},[53,427,428],{},"O que precisa de adaptação."," Integrações com o cofre de segredos externo precisam virar ",[26,431,432],{},"secrets:"," blocos no próprio job (o cluster é o cofre no HeroCtl). Service mesh via gerenciador de configuração externo precisa ser substituído pela criptografia entre serviços embutida — geralmente é simplificação, não regressão. Drivers não-Docker (exec, java) hoje não têm equivalente direto; aplicações que dependem disso ficam com Nomad ou empacotam em contêiner.",[11,435,436,439],{},[53,437,438],{},"Conversor experimental."," Há um conversor de jobspec em desenvolvimento — pega um arquivo Nomad em entrada, emite um arquivo HeroCtl em saída, com avisos pros casos não-cobertos. Está em desenvolvimento, não promovemos como produto pronto. Cobre os casos comuns (job de serviço com Docker, ingress, health check, secrets); os casos de borda ainda exigem revisão manual. Se for relevante pra sua migração, escreve pra gente.",[11,441,442,445],{},[53,443,444],{},"Plano em fases."," O caminho que recomendamos pra quem tem produção em Nomad:",[447,448,449,456,462,468],"ul",{},[450,451,452,455],"li",{},[53,453,454],{},"Fase 1 (semanas 1–2)."," Subir cluster HeroCtl em paralelo, com 3 servidores. Migrar primeiro um job não-crítico — preferencialmente um job batch ou periódico que não tem usuário acordado dependendo dele. Validar logs, métricas, comportamento sob falha.",[450,457,458,461],{},[53,459,460],{},"Fase 2 (semanas 3–4)."," Migrar uma aplicação web com poucos usuários. Validar emissão de certificado, rolling deploy, comportamento durante perda de servidor. Comparar latência e taxa de erro com o Nomad equivalente.",[450,463,464,467],{},[53,465,466],{},"Fase 3 (semanas 5+)."," Cutover por aplicação, não cutover do cluster inteiro. DNS aponta pra HeroCtl, monitorar uma semana, próxima aplicação. Mantém Nomad rodando o que ainda não migrou.",[450,469,470,473],{},[53,471,472],{},"Fase 4 (quando confortável)."," Decommission do Nomad. Documenta o que aprendeu na sua wiki interna pra próxima ferramenta — porque sempre tem próxima ferramenta.",[11,475,476],{},"Pra times com poucas dezenas de jobs, a migração inteira é uma tarde. Pra times com centenas de jobs, e drivers exóticos, é trabalho sob medida — escreve pra gente que ajudamos a planejar.",[18,478,480],{"id":479},"quando-o-nomad-continua-sendo-a-escolha-certa","Quando o Nomad continua sendo a escolha certa",[11,482,483],{},"Honestidade primeiro: não migra por moda.",[11,485,486,489,490,494],{},[53,487,488],{},"Se você já está rodando Nomad em produção sem problema operacional, fique."," Mudança de licença pra quem não embedda nem oferece como serviço gerenciado é gerenciável — você roda internamente, atualiza com cuidado, espera o ecossistema decantar. Migrar uma stack que funciona é trabalho desnecessário. Pra quem está saindo do Nomad atrás de algo mais simples e single-server, vale considerar ",[198,491,493],{"href":492},"\u002Fblog\u002Fheroctl-vs-coolify","Coolify como alternativa"," antes de assumir que o caminho é HeroCtl.",[11,496,497,500],{},[53,498,499],{},"Se sua arquitetura depende profundamente de outros componentes do mesmo ecossistema."," Cofre de segredos integrado com gerenciador de configuração integrado com Nomad, com políticas e ACLs federadas — desfazer essa integração é caro. O custo de saída pode ser maior que o asterisco de licença.",[11,502,503,506],{},[53,504,505],{},"Se você opera multi-region em escala grande."," Centenas de datacenters federados, com workloads se movendo entre eles, dependendo de federação madura entre clusters. Nomad teve oito anos investidos nessa direção. HeroCtl tem alguns trimestres em produção real. A escolha conservadora pra esse perfil é Nomad — e está tudo bem.",[11,508,509,512],{},[53,510,511],{},"Se você tem contratos governamentais que listam fornecedores nominalmente."," Alguns frameworks (FedRAMP, ITAR, contratos federais) exigem fornecedores listados. IBM agora atende essa lista. HeroCtl é jovem demais. Se o seu compliance officer precisa apontar pro nome de uma empresa em uma lista de auditoria, hoje a resposta é Nomad via IBM, não HeroCtl.",[18,514,516],{"id":515},"perguntas-que-a-gente-recebe","Perguntas que a gente recebe",[11,518,519,522],{},[53,520,521],{},"HeroCtl é só um clone do Nomad?","\nNão. Convergência de primitivas (job, agrupamento, task, plano de controle replicado) reflete que esses são os blocos certos pra orquestração de contêineres — não cópia. As diferenças importantes (bateria incluída em vez de malha externa, contrato comercial congelado, faixa de aplicação 1–500) são escolhas estruturais opostas, não detalhe de implementação. Se fosse clone, o arquivo de configuração teria 100+ linhas e dependeria de três produtos paralelos.",[11,524,525,528],{},[53,526,527],{},"E se a HeroCtl mudar de licença?","\nA pergunta é justa — é exatamente o tipo de pergunta que importa depois de agosto de 2023. Três proteções: o contrato comercial publicado tem cláusula de termos congelados pra clientes existentes (preço acordado fica, não muda retroativamente); o binário não tem phone-home nem kill-switch (uma vez instalado, roda independente); contratos Enterprise têm escrow ativo (código vai pros clientes pagantes se a empresa encerrar). Não é \"confie em nós\". É estrutura legal e técnica que sobrevive a mudança de gestão, aquisição ou encerramento.",[11,530,531,534,535,537],{},[53,532,533],{},"O conversor de jobspec converte integração com cofre de segredos e gerenciador de configuração?","\nNão totalmente. Integrações com cofre externo viram ",[26,536,432],{}," blocos no job HeroCtl — o conversor faz a transformação sintática, mas a você cabe revisar a lógica (rotação, política de acesso, escopo). Service mesh via gerenciador externo geralmente vira a criptografia embutida, com simplificação na maioria dos casos. Os casos exóticos (políticas dinâmicas, segredos com renovação coordenada) ficam com aviso de \"revisar manualmente\" no relatório do conversor.",[11,539,540,543],{},[53,541,542],{},"E os plugins de driver do Nomad? Tenho um driver customizado pra rodar binários nativos.","\nHoje, HeroCtl roda sobre Docker como runtime. Drivers exóticos (exec, java, qemu, customizados) não têm equivalente direto — a aplicação precisa ser empacotada em contêiner. Pra muita coisa, isso é simplificação; pra alguns workloads (binários compilados estaticamente, máquinas virtuais leves), é trabalho extra. Se você depende de driver não-Docker em produção, fala com a gente antes de migrar.",[11,545,546,549,550,553],{},[53,547,548],{},"E os jobs periódicos e em lote?","\nSuportados. HeroCtl tem jobs de longa duração, jobs em lote (executa, termina, libera) e jobs periódicos (cron-like). A sintaxe é direta — uma chave ",[26,551,552],{},"schedule: \"*\u002F5 * * * *\""," no arquivo de configuração. O que ainda não temos é fan-out massivo de batch (milhares de tasks paralelas com agregação de resultado) — pra isso, ferramentas dedicadas a fluxo de dados continuam melhores.",[11,555,556,559],{},[53,557,558],{},"Posso operar HeroCtl atrás de um Nomad existente?","\nTecnicamente sim — HeroCtl roda em qualquer servidor Linux com Docker, então você pode descrever um job Nomad que sobe o agente HeroCtl. Mas a recomendação é o contrário: rodar HeroCtl em paralelo, migrar aplicação por aplicação, decomissionar Nomad quando confortável. Aninhar dois orquestradores é manter dois planos de controle, dois modelos mentais, dois conjuntos de logs — sem ganho.",[11,561,562,565],{},[53,563,564],{},"O preço do Business é maior ou menor que o do Nomad Enterprise?","\nOs preços do Business e Enterprise estão publicados na página de planos do HeroCtl — sem \"fale com vendas\" obrigatório como tática de qualificação. A licença comercial do Nomad sob IBM é negociada caso a caso e não tem preço público; comparações diretas dependem de cotação. O ponto que destacamos não é \"somos mais baratos que IBM\" — é \"nosso preço é público e congelado pra contratos existentes\". Você sabe o que paga em cinco anos. Essa previsibilidade é o produto.",[11,567,568,571],{},[53,569,570],{},"Como funciona o suporte?","\nCommunity tem fórum público e canais comunitários — sem SLA. Business tem suporte oficial direto da fabricante com SLA de horas em primeira resposta. Enterprise adiciona suporte 24×7 e desenvolvimento dedicado pra extensões específicas. Importante: suporte oficial é direto, não terceirizado via canal, não dependente de vendor extra na cadeia.",[18,573,575],{"id":574},"fechamento","Fechamento",[11,577,578],{},"A história do Nomad é menos sobre Nomad e mais sobre a forma de adotar infraestrutura. Software aberto controlado por uma única empresa é frágil em escala de anos — não no código, mas no contrato. Aquisição, IPO, mudança de gestão, pressão de investidor: qualquer um desses pode reescrever a base sob seus pés.",[11,580,581],{},"A resposta certa não é \"rejeite tudo que tem CNPJ por trás\". A resposta certa é exigir que o contrato seja explícito desde o dia um, com termos congelados pra quem já assinou e mecanismo de continuidade caso a empresa desapareça. Software comercial honesto, com essas três propriedades, é estruturalmente mais previsível do que software aberto que pode mudar.",[11,583,584],{},"Esse é o desenho do HeroCtl. Comercial desde o dia um. Plano Community gratuito permanente, sem feature gate artificial. Business e Enterprise com preços publicados. Sem phone-home, sem kill-switch. Escrow no Enterprise.",[11,586,587,588,591],{},"Pra instalar: ",[26,589,590],{},"curl -sSL https:\u002F\u002Fget.heroctl.com\u002Finstall.sh | sh"," em um servidor Linux com Docker. Pra alta disponibilidade real, o mesmo comando em três servidores — eles formam quórum automaticamente.",[11,593,594,595,599],{},"Pra entender a motivação por trás disso, leia ",[198,596,598],{"href":597},"\u002Fblog\u002Fpor-que-criamos-o-heroctl","por que criamos o HeroCtl"," — explica os três caminhos que existiam em 2026, a lacuna que cada um deixava, e o que tentamos preencher.",[11,601,602],{},"Se você está em Nomad e quer conversar sobre migração, escreve. Se está em Nomad e está bem, fica em Nomad — e aproveita pra ler o contrato com mais atenção da próxima vez que chegar uma renovação. Essa é a verdadeira lição de agosto de 2023.",{"title":604,"searchDepth":605,"depth":605,"links":606},"",2,[607,608,609,610,611,612,613,614,615,616,617],{"id":20,"depth":605,"text":21},{"id":45,"depth":605,"text":46},{"id":74,"depth":605,"text":75},{"id":105,"depth":605,"text":106},{"id":127,"depth":605,"text":128},{"id":161,"depth":605,"text":162},{"id":208,"depth":605,"text":209},{"id":403,"depth":605,"text":404},{"id":479,"depth":605,"text":480},{"id":515,"depth":605,"text":516},{"id":574,"depth":605,"text":575},"comparativo",null,"2026-02-19","HashiCorp trocou a licença do Nomad em agosto de 2023 e foi adquirida pela IBM em fevereiro de 2025. Pra quem está adotando hoje, é um asterisco grande.",false,"md",{},true,"\u002Fblog\u002Fheroctl-vs-nomad","14 min",{"title":5,"description":621},{"loc":626},"blog\u002Fheroctl-vs-nomad",[632,633,634,635,618,636],"nomad","hashicorp","ibm","bsl","migracao","ldA_zoX2zVOSfHZp3m3ZByftSpWCup4Q80hma-jYWWw",[639,645],{"title":640,"path":641,"stem":642,"description":643,"date":644,"category":618,"children":-1},"HeroCtl vs Kamal: quando você precisa de mais de um servidor","\u002Fblog\u002Fheroctl-vs-kamal","blog\u002Fheroctl-vs-kamal","Kamal é brilhante pra um VPS rodando Rails. Quando o segundo cliente sério pede redundância, a arquitetura precisa mudar. Onde Kamal para e o HeroCtl começa.","2026-01-29",{"title":646,"path":647,"stem":648,"description":649,"date":650,"category":618,"children":-1},"Heroku auto-hospedado em 2026: o estado do segmento","\u002Fblog\u002Fheroku-auto-hospedado-2026","blog\u002Fheroku-auto-hospedado-2026","Desde que a Salesforce matou o plano gratuito do Heroku em novembro\u002F2022, surgiram dezenas de alternativas auto-hospedadas. Mapa honesto do segmento e como escolher.","2025-11-19",{"path":652},"\u002Fen\u002Fblog\u002Fheroctl-vs-nomad",1777362184010]