Kubernetes overkill: cuándo no lo necesitas
80% de los equipos que adoptan Kubernetes no lo necesitan. La cuenta es directa: salario de SRE × tiempo hasta el primer feature shippado. Cuándo vale la pena saltarse el coloso.
La pregunta correcta en 2026 no es "¿Kubernetes es bueno?". Ese debate terminó — sí, lo es. La pregunta correcta es otra, y casi ningún CTO de startup la hace en voz alta: "¿necesito esto para lo que estoy construyendo?".
Para la mayoría de los equipos que están decidiendo arquitectura ahora, la respuesta honesta es no. Pero el sistema de incentivos de la industria empuja en la dirección contraria. Reclutadores filtran currículum por palabra clave. Conferencias premian a quien muestra YAML en proyector. Inversor de Serie A pregunta "¿están en K8s?" como si fuera sello de seriedad. El resultado colectivo es una capa gigante de complejidad adoptada por equipos que no tenían el problema que esa complejidad resuelve.
Este post es la defensa explícita del "no lo necesitas", con la cuenta en la mano. No es sobre Kubernetes ser malo — es sobre elegir la herramienta correcta para el tamaño real del problema que tienes hoy, y no para la foto que quieres proyectar.
La seducción es real (y tiene nombre)
La primera cosa a admitir es que la adopción excesiva de Kubernetes no es irracional. Tiene todo sentido — para el individuo. El nombre de la fuerza que opera aquí es resume-driven development.
Ingeniero de plataforma que aprende Kubernetes gana, en promedio, 30% más en el siguiente empleo. Es la habilidad técnica con mayor premio salarial en listados de vacante en 2026 entre todo lo que involucra operación. Quien pone "operó cluster multi-region en producción" en LinkedIn tiene treinta reclutadores en la semana. Quien pone "operó panel auto-hospedado en tres servidores" tiene dos.
Para el ingeniero, es racional aprender Kubernetes incluso cuando el trabajo no lo pide. Para el CTO, es racional adoptar Kubernetes incluso cuando el producto no lo pide — señaliza al mercado que la empresa "está lista para escalar", que es el vocabulario que el inversor entiende. Para el equipo de plataforma, es racional sugerir Kubernetes en cualquier proyecto nuevo — garantiza relevancia en los próximos cinco años.
Cada uno de esos cálculos individuales es defendible. El agregado es desastroso. La empresa paga la cuenta de una decisión que nadie tomó pensando en la empresa.
El punto de partida de este post es asumir esa tensión. Tú, leyendo, tal vez estés siendo presionado por una de las tres fuerzas arriba. Reconocer la presión es el primer paso para decidir con base en el problema real, no en el incentivo de quien te está aconsejando.
La cuenta financiera honesta
Vamos a poner números. Reales, brasileños, en 2026. Para la versión de esa cuenta con la lente brasileña completa — cambio, LGPD, hospedaje nacional — hay un post específico en Alternativa a Kubernetes en 2026: PaaS auto-hospedado.
Ingeniero de plataforma sénior en São Paulo o Florianópolis, capaz de operar Kubernetes en producción sin supervisión, cuesta hoy entre R$25 mil y R$40 mil al mes en CLT, o entre US$8 mil y US$12 mil al mes en PJ. Vamos a usar R$30 mil como promedio conservador — es el salario que consigues cerrar con alguien competente que todavía no alcanzó el techo de mercado.
Pero R$30 mil es solo una persona. Cluster en producción necesita guardia 24×7. La ley laboral brasileña no permite que una única persona cargue guardia indefinida — y aunque lo permitiera, la salud mental del operador único colapsa en seis meses. Necesitas como mínimo dos personas turnándose, con descanso real entre escalas.
R$30 mil × 2 personas × 12 meses = R$720 mil al año solo en nómina.
Sobre esa nómina, agrega cargas (CLT corre en torno de 70-100% por encima del salario base; PJ varía pero generalmente queda en 30-40% si quieres tratar a la persona decentemente). Y sobre eso, costos reales de un equipo de plataforma: licencias de herramientas auxiliares, capacitación, certificaciones que el mercado pide, conferencias, eventual contratación de consultoría puntual cuando algo se rompe de un modo que nadie de la casa vio antes.
En la infraestructura propiamente, la cuenta tampoco es barata. Versión gestionada del coloso (EKS, GKE, AKS) cobra cerca de US$73 al mes por cluster solo por el plano de control — eso son unos R$370 al mes. Sobre eso entra NAT Gateway (US$40 al mes mínimo), Application Load Balancer (US$25 al mes mínimo), tráfico de salida cobrado por gigabyte, snapshots de disco, costos de observabilidad que crecen con el número de pods y métricas exportadas.
Empresas serias corren al menos dos ambientes (staging y producción), y muchas tienen un tercer ambiente de desarrollo u homologación dedicado. Multiplica.
Estimación total año 1, con dos ingenieros de plataforma y dos ambientes gestionados: entre R$770 mil y R$800 mil. Eso antes del primer cliente serio, antes del primer real de ingreso recurrente, antes de la segunda contratación de producto.
Haz la comparación inversa. Un equipo de tres desarrolladores full-stack a R$15 mil cada uno: R$540 mil al año. Con cargas, digamos R$720 mil. Es exactamente la misma franja.
La pregunta concreta es esa: ¿prefieres tener tres personas más shippando código que el cliente va a usar, o prefieres tener dos personas manteniendo plataforma que el cliente nunca va a ver?
No hay respuesta universal. Pero casi siempre, en la etapa en que esa decisión es tomada — empresa pre-Serie A, equipo de cinco a quince personas, producto buscando product-market fit — la respuesta correcta es shippar producto.
La cuenta de tiempo (más importante que la financiera)
Dinero capturas o ahorras. Tiempo no recuperas. La cuenta de tiempo pesa más que la cuenta de R$.
Setup de Kubernetes gestionado para producción mínimamente decente lleva 2 a 4 semanas. No es instalar el cluster — eso son minutos. Es configurar el ingress controller, el emisor de certificados, el stack de monitoreo (en general tres productos coordinados), el sistema de logs centralizado, backup automático de los volúmenes persistentes, alertas, política de red entre pods, segregación de namespaces. Cada componente tiene cinco elecciones legítimas y tres trampas conocidas.
Primer deploy de aplicación real después de eso: más una semana. Manifiestos para la aplicación, manifiestos para los componentes auxiliares, definición de probes de salud (liveness, readiness, startup), ajuste de recursos solicitados versus límites, pruebas de carga para calibrar autoscaling, pruebas de falla para calibrar política de reinicio.
Cada feature nueva de plataforma después de eso se vuelve proyecto. Secretos rotados automáticamente: una a dos semanas. Métricas customizadas integradas al panel: una semana. Malla de comunicación entre servicios con observabilidad punta a punta: dos a tres semanas, y eso si eliges una de las opciones estables de entrada. Política de red granular por namespace con auditoría: una semana.
Gastas los primeros seis meses montando plataforma. Ese es el escenario optimista, con gente competente y sin grandes incidentes.
Mientras tanto, el competidor más pequeño que eligió un stack más simple está shippando features. Cuando terminas la "plataforma mínimamente decente", él ya tiene tres features que no tienes, ocho clientes que tomaron decisión de compra con base en esas features, y un ciclo de feedback corriendo que va a componer las próximas features de él con más precisión.
En mercados donde el ganador es decidido en los primeros doce meses — casi todo mercado de SaaS B2B — ese atraso es fatal. Puedes tener la infraestructura más robusta del segmento y perder el segmento entero porque llegaste tres meses tarde con la feature que importa.
El perfil que NO necesita Kubernetes
Aquí mora la mayoría de los equipos que están decidiendo eso en 2026. Si encajas en todos los criterios abajo, Kubernetes es overkill — casi con certeza:
- Equipo de 1 a 15 ingenieros. No tienes cómo dedicar dos personas solo a plataforma sin comprometer 15-30% de la capacidad de entrega.
- 1 a 50 servidores totales en producción. En ese tamaño, abstracciones simples todavía funcionan. Logras listar todos los servidores en una página.
- 1 a 100 servicios o aplicaciones distintas. El ecosistema del coloso brilla cuando tienes miles de microservicios con dependencias cruzadas. Por debajo de 100, la complejidad del orquestador es mayor que la complejidad del sistema que orquesta.
- Tráfico previsible. No tiene pico de 100× en 30 segundos. Si tu carga oscila dos o tres veces entre el valle y el pico a lo largo del día, no necesitas autoscaling milimétrico.
- Workloads HTTP/web típicos. Aplicación web, API REST, worker de cola, base gestionada. Sin necesidades exóticas como GPU sharding, ML inference a gran escala, procesamiento batch petabyte por noche.
- Operación en 1 a 3 regiones cloud. Atiendes un país, o como máximo dos continentes cercanos. No estás orquestando workloads que migran entre cinco datacenters en tiempo real.
Esa es la abrumadora mayoría de los equipos que adoptan Kubernetes hoy. Encajan en los seis criterios y aun así eligieron la herramienta diseñada para resolver el opuesto de cada criterio.
Si te reconoces aquí, la próxima sección puede ser incómoda — pero lee hasta el final antes de descartar.
El perfil que NECESITA Kubernetes
Para no caer en "Kubernetes nunca sirve", aquí está el lado honesto. Esos son los perfiles en que adoptar el coloso es la elección correcta, no overkill:
- SaaS multi-tenant con aislamiento por namespace, con requisitos de cuota de recursos, política de red granular, y auditoría por inquilino. Bancos, fintechs reguladas, plataformas que venden hosting a otros desarrolladores. El modelo de namespaces del coloso es el mejor primitivo disponible para ese problema.
- Operación real multi-region con workloads moviéndose entre datacenters en respuesta a falla o demanda. No es "tengo réplicas en dos regiones para DR". Es "muevo cargas de trabajo activas entre cuatro regiones con gestión automática de estado y latencia". Empresa muy grande, con mucho dinero.
- Dependencia de operadores especializados maduros que valen el overhead. Postgres con replicación automática, Kafka con balanceo continuo, Cassandra con bootstrap orquestado, Spark en batch. Si tu arquitectura tiene tres o más de esos componentes operados por automatización especializada, el ecosistema del coloso es el lugar donde esa automatización maduró.
- Equipo de plataforma de cinco o más personas dedicadas. Tienes capacidad humana real para mantener el sistema sin comprometer entrega de producto. No es una persona haciendo "también" plataforma; es un departamento.
- Compliance que exige nombres de herramientas pre-aprobadas. FedRAMP, ITAR, algunos contratos de gobierno, algunos frameworks de salud en EE. UU. Si tu auditor necesita apuntar a un certificado existente en una lista, el coloso está en esa lista. Otras alternativas, en general, todavía no.
- Escala de cientos a miles de nodos. Por encima de 500 servidores sales del rango donde alternativas más simples brillan y entras en el rango donde el coloso fue proyectado para trabajar. No hay sustituto serio aquí.
Si tienes tres o más de esos, Kubernetes es la elección correcta, no overkill. Adopta sin culpa, contrata el equipo, gasta el dinero — está alineado.
Si tienes uno o dos, presta atención: probablemente se puede resolver con algo más simple y migrar después, si de hecho escala hasta necesitar más. Evalúa con calma.
Si tienes cero, cualquier adopción de Kubernetes es decisión de currículum, no de producto. Sé honesto con el equipo y contigo mismo.
La zona gris — donde mora el error más común
Existe una franja intermedia donde la decisión es más difícil, y es donde el error más común sucede. Vamos a describirla con precisión:
- Equipo de 5 a 15 ingenieros
- 5 a 20 servidores
- 10 a 50 servicios o aplicaciones
- 1 o 2 regiones cloud
- Crecimiento esperado pero no explosivo (digamos, duplicar de tamaño en 18 meses)
Aquí mora el 70% de los equipos de SaaS pre-Serie B en Brasil en 2026. Y aquí mora la frase fatal: "vamos a crecer rápido entonces mejor ya empezar con Kubernetes".
La falacia es doble. Primera: no vas a crecer 100× en seis meses. Crecimiento real de SaaS exitoso queda entre 2× y 5× al año en los primeros tres años. Tienes tiempo de migrar si de hecho lo necesitas.
Segunda, y más importante: el stack que eliges para un equipo de cinco personas raramente es el stack que vas a correr con cincuenta. Las prioridades cambian, los requisitos cambian, los trade-offs cambian. Empresas que escalaron de cinco a cincuenta personas y mantuvieron el mismo stack son excepción, no regla. Vas a migrar de cualquier forma — solo la pregunta es cuándo, y qué vas a tener shippado hasta ahí.
La heurística correcta es: optimiza para hoy + 18 meses, no para hipótesis de 5 años. Si en los próximos 18 meses tu infra no va a exigir Kubernetes, no lo adoptes ahora. Cuando el problema aparezca, tendrás ingresos para contratar al equipo que opera, y claridad sobre los requisitos reales (que serán diferentes a lo que imaginas hoy).
La ingeniería que envejece bien es la que resuelve el problema actual con holgura, no la que intenta anticipar todos los problemas hipotéticos.
Lo que ganas en cada camino
Para organizar la decisión, tres caminos lado a lado en diez criterios. Las notas son honestas — todo camino tiene reservas.
| Criterio | K8s gestionado | Panel auto-hospedado simple | HeroCtl |
|---|---|---|---|
| Costo de plataforma año 1 (R$) | 700-800k | 40-80k (1 dev part-time) | 60-120k (1 dev part-time + plan) |
| Tiempo hasta primera app en producción | 2-4 semanas | 5 minutos a 1 día | 5 minutos a 1 hora |
| Equipo mínimo dedicado | 2 SREs en guardia | 1 dev part-time | 1 dev part-time |
| Alta disponibilidad real (sobrevive a caída de servidor) | Sí, con 5+ componentes coordinados | No (servidor único) | Sí, embebida |
| Escala máxima validada en producción | Decenas de miles de nodos | 1 servidor | Cientos de nodos |
| Router HTTP + certificados automáticos | Operador externo (instala separado) | Embebido | Embebido |
| Métricas con retención razonable | Stack externa (3+ productos) | Plugin opcional | Job interno |
| Logs centralizados | Stack externa (2+ productos) | Plugin opcional | Escritor único embebido |
| Secretos cifrados en reposo | Componente externo o bóveda dedicada | Variable de ambiente | Embebido en el plano de control |
| Rolling update seguro | Sí (configuras tú mismo) | Limitado | Embebido con health check |
La columna del medio resuelve el caso "un servidor, sin presión de SLA" — y resuelve bien. La columna de la izquierda resuelve "cientos de nodos, equipo dedicado, requisitos complejos" — y resuelve bien. La columna de la derecha resuelve la franja entre los dos extremos, que es donde la mayoría de los equipos de SaaS vive hoy en Brasil.
HeroCtl como el medio término honesto
Para ser directo contigo: este blog es del HeroCtl, y el pitch existe. Pero solo tiene sentido para quien encaja.
HeroCtl preserva el modelo operacional de los paneles auto-hospedados simples — un archivo ejecutable, instala en servidores Linux, gestiona todo desde un panel embebido. La curva de aprendizaje es de horas, no de semanas. No necesitas aprender vocabulario nuevo, conceptos abstractos, herramientas adyacentes obligatorias. Subes la aplicación, abres el panel, ves lo que está corriendo.
Pero, diferente de los paneles simples, HeroCtl corre como cluster replicado de verdad desde el día uno. Tres servidores o más y el plano de control sobrevive a la caída de cualquiera de ellos, sin intervención manual. La elección de coordinador ocurre en cerca de 7 segundos después de una caída dura — probado en laboratorio con kill -9 repetido. Respondes "¿cuál es el SLA?" al primer cliente serio con la cara limpia.
Y sin la complejidad del coloso. Sin manifiestos de 300 líneas — el equivalente en HeroCtl corre en cerca de 50 líneas. Sin operadores especializados para cada subsistema — router, certificados, métricas y logs vienen embebidos. Sin montar tres productos de observabilidad — el stack público vive dentro del propio cluster.
Rango de aplicación práctico: 1 a 500 servidores. Por encima de eso, el ecosistema del coloso te da herramientas que todavía no tenemos, y somos honestos sobre eso. Por debajo de eso, la economía operacional es grande — generalmente cambia dos ingenieros de plataforma en guardia por un desarrollador part-time gestionando el stack entero.
Los números del cluster público para calibrar expectativa: 4 servidores totalizando 5 vCPUs y 10 GB de RAM, corriendo 16 contenedores que sirven 5 sitios distintos con TLS automático. El plano de control ocupa entre 200 y 400 MB por servidor. Comparativamente, el plano de control de una versión gestionada del coloso parte de cerca de 700 MB por nodo-maestro antes de que cualquier aplicación suba.
Decisión práctica (árbol de decisión)
Para quien necesita una respuesta hoy, sin leer el post entero de nuevo:
- ¿Tienes equipo de plataforma dedicado de 3 o más personas, hoy, contratadas? Si sí → Kubernetes es viable. Si no → sigue.
- ¿Tienes requisito formal de compliance que lista Kubernetes nominalmente? Si sí → Kubernetes es obligatorio. Si no → sigue.
- ¿Operas 100 o más servidores en producción, hoy? Si sí → Kubernetes o un orquestador equivalente es la elección correcta. Si no → sigue.
- ¿Tienes un único servidor y cero presión de SLA? Si sí → panel auto-hospedado simple resuelve. Si no → sigue.
- ¿Estás entre 2 y 500 servidores, con requisito de SLA real, y quieres evitar la cuenta de la plataforma del coloso? → HeroCtl es el medio término honesto.
Casi todo equipo de SaaS pre-Serie B en Brasil en 2026 cae en el caso 5. Quien cae en el caso 1 o 3 ya lo sabe y probablemente no está leyendo este post. Quien cae en el caso 2 tiene regulación dictando.
Preguntas que recibimos
¿Y si crezco y necesito el coloso después? Crece primero. Migra después. Migración de 50 servidores corriendo HeroCtl a Kubernetes es un proyecto de un trimestre con equipo pequeño — bastante más barato que cargar plataforma del coloso por dos años sin necesitar. Y cuando de hecho lo necesites, tendrás ingresos para contratar a quien opera.
¿Puedo usar Kubernetes solo para parte del stack? Puedes, y a veces tiene sentido. Workload específico que se beneficia de operador especializado maduro (Spark batch, ML inference de gran escala) puede correr en cluster del coloso dedicado, mientras el resto del producto corre en algo más simple. El costo es mantener dos modelos operacionales — vale si el subconjunto aislado realmente compensa.
¿Y si mi cliente exige Kubernetes contractualmente? Ahí Kubernetes se vuelve requisito de venta, no decisión de arquitectura. Si el ingreso lo justifica, adopta para el contrato en cuestión. Pero exige el ítem por escrito — muchas veces el cliente "exige Kubernetes" porque el equipo técnico de él asumió, sin que nadie haya escrito en una cláusula. Vale revisar.
¿Y si ya invertí 2 años aprendiendo Kubernetes? El conocimiento no se pierde. Kubernetes va a seguir relevante por décadas — es la infraestructura estándar de empresas grandes, y empresas grandes no desaparecen. Tienes capital intelectual aplicable cuando la empresa crezca, o cuando cambies de empleo a una que de hecho lo necesite. La elección de no usarlo ahora no invalida el aprendizaje; solo atrasa el uso.
¿Hay caso de migración de Kubernetes a algo más simple? Sí, más común de lo que se discute públicamente. Empresas que adoptaron temprano, percibieron que los requisitos no lo justificaban, y migraron para reducir costo operacional y recuperar velocidad de entrega. En general queda fuera de blog post porque admitir "volvimos atrás" es incómodo. Pero sucede, y casi siempre el equipo reporta productividad mayor después.
¿Cuánto tiempo lleva para un equipo aprender HeroCtl versus Kubernetes? HeroCtl: un desarrollador competente corre el stack entero en producción en un día. Documentación cabe en un post largo, conceptos suman a unos cinco. Kubernetes: el tutorial oficial lleva una semana, y el tiempo hasta "operar con confianza en producción" varía de tres a doce meses, dependiendo de la complejidad del stack adyacente. No es la misma escala.
¿Y para quien no puede pagar nada de plataforma? El plan Community de HeroCtl es gratuito permanente. Sin límite artificial de servidores, sin feature gate en alta disponibilidad, sin expiración. Corres todo el stack descrito aquí — coordinación, router, certificados, métricas y logs — sin pagar nada. Los planes pagados (Business y Enterprise) agregan cosas que solo importan cuando la empresa crece: SSO corporativo, auditoría detallada, escrow de código fuente, soporte con SLA. El contrato de precio actual es congelado para quien firma hoy — sin cláusula que permita cambio retroactivo.
Cierre
La pregunta con que abrimos no es retórica. "¿Necesito esto para lo que estoy construyendo?" merece respuesta honesta, del tamaño de tu problema real, sin el filtro de la presión de currículum, de la reunión con inversor, o de la charla de conferencia de la semana pasada.
Para la mayoría de los equipos de SaaS pre-Serie B en Brasil en 2026, la respuesta honesta es no. No porque Kubernetes sea malo — es excelente para lo que fue diseñado. Pero porque lo que fue diseñado para resolver no es tu problema actual. Estás plantando plántula; él es una excavadora.
Hay camino del medio. Si quieres experimentar:
curl -sSL get.heroctl.com/install.sh | sh
Corre en cualquier servidor Linux con Docker. Sin registro, sin tarjeta, sin phone-home. Si te gusta, escala a tres servidores y ganas alta disponibilidad real. Si no te gusta, desinstalas y vuelves a lo que estabas usando — sin dato preso, sin dependencia embebida.
La historia larga de por qué elegimos construir esto, en lugar de apuntar a una de las alternativas existentes, está en /es/blog/por-que-creamos-heroctl. Es la lectura complementaria para quien quiere entender el razonamiento antes de la herramienta.
La intención es simple: orquestación de contenedores, sin ceremonia. Y sin el costo del coloso cuando no lo necesitas.