# Choreography

> Let individual services decide when and how business operations are processed

- **Category**: Cloud
- **Subcategory**: azure
- **Canonical URL**: https://designpattern.fyi/patterns/azure_choreography/

---

## Description
The Choreography pattern lets individual services decide when and how a business operation is processed, instead of depending on a central orchestrator. Services communicate through events and each service reacts to events autonomously. This provides decentralization and flexibility but can be harder to coordinate.


## Use Cases
Use when you want decentralized coordination between services or when the workflow is simple enough that individual services can make autonomous decisions.





## Trade-offs


### Advantages

- No single point of failure

- Decentralized control

- Flexible and adaptable

- Natural fit for event-driven architectures




### Considerations & Drawbacks

- Complex to understand overall flow

- Difficult to debug and monitor

- Requires compensating transactions







---
**Reference**: [Original Source](https://learn.microsoft.com/en-us/azure/architecture/patterns/choreography)

