Choreography vs. Orchestration: Designing Distributed Workflows in Microservices
In a monolithic architecture, executing a complex business transaction—such as fulfilling an e-commerce order—is straightforward. All data resides in a single relational database, allowing developers to wrap multiple database writes across inventory, payments, and shipping inside a single ACID transaction. If an error occurs at any point, a SQL ROLLBACK instantly restores system consistency.
However, modern cloud-native systems adopt a Microservices Architecture, where each service owns its data and exposes distinct API boundaries. In this distributed paradigm, a single end-to-end business operation spans multiple independent microservices and database engines.
Microservices
Choreography
Orchestration
System Design
Distributed Systems
Saga Pattern
Event-Driven Architecture
Software Architecture