concepto · intermedio · 2 min de lectura
Coreografía vs Orquestación
En sistemas distribuidos, la coreografía delega la coordinación a eventos entre servicios, mientras que la orquestación centraliza el control en un coordinador que dirige el flujo paso a paso.
No requiere conocimientos previos.
Alcance en breve
Cubre
- Coreografía vs Orquestación as an architectural concept
No cubre
- implementation details
Supone
- The reader understands distributed systems concepts.
Resumen
Cuando una operación de negocio abarca múltiples servicios, hay dos estrategias para coordinar el flujo:
Orquestación: un servicio central —el orquestador— dirige el proceso. Llama a cada servicio en orden, espera su respuesta, y decide el siguiente paso basado en el resultado. Es como un director de orquesta: cada músico espera su indicación.
Coreografía: no hay un coordinador central. Cada servicio sabe qué hacer cuando recibe un evento y emite eventos que otros servicios consumen. Es como un baile grupal donde cada bailarín conoce sus pasos y reacciona a los movimientos de los demás.
Alcance y supuestos
Este paquete cubre los dos enfoques de coordinación en sistemas distribuidos y el patrón Saga. Asume familiaridad con microservicios y mensajería.
Modelo mental
Un restaurante con dos modelos de atención. En el modelo con capitán —orquestación—, el capitán toma el pedido, lo pasa a cocina, coordina los tiempos y avisa a los mozos cuándo servir cada plato. En el modelo sin capitán —coreografía—, cada mozo ve los platos que salen de cocina y sabe a qué mesa van.
Uso práctico
- ✅ Orquestación: flujos complejos con lógica condicional, fácil de entender y monitorear.
- ✅ Coreografía: servicios muy desacoplados donde agregar pasos nuevos no debería tocar el orquestador.
- ❌ Coreografía sin trazabilidad: difícil entender qué pasó cuando un flujo falla.
Ejemplo trabajado: saga con orquestación para compra
Un orquestador Saga maneja una compra: 1) reserva stock, 2) cobra pago, 3) agenda envío. Si el pago falla, el orquestador ejecuta la compensación de stock. Es fácil de entender y monitorear —el orquestador tiene el estado del flujo—. Cuando el CTO pide agregar un paso de verificación de fraude, se agrega en el orquestador sin tocar los servicios participantes.
Evidencia
- El patrón Saga puede implementarse con ambos enfoques. La elección depende de la complejidad del flujo y el acoplamiento aceptable entre servicios.
Fuentes citadas
- Microsoft Azure Architecture Center, Cloud Design Patterns (Oficial, 21-07-2026)