Un contenedor empaqueta un programa con todo lo que necesita para ejecutarse. Cuando tienes pocos, puedes gestionarlos manualmente. Cuando son decenas o cientos, necesitas un sistema que gestione todo eso: la orquestación de contenedores.
Cómo funciona
Describes el estado deseado, por ejemplo "quiero 3 copias de esta aplicación ejecutándose". El orquestrador compara ese deseo con la realidad y actúa para que ambos coincidan.
Las funciones principales son:
- Programación: decidir en qué servidor se ejecuta cada contenedor, según CPU y memoria disponibles.
- Escalado: aumentar o disminuir el número de copias según la demanda.
- Autocorrección: reiniciar un contenedor que se haya bloqueado o mover el trabajo si un servidor falla.
- Red y descubrimiento: permitir que los servicios se encuentren y distribuir el tráfico entre copias.
- Actualización gradual: cambiar la versión sin interrumpir el servicio.
El orquestrador más usado es Kubernetes. Docker Compose sirve para proyectos más pequeños en una sola máquina, y hay otras opciones.
Ejemplo práctico
Tienes una API que llama a un modelo de IA y recibe picos de acceso por la tarde. Con un orquestrador, defines el número mínimo y máximo de copias, y el sistema crea más cuando el uso sube.
Un ejemplo simple con Docker Compose, para una máquina:
services:
api:
image: minha-api:1.0
ports:
- "8080:8080"
deploy:
replicas: 3
restart: alwaysEn este archivo, restart: always reinicia el contenedor si se cae. En un clúster más grande, Kubernetes asume funciones parecidas, pero con muchos más recursos.
Para qué sirve
Sirve para mantener aplicaciones disponibles, escalar con la demanda y hacer despliegues seguros. En IA, se usa mucho para ejecutar servidores de inferencia, colas de procesamiento y clústeres de GPU que atienden varios modelos.
También ayuda a estandarizar entornos: lo que se ejecuta en pruebas se ejecuta igual en producción.
Diferencia entre orquestración de contenedores y orquestración de agentes
Son cosas diferentes. La orquestación de contenedores cuida de infraestructura: dónde y cómo se ejecutan los programas. La orquestación de agentes cuida de trabajo: cómo varios agentes de IA dividen tareas y se coordinan. Una puede ejecutarse sobre la otra, pero no se confunden.
Cuándo no usar
Los orquestadores completos tienen curva de aprendizaje y costo de mantenimiento. Para un sitio pequeño o un prototipo, un hosting simple o Docker Compose suele bastar. Adopta algo más grande cuando la necesidad aparezca de verdad.