Choreography vs Orchestration Patterns
Contrast event choreography (each service reacts independently) with orchestration (a central coordinator directs services), and select the right pattern for your architecture.
Two Approaches to Microservice Coordination
When microservices need to work together to complete a business process, there are two fundamental coordination patterns. Orchestration uses a central coordinator (like Step Functions) that explicitly commands each service. Choreography has no central coordinator — services listen for events and react independently. Understanding which to use, and when to combine them, is a key architectural skill tested on the SAA-C03 exam.
Orchestration Pattern Explained
In orchestration, a central service (the orchestrator) controls the sequence of operations. It calls Service A, waits for the response, then calls Service B, and so on. The orchestrator has full visibility into the process state, handles errors and retries, and can make decisions based on intermediate results. On AWS, Step Functions is the canonical orchestrator — it defines the entire workflow as a state machine and drives each step.
# Orchestration: Step Functions state machine drives order processing
# StepFunctions -> ValidateOrder Lambda -> ChargePayment Lambda -> NotifyShipping Lambda
# Each arrow is an explicit command from the orchestrator
# If ChargePayment fails, Step Functions catches the error and routes to NotifyFailure
# The orchestrator (Step Functions) knows the full state of the order at every momentAll lessons in this course
- EventBridge: Event Bus and Rules
- Step Functions: Orchestrating Serverless Workflows
- Kinesis Data Streams for Real-Time Event Processing
- Choreography vs Orchestration Patterns