
Docker con enfoque en arquitecturas orientadas a microservicios. La idea: conectar ambos mundos — por un lado, qué define un microservicio y por qué importa; por otro, cómo Docker y los contenedores encajan en ese panorama para construir sistemas autónomos, aislados y escalables.
¿Qué es un microservicio?
Un microservicio hace una cosa y la hace muy bien. Es una unidad autocontenida de funcionalidad. En la charla desglosé las características que suelen definir este estilo de arquitectura:
- Autónomo — Se identifica por una ubicación única (URL). Es una unidad autocontenida.
- Aislado — Puedes modificarlo, probarlo y desplegarlo sin impactar otras áreas del sistema.
- Elástico — Se escala de forma independiente: vertical (más recursos) u horizontal (más instancias).
- Resiliente — Tolera fallos y mantiene alta disponibilidad.
- Responsivo — Responde en un tiempo razonable.
- Orientado a mensajes — Usa paso de mensajes asíncronos para establecer límites entre componentes.
- Programable — Expone APIs para desarrolladores, administradores y aplicaciones que se componen de múltiples servicios.
- Automatizado — Su ciclo de vida se gestiona con automatización: dev, build, test, staging, producción y distribución.
¿Son los microservicios la bala de plata?
No. Son una herramienta, no una religión. La charla cubrió cuándo ayudan y cuándo añaden complejidad. La clave es entender las contraprestaciones: más servicios implican más latencia de red, más complejidad operativa y desafíos con transacciones distribuidas. No todo proyecto necesita microservicios desde el día uno.
Conceptos de Docker
Pasé a los conceptos básicos de Docker: contenedores, imágenes, Docker Compose para orquestar múltiples servicios, y cómo encajan en un flujo de desarrollo y despliegue. También mencioné Docker Machine y Docker Swarm para entornos más avanzados.
Demos
En la charla mostré demos en vivo, incluyendo un load balancer con Docker. El código está disponible en los repos que compartí.
Recursos
Demos y artículos
- Docker Load Balancer Demo
- Divide and Conquer — Microservice Approach
- Ghost Docker
- Django Multiple Databases
Documentación oficial
- Docker
- Docker Compose
- Docker Machine
- Docker Swarm
- GitHub GraphQL API — útil para integrar con APIs modernas desde tus contenedores
Si querés un deep dive práctico en Docker — desde Dockerfiles y volúmenes hasta redes y Docker Compose — mirá el Workshop Introductorio a Docker que realicé en Rocka Labs.
A seguir construyendo.