[{"data":1,"prerenderedAt":652},["ShallowReactive",2],{"blog-es-\u002Fes\u002Fblog\u002Fheroctl-vs-nomad":3,"blog-es-surround-\u002Fes\u002Fblog\u002Fheroctl-vs-nomad":639},{"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__":638},"blog_es\u002Fes\u002Fblog\u002Fheroctl-vs-nomad.md","HeroCtl vs Nomad: la alternativa para quien fue agarrado por el cambio de licencia","Equipo 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",{},"La historia de Nomad es, en retrospectiva, un aviso. Para mucha gente que eligió Nomad entre 2020 y 2022 — por el argumento de \"más simple que Kubernetes, código abierto de verdad, gobernanza abierta\" — los dos anuncios que vinieron después cambiaron la base del contrato. En agosto de 2023 la licencia cambió. En febrero de 2025 la empresa fue vendida. El producto técnico sigue siendo bueno. El contrato alrededor de él, ya no es el mismo que estaba en la mesa cuando firmaste.",[11,15,16],{},"Este post es sobre esa diferencia. No es una crítica al núcleo técnico de Nomad — vamos a llegar a él. Es sobre el problema estructural de adoptar una herramienta cuya base contractual puede cambiar entre una reorganización y la siguiente, y lo que queda para quien decide hoy, en abril de 2026.",[18,19,21],"h2",{"id":20},"donde-nomad-acerto-y-sigue-acertando","Donde Nomad acertó (y sigue acertando)",[11,23,24,25,29,30,29,33,36],{},"Antes de cualquier crítica, el crédito debido. Nomad es técnicamente bueno. Plano de control replicado funciona en producción. La interfaz de línea de comando es consistente — ",[26,27,28],"code",{},"nomad job run",", ",[26,31,32],{},"nomad job stop",[26,34,35],{},"nomad alloc logs"," se comportan de forma previsible en mil clusters diferentes. La operación multi-region fue pensada de hecho, con federación entre datacenters y enrutamiento entre ellos. Soporta workloads no-Docker (binarios nativos, máquinas virtuales ligeras, drivers customizados) — una flexibilidad que el competidor mayor nunca priorizó.",[11,38,39],{},"Quien operó Nomad en producción en serio raramente reclama del núcleo. Los incidentes que aparecen en post-mortem públicos casi siempre están en el borde — integración con el gestor de configuración, integración con el router externo, integración con el cofre de secretos — no en el orquestador propiamente dicho.",[11,41,42],{},"Ese desempeño técnico es importante porque define el tono del resto del post: el problema de Nomad no es el código. El código es bueno. El problema es lo que sucedió alrededor del código.",[18,44,46],{"id":45},"la-linea-del-tiempo-en-fechas-absolutas","La línea del tiempo, en fechas absolutas",[11,48,49],{},"Vale la pena recapitular sin dramatizar.",[11,51,52,56],{},[53,54,55],"strong",{},"Agosto de 2023."," HashiCorp, entonces empresa de capital abierto, anuncia cambio de licencia en todos los productos principales — incluyendo Terraform, Vault, Consul y Nomad. La licencia migra de Mozilla Public License 2.0 (una licencia abierta, con copias de la definición de OSI) a Business Source License 1.1 — una licencia \"source available\". La diferencia práctica es la cláusula que restringe uso en productos comerciales que compitan con la oferta paga de la empresa. Aún puedes leer el código. Puedes ejecutar internamente. Ya no puedes embeberlo en un producto comercial tuyo, y ya no puedes ofrecerlo como servicio gestionado a terceros, sin licenciamiento separado.",[11,58,59],{},"La reacción de la comunidad fue inmediata. En pocas semanas, un fork de Terraform — OpenTofu — salió del papel, con gobernanza de Linux Foundation. Meses después, Vault ganó OpenBao con gobernanza parecida. Nomad y Consul quedaron sin fork comunitario equivalente fuerte. Hubo discusiones, contribuciones paradas, algunas salidas de mantenedores — pero nada del tamaño de lo que sucedió con Terraform.",[11,61,62,65],{},[53,63,64],{},"Febrero de 2025."," IBM anuncia adquisición de HashiCorp por aproximadamente US$6.4 mil millones. La operación cierra aún en 2025. HashiCorp pasa a formar parte del portfolio IBM — alineado a ofertas existentes de IBM en torno a plataformas internas, gestión de configuración y nube híbrida.",[11,67,68,71],{},[53,69,70],{},"Hoy (abril de 2026)."," La licencia BSL continúa en vigor. El soporte oficial es exclusivamente por el canal IBM. La cadencia de release sigue, pero el roadmap responde a OKRs internos de IBM ahora — ya no a un plan de producto independiente. No hay fork comunitario fuerte equivalente al OpenTofu para Nomad. Quien está en producción, está en producción; quien está adoptando hoy, está adoptando una herramienta cuyo dueño cambió dos veces en 30 meses.",[18,73,75],{"id":74},"lo-que-eso-significa-en-la-practica","Lo que eso significa en la práctica",[11,77,78],{},"Para quien ya tenía Nomad en producción antes de agosto de 2023, la situación es gestionable. La versión inmediatamente anterior al cambio de licencia está congelada en MPL 2.0 — puedes seguir con ella, agarrar patches seleccionados, esperar madurar un fork. No es cómodo, pero es practicable.",[11,80,81],{},"Para quien está decidiendo en 2026, es una decisión diferente. Tres asteriscos importan:",[11,83,84,87],{},[53,85,86],{},"La próxima feature crítica puede subir solo en la versión paga."," La licencia no impide eso, y la empresa ya no tiene un plan de producto independiente que mantenga las features estratégicas en el camino abierto. Es una elección ahora, no un principio.",[11,89,90,93],{},[53,91,92],{},"El roadmap responde a OKRs IBM."," Eso puede ser bueno — IBM tiene músculo de ingeniería, va a invertir — o malo, si las prioridades de IBM (compliance, gubernamental, integración con productos legados) son diferentes de las tuyas. No controlas cuál de los dos sucede.",[11,95,96,99],{},[53,97,98],{},"Precios comerciales pueden ser revisitados en una próxima reorganización."," Adquisiciones grandes suelen tener un período de \"descubrimiento de valor\" donde tablas de precio son reevaluadas. No hay regla que impida una nueva ronda de cambios contractuales en 12 o 24 meses. No tienes protección contra eso.",[11,101,102],{},"Comunidad técnica registra esas señales. La tasa de contribuciones externas a Nomad cayó después de agosto de 2023. Empresas que antes exhibían casos de uso públicos pararon de publicar. Talks en conferencias se enfriaron. El ecosistema sigue existiendo — pero perdió la tracción de producto-de-comunidad que tenía entre 2018 y 2022.",[18,104,106],{"id":105},"la-leccion-correcta-no-es-codigo-abierto-o-nada","La lección correcta no es \"código abierto o nada\"",[11,108,109],{},"Aquí llega la parte que importa para cualquier herramienta de infraestructura — incluyendo HeroCtl.",[11,111,112],{},"El problema de Nomad no fue volverse pago. Empresas necesitan ser sostenibles; cobrar por software es legítimo; software comercial serio es mejor para todos que software abierto que entra en mantenimiento esquelético porque nadie paga.",[11,114,115],{},"El problema de Nomad fue cambiar el contrato con quien ya había apostado. Quien eligió Nomad en 2021 basado en la licencia abierta tenía una expectativa razonable — que aquella base sería estable. No fue. En tres años, la base se volvió otra cosa, y el coste de salida era — exactamente — la cantidad de trabajo que había sido invertido en la elección original.",[11,117,118],{},"Eso revela una asimetría. Software abierto que puede volverse comercial en cualquier momento es más arriesgado que software comercial publicado desde el día uno, con términos congelados para contratos existentes. El primero parece más seguro porque \"es abierto\". Es una percepción equivocada cuando el control del proyecto está concentrado en una única empresa, sujeta a adquisición, IPO, cambio de CEO o presión de inversor. El contrato puede cambiar; la percepción de seguridad era ilusión.",[11,120,121],{},"Software comercial honesto — precios publicados, términos congelados, sin cambio retroactivo, mecanismo de continuidad si la empresa encierra — es estructuralmente más previsible.",[11,123,124],{},"Ese es el pivote de HeroCtl.",[18,126,128],{"id":127},"como-heroctl-resuelve-eso-estructuralmente","Cómo HeroCtl resuelve eso estructuralmente",[11,130,131],{},"HeroCtl nació comercial. No hubo fase de \"open source mientras crecemos, comercial después\". Los términos están en la mesa desde el día uno, publicados, con mecanismos contra-rug-pull explícitos.",[11,133,134,137],{},[53,135,136],{},"Plan Community gratuito permanente."," Sin límite de servidores. Sin límite de jobs. Sin feature gate artificial. Ejecuta toda la stack — alta disponibilidad real, router integrado, certificados automáticos, criptografía entre servicios, métricas y logs. Individuos y equipos pequeños nunca necesitan salir de Community.",[11,139,140,143],{},[53,141,142],{},"Sin phone-home, sin kill-switch."," Una vez instalado, el cluster funciona sin nunca hablar con servidor de la empresa. No hay activación periódica que expira. No hay flag que pueda ser revocada de fuera. Si la internet de la oficina se cae para siempre, el cluster sigue corriendo.",[11,145,146,149],{},[53,147,148],{},"Escrow de código fuente en Enterprise."," Contratos Enterprise incluyen cláusula de escrow — el código es depositado con tercera parte custodiante. Si la empresa encierra operaciones, el código va a los clientes pagantes vía custodiante, con licencia para continuidad interna. No es \"confía en nosotros\"; es un mecanismo legal que sobrevive a la desaparición de la empresa.",[11,151,152,155],{},[53,153,154],{},"Precios publicados."," Business y Enterprise tienen precios visibles en la página de planes — sin \"habla con ventas\" obligatorio como táctica de calificación. Sin cláusula de revisión unilateral; el precio acordado queda congelado para contratos existentes.",[11,157,158],{},"La diferencia con lo que sucedió en agosto de 2023 y febrero de 2025 no es una promesa. Es una estructura.",[18,160,162],{"id":161},"comparacion-tecnica-honesta","Comparación técnica honesta",[11,164,165],{},"Quitando licencia, ¿cuál es la diferencia técnica? En alto nivel, sorprendentemente menos de lo que imaginarías.",[11,167,168,171],{},[53,169,170],{},"Primitivas similares."," Nomad organiza trabajo en job → group → task. HeroCtl organiza en job → replica → task. Los conceptos mapean casi uno a uno. Un job describe el servicio, el agrupamiento determina réplica y localización, la task es lo que efectivamente ejecuta. Ambos soportan jobs de larga duración (services), jobs en lote (batch) y jobs periódicos.",[11,173,174,177,178,181],{},[53,175,176],{},"Plano de control replicado en ambos."," Los dos usan consenso entre servidores para durabilidad del estado. Ambos toleran la pérdida de una minoría de servidores sin indisponibilidad. Ambos eligen coordinador automáticamente. En HeroCtl, el test de caos público muestra elección en alrededor de siete segundos después de un ",[26,179,180],{},"kill -9"," en el servidor que coordina.",[11,183,184,187],{},[53,185,186],{},"Diferencia clave 1: batería incluida vs montar la malla."," Aquí las filosofías divergen. Nomad fue diseñado para ser compuesto con otros componentes del mismo ecosistema — gestor de configuración externo para service mesh, cofre de secretos externo, y algún gateway separado para ingress. Eso da flexibilidad enorme en escenarios complejos, pero significa que ejecutar Nomad en producción honestamente suele exigir tres productos en paralelo, cada uno con su propio plano de control, su propia actualización, su propia curva de aprendizaje.",[11,189,190],{},"HeroCtl tiene router integrado, certificados automáticos vía Let's Encrypt y criptografía entre servicios embebidos en el binario único. No montas la malla — viene montada. Para equipos pequeños eso son dos meses de trabajo economizados; para equipos grandes operando decenas de datacenters federados, es menos flexibilidad.",[11,192,193,196,197,202],{},[53,194,195],{},"Diferencia clave 2: franja de aplicación."," Nomad apunta a escala alta. Hay clusters públicos ejecutando decenas de miles de nodos. El ecosistema es más maduro en esa franja — y quien está bajando de Nomad porque la complejidad no se justifica suele estar haciendo la misma cuenta que describimos en ",[198,199,201],"a",{"href":200},"\u002Fes\u002Fblog\u002Fkubernetes-overkill-cuando-no-lo-necesitas","Kubernetes es overkill: cuando no lo necesitas",".",[11,204,205],{},"HeroCtl apunta a la franja \"1 a 500 servidores\" — single-server para prototipado, tres para alta disponibilidad real, decenas a cientos para escala productiva de SaaS medio. Por encima de eso, aún no testeamos en larga escala en producción; el roadmap llega allí, pero no es la prioridad del trimestre.",[18,207,209],{"id":208},"lado-a-lado-sin-floritura","Lado a lado, sin floritura",[211,212,213,229],"table",{},[214,215,216],"thead",{},[217,218,219,223,226],"tr",{},[220,221,222],"th",{},"Criterio",[220,224,225],{},"Nomad (bajo 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 vía IBM",[235,242,243],{},"Comercial desde el día 1, plan gratuito permanente",[217,245,246,249,252],{},[235,247,248],{},"Plano de control replicado",[235,250,251],{},"Sí",[235,253,251],{},[217,255,256,259,262],{},[235,257,258],{},"Elección de coordinador",[235,260,261],{},"Sí, en segundos",[235,263,264,265],{},"Sí, ~7 segundos tras ",[26,266,180],{},[217,268,269,272,275],{},[235,270,271],{},"Router HTTP\u002FTLS",[235,273,274],{},"Externo (gateway de tercero)",[235,276,277],{},"Embebido",[217,279,280,283,286],{},[235,281,282],{},"Certificados automáticos",[235,284,285],{},"Externos (operador especializado)",[235,287,288],{},"Embebidos (Let's Encrypt automático)",[217,290,291,294,297],{},[235,292,293],{},"Criptografía entre servicios",[235,295,296],{},"Externa (gestor de configuración + cofre)",[235,298,299],{},"Embebida",[217,301,302,305,308],{},[235,303,304],{},"Cofre de secretos",[235,306,307],{},"Externo (cofre dedicado)",[235,309,310],{},"Embebido (cluster es el cofre)",[217,312,313,316,319],{},[235,314,315],{},"Métricas + logs",[235,317,318],{},"Stack externa",[235,320,321],{},"Job interno + escritor único embebido",[217,323,324,327,330],{},[235,325,326],{},"Líneas para app+ingress+TLS",[235,328,329],{},"80–120 líneas en varios archivos",[235,331,332],{},"~50 líneas en un archivo",[217,334,335,338,341],{},[235,336,337],{},"Ecosistema 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],{},"Decenas de miles de nodos",[235,353,354],{},"1–500 nodos (franja-objetivo)",[217,356,357,360,363],{},[235,358,359],{},"Soporte oficial",[235,361,362],{},"Canal IBM",[235,364,365],{},"Directo del fabricante; SLA en Business",[217,367,368,371,374],{},[235,369,370],{},"Contrato congelado para clientes existentes",[235,372,373],{},"No — cambió en 2023",[235,375,376],{},"Sí, cláusula explícita",[217,378,379,382,385],{},[235,380,381],{},"Mecanismo de continuidad si la empresa encierra",[235,383,384],{},"Implícito (BSL convierte a MPL tras 4 años)",[235,386,387],{},"Escrow activo en Enterprise",[217,389,390,393,396],{},[235,391,392],{},"Phone-home \u002F kill-switch",[235,394,395],{},"No",[235,397,395],{},[11,399,400],{},"La columna que quita el sueño es la penúltima. \"Contrato congelado para clientes existentes\" es exactamente lo que faltó en agosto de 2023 — quien había adherido con expectativa de licencia abierta fue agarrado por el retroactivo. En HeroCtl, eso es una cláusula explícita.",[18,402,404],{"id":403},"migracion-de-nomad-a-heroctl","Migración de Nomad a HeroCtl",[11,406,407],{},"La buena noticia de la convergencia de primitivas: la migración no es un rediseño de arquitectura. Es, en la mayor parte, una traducción de archivo.",[11,409,410,413],{},[53,411,412],{},"Mapeo directo."," Un job en Nomad se vuelve un job en HeroCtl. Un group se vuelve un agrupamiento de réplicas. Una task continúa siendo la unidad que ejecuta en el agente. Constraints de placement (node class, datacenter, atributo customizado) tienen equivalentes directos. Update strategies (rolling, canary, blue-green) idem. Health checks vía comando o HTTP idem.",[11,415,416,419,420,423],{},[53,417,418],{},"Lo que cambia en el archivo."," El archivo de configuración de HeroCtl es menor — alrededor de 50 líneas para un caso común de aplicación web con ingress y secretos, comparado con 80–120 líneas en jobspec equivalente. La diferencia viene de menos abstracciones intermedias y de la integración nativa con el router (describes ",[26,421,422],{},"ingress: { host, tls: true }"," en el propio job, no en un documento separado).",[11,425,426,429,430,433],{},[53,427,428],{},"Lo que necesita adaptación."," Integraciones con el cofre de secretos externo necesitan volverse ",[26,431,432],{},"secrets:"," bloques en el propio job (el cluster es el cofre en HeroCtl). Service mesh vía gestor de configuración externo necesita ser sustituido por la criptografía entre servicios embebida — generalmente es simplificación, no regresión. Drivers no-Docker (exec, java) hoy no tienen equivalente directo; aplicaciones que dependen de eso quedan con Nomad o empaquetan en contenedor.",[11,435,436,439],{},[53,437,438],{},"Conversor experimental."," Hay un conversor de jobspec en desarrollo — toma un archivo Nomad en entrada, emite un archivo HeroCtl en salida, con avisos para los casos no cubiertos. Está en desarrollo, no lo promovemos como producto listo. Cubre los casos comunes (job de servicio con Docker, ingress, health check, secretos); los casos de borde aún exigen revisión manual. Si es relevante para tu migración, escríbenos.",[11,441,442,445],{},[53,443,444],{},"Plan en fases."," El camino que recomendamos para quien tiene producción en Nomad:",[447,448,449,456,462,468],"ul",{},[450,451,452,455],"li",{},[53,453,454],{},"Fase 1 (semanas 1–2)."," Subir cluster HeroCtl en paralelo, con 3 servidores. Migrar primero un job no crítico — preferentemente un job batch o periódico que no tiene usuario despierto dependiendo de él. Validar logs, métricas, comportamiento bajo fallo.",[450,457,458,461],{},[53,459,460],{},"Fase 2 (semanas 3–4)."," Migrar una aplicación web con pocos usuarios. Validar emisión de certificado, rolling update, comportamiento durante pérdida de servidor. Comparar latencia y tasa de error con el Nomad equivalente.",[450,463,464,467],{},[53,465,466],{},"Fase 3 (semanas 5+)."," Cutover por aplicación, no cutover del cluster entero. DNS apunta a HeroCtl, monitorear una semana, próxima aplicación. Mantén Nomad ejecutando lo que aún no migró.",[450,469,470,473],{},[53,471,472],{},"Fase 4 (cuando cómodo)."," Decommission de Nomad. Documenta lo que aprendiste en tu wiki interna para la próxima herramienta — porque siempre hay próxima herramienta.",[11,475,476],{},"Para equipos con pocas decenas de jobs, la migración entera es una tarde. Para equipos con cientos de jobs, y drivers exóticos, es trabajo a medida — escríbenos que ayudamos a planificar.",[18,478,480],{"id":479},"cuando-nomad-sigue-siendo-la-eleccion-correcta","Cuándo Nomad sigue siendo la elección correcta",[11,482,483],{},"Honestidad primero: no migres por moda.",[11,485,486,489,490,494],{},[53,487,488],{},"Si ya estás ejecutando Nomad en producción sin problema operacional, quédate."," Cambio de licencia para quien no embebe ni ofrece como servicio gestionado es gestionable — ejecutas internamente, actualizas con cuidado, esperas que el ecosistema decante. Migrar una stack que funciona es trabajo innecesario. Para quien está saliendo de Nomad detrás de algo más simple y single-server, vale la pena considerar ",[198,491,493],{"href":492},"\u002Fes\u002Fblog\u002Fheroctl-vs-coolify","Coolify como alternativa"," antes de asumir que el camino es HeroCtl.",[11,496,497,500],{},[53,498,499],{},"Si tu arquitectura depende profundamente de otros componentes del mismo ecosistema."," Cofre de secretos integrado con gestor de configuración integrado con Nomad, con políticas y ACLs federadas — deshacer esa integración es caro. El coste de salida puede ser mayor que el asterisco de licencia.",[11,502,503,506],{},[53,504,505],{},"Si operas multi-region en escala grande."," Cientos de datacenters federados, con workloads moviéndose entre ellos, dependiendo de federación madura entre clusters. Nomad tuvo ocho años invertidos en esa dirección. HeroCtl tiene algunos trimestres en producción real. La elección conservadora para ese perfil es Nomad — y está todo bien.",[11,508,509,512],{},[53,510,511],{},"Si tienes contratos gubernamentales que listan proveedores nominalmente."," Algunos frameworks (FedRAMP, ITAR, contratos federales) exigen proveedores listados. IBM ahora atiende esa lista. HeroCtl es joven de más. Si tu compliance officer necesita apuntar al nombre de una empresa en una lista de auditoría, hoy la respuesta es Nomad vía IBM, no HeroCtl.",[18,514,516],{"id":515},"preguntas-que-recibimos","Preguntas que recibimos",[11,518,519,522],{},[53,520,521],{},"¿HeroCtl es solo un clon de Nomad?","\nNo. Convergencia de primitivas (job, agrupamiento, task, plano de control replicado) refleja que esos son los bloques correctos para orquestación de contenedores — no copia. Las diferencias importantes (batería incluida en lugar de malla externa, contrato comercial congelado, franja de aplicación 1–500) son elecciones estructurales opuestas, no detalle de implementación. Si fuera clon, el archivo de configuración tendría 100+ líneas y dependería de tres productos paralelos.",[11,524,525,528],{},[53,526,527],{},"¿Y si HeroCtl cambia de licencia?","\nLa pregunta es justa — es exactamente el tipo de pregunta que importa después de agosto de 2023. Tres protecciones: el contrato comercial publicado tiene cláusula de términos congelados para clientes existentes (precio acordado queda, no cambia retroactivamente); el binario no tiene phone-home ni kill-switch (una vez instalado, ejecuta independiente); contratos Enterprise tienen escrow activo (código va a los clientes pagantes si la empresa encierra). No es \"confía en nosotros\". Es estructura legal y técnica que sobrevive a cambio de gestión, adquisición o encierre.",[11,530,531,534,535,537],{},[53,532,533],{},"¿El conversor de jobspec convierte integración con cofre de secretos y gestor de configuración?","\nNo totalmente. Integraciones con cofre externo se vuelven ",[26,536,432],{}," bloques en el job HeroCtl — el conversor hace la transformación sintáctica, pero a ti te cabe revisar la lógica (rotación, política de acceso, alcance). Service mesh vía gestor externo generalmente se vuelve la criptografía embebida, con simplificación en la mayoría de los casos. Los casos exóticos (políticas dinámicas, secretos con renovación coordinada) quedan con aviso de \"revisar manualmente\" en el reporte del conversor.",[11,539,540,543],{},[53,541,542],{},"¿Y los plugins de driver de Nomad? Tengo un driver customizado para ejecutar binarios nativos.","\nHoy, HeroCtl ejecuta sobre Docker como runtime. Drivers exóticos (exec, java, qemu, customizados) no tienen equivalente directo — la aplicación necesita ser empaquetada en contenedor. Para mucha cosa, eso es simplificación; para algunos workloads (binarios compilados estáticamente, máquinas virtuales ligeras), es trabajo extra. Si dependes de driver no-Docker en producción, habla con nosotros antes de migrar.",[11,545,546,549,550,553],{},[53,547,548],{},"¿Y los jobs periódicos y en lote?","\nSoportados. HeroCtl tiene jobs de larga duración, jobs en lote (ejecuta, termina, libera) y jobs periódicos (cron-like). La sintaxis es directa — una clave ",[26,551,552],{},"schedule: \"*\u002F5 * * * *\""," en el archivo de configuración. Lo que aún no tenemos es fan-out masivo de batch (miles de tasks paralelas con agregación de resultado) — para eso, herramientas dedicadas a flujo de datos siguen siendo mejores.",[11,555,556,559],{},[53,557,558],{},"¿Puedo operar HeroCtl detrás de un Nomad existente?","\nTécnicamente sí — HeroCtl ejecuta en cualquier servidor Linux con Docker, así que puedes describir un job Nomad que sube el agente HeroCtl. Pero la recomendación es lo contrario: ejecutar HeroCtl en paralelo, migrar aplicación por aplicación, decomisionar Nomad cuando cómodo. Anidar dos orquestadores es mantener dos planos de control, dos modelos mentales, dos conjuntos de logs — sin ganancia.",[11,561,562,565],{},[53,563,564],{},"¿El precio de Business es mayor o menor que el de Nomad Enterprise?","\nLos precios de Business y Enterprise están publicados en la página de planes de HeroCtl — sin \"habla con ventas\" obligatorio como táctica de calificación. La licencia comercial de Nomad bajo IBM es negociada caso por caso y no tiene precio público; comparaciones directas dependen de cotización. El punto que destacamos no es \"somos más baratos que IBM\" — es \"nuestro precio es público y congelado para contratos existentes\". Sabes lo que pagas en cinco años. Esa previsibilidad es el producto.",[11,567,568,571],{},[53,569,570],{},"¿Cómo funciona el soporte?","\nCommunity tiene foro público y canales comunitarios — sin SLA. Business tiene soporte oficial directo del fabricante con SLA de horas en primera respuesta. Enterprise añade soporte 24×7 y desarrollo dedicado para extensiones específicas. Importante: soporte oficial es directo, no tercerizado vía canal, no dependiente de vendor extra en la cadena.",[18,573,575],{"id":574},"cierre","Cierre",[11,577,578],{},"La historia de Nomad es menos sobre Nomad y más sobre la forma de adoptar infraestructura. Software abierto controlado por una única empresa es frágil en escala de años — no en el código, sino en el contrato. Adquisición, IPO, cambio de gestión, presión de inversor: cualquiera de esos puede reescribir la base bajo tus pies.",[11,580,581],{},"La respuesta correcta no es \"rechaza todo lo que tiene CIF detrás\". La respuesta correcta es exigir que el contrato sea explícito desde el día uno, con términos congelados para quien ya firmó y mecanismo de continuidad si la empresa desaparece. Software comercial honesto, con esas tres propiedades, es estructuralmente más previsible que software abierto que puede cambiar.",[11,583,584],{},"Ese es el diseño de HeroCtl. Comercial desde el día uno. Plan Community gratuito permanente, sin feature gate artificial. Business y Enterprise con precios publicados. Sin phone-home, sin kill-switch. Escrow en Enterprise.",[11,586,587,588,591],{},"Para instalar: ",[26,589,590],{},"curl -sSL https:\u002F\u002Fget.heroctl.com\u002Finstall.sh | sh"," en un servidor Linux con Docker. Para alta disponibilidad real, el mismo comando en tres servidores — forman quórum automáticamente.",[11,593,594,595,599],{},"Para entender la motivación detrás de eso, lee ",[198,596,598],{"href":597},"\u002Fes\u002Fblog\u002Fpor-que-creamos-heroctl","por qué creamos HeroCtl"," — explica los tres caminos que existían en 2026, la laguna que cada uno dejaba, y lo que intentamos llenar.",[11,601,602],{},"Si estás en Nomad y quieres conversar sobre migración, escribe. Si estás en Nomad y estás bien, quédate en Nomad — y aprovecha para leer el contrato con más atención la próxima vez que llegue una renovación. Esa es la verdadera lección 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},"comparison",null,"2026-02-19","HashiCorp cambió la licencia de Nomad en agosto de 2023 y fue adquirida por IBM en febrero de 2025. Para quien está adoptando hoy, es un asterisco grande.",false,"md",{},true,"\u002Fes\u002Fblog\u002Fheroctl-vs-nomad","14 min",{"title":5,"description":621},{"loc":626},"es\u002Fblog\u002Fheroctl-vs-nomad",[632,633,634,635,636,637],"nomad","hashicorp","ibm","bsl","comparativo","migracion","rh5tXrxtP-HjSkmCngokJp_Va2GtGUD8ngE8A5hEcl4",[640,646],{"title":641,"path":642,"stem":643,"description":644,"date":645,"category":618,"children":-1},"HeroCtl vs Kamal: cuando necesitas más de un servidor","\u002Fes\u002Fblog\u002Fheroctl-vs-kamal","es\u002Fblog\u002Fheroctl-vs-kamal","Kamal es brillante para un VPS ejecutando Rails. Cuando el segundo cliente serio pide redundancia, la arquitectura necesita cambiar. Donde Kamal para y HeroCtl empieza.","2026-01-29",{"title":647,"path":648,"stem":649,"description":650,"date":651,"category":618,"children":-1},"Heroku auto-hospedado en 2026: el estado del segmento","\u002Fes\u002Fblog\u002Fheroku-auto-hospedado-2026","es\u002Fblog\u002Fheroku-auto-hospedado-2026","Desde que Salesforce mató el plan gratuito de Heroku en noviembre\u002F2022, surgieron decenas de alternativas auto-hospedadas. Mapa honesto del segmento y cómo elegir.","2025-11-19",1777362217838]