Escalando Docker con Docker Swarm
Clase 2 de 24 • Curso de Swarm
Contenido del curso
Primeros pasos
- 6

Instalación de Docker en Mac, Ubuntu y Windows
10:13 min - 7

Cómo iniciar Docker Swarm en tu máquina
08:35 min - 8

Creando servicios en Docker Swarm
05:36 min - 9

Cómo funciona docker service ps internamente
11:09 min - 10

Qué es Play with Docker para practicar
06:27 min - 11

Creando un Docker Swarm multinodo real
06:15 min
Administrando Servicios
Swarm avanzado
- 15

Cómo Docker Swarm enruta tráfico sin perder peticiones
06:56 min - 16

Docker Swarm constraints: dónde correr cada tarea
09:04 min - 17

Cómo drenar nodos en Docker Swarm sin downtime
07:56 min - 18

Redes Overlay en Docker Swarm: Comunicación entre Servicios
13:39 min - 19

Docker Stack: automatiza despliegues multinodo
10:49 min - 20

Implementación de Reverse Proxy con Traefik en Docker Swarm
16:49 min
Swarm productivo
Conclusiones
Si ya dominas Docker, el siguiente paso es escalar sin fricción. Docker Swarm permite administrar un cluster de máquinas como si fuera un único Docker daemon, haciendo simples las actualizaciones, la rotación de contenedores y la alta disponibilidad. Conecta tus conocimientos de Docker y Docker Compose para operar en producción sin procesos tediosos ni propensos a fallos.
¿Qué problema resuelve Docker Swarm en la escala?
Para una aplicación expuesta en Internet, las peticiones llegan a un grupo de servidores detrás de un balanceador de carga. Sin una capa de orquestación, actualizar implica ir máquina por máquina: quitar del balanceador, evitar cortar conexiones, rotar contenedores y volver a habilitar, repitiendo el ciclo en cada nodo. Esa práctica, conocida como rolling deployment, funciona, pero es engorrosa y propensa a errores si se hace a mano.
¿Por qué el balanceador de carga es clave?
- Recibe peticiones y las distribuye en otras máquinas.
- Permite sacar un servidor durante una actualización sin matar conexiones activas.
- Facilita rebalancear el tráfico mientras se rota cada contenedor.
¿Qué es un rolling deployment y por qué cansa?
- Actualización por lotes: se rota un nodo a la vez.
- Secuencia repetitiva: sacar del balanceador, actualizar, verificar y reingresar.
- Escala mal a muchas máquinas si no se automatiza.
¿Cómo funciona el clustering con Docker Swarm?
Docker Swarm es la solución de clustering incluida en Docker. Propone tener muchas máquinas que, hacia los usuarios administrativos (desarrolladores y operadores), se comportan como un solo entorno Docker. Se usa “como local”, pero con acceso a múltiples nodos, y simplifica acciones típicas: “quiero actualizar este servicio”, “quiero rotar estos contenedores”, “esto corre acá y aquello allá”.
¿Qué gana el equipo de desarrollo y operaciones?
- Interfaz familiar: se opera como un Docker daemon único.
- Reutilización de saberes de Docker y Docker Compose.
- Alta disponibilidad y administración sencilla del cluster.
- Escalado simple: si con Compose usabas scale “a cuatro” para elevar potencia, con Swarm extiendes esa idea al cluster completo.
¿Qué componentes interactúan?
- Nodos: múltiples máquinas corriendo su Docker.
- Usuarios administrativos: desarrolladores y operadores gestionando servicios.
- Contenedores y servicios: actualizaciones y rotaciones simplificadas por Swarm.
- Swarm: coordina dónde corre cada cosa y expone un punto de control unificado.
¿Qué habilidades y conceptos necesitas reforzar?
Dominar estos conceptos acelera el paso a producción con alta disponibilidad y escalabilidad:
- Escalabilidad: crecer a “muchos, muchos más usuarios” sin reescribir la app.
- Balanceador de carga: entrada única que distribuye tráfico entre servidores.
- Rolling deployment: actualización gradual sin cortar conexiones.
- Clustering: conjunto de máquinas que actúan como un sistema único.
- Automatización de despliegues: menos tareas manuales, menos fallos.
- Rotación de contenedores: bajar, actualizar y subir contenedores sin downtime.
- Reutilización de Docker/Compose: mismas prácticas, ahora sobre varios nodos.
- Administración centralizada: operar el cluster “como si fuera un Docker daemon”.
Guido anticipa que luego se verá la arquitectura interna de Docker Swarm para crear y administrar “swarms” y aprovecharlos al máximo. ¿Qué te gustaría que se profundice primero: balanceo, rolling deployment o flujos de actualización? Deja tus preguntas en los comentarios.