0Pricing
AWS Solutions Architect · Lesson

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 moment

All lessons in this course

  1. EventBridge: Event Bus and Rules
  2. Step Functions: Orchestrating Serverless Workflows
  3. Kinesis Data Streams for Real-Time Event Processing
  4. Choreography vs Orchestration Patterns
← Back to AWS Solutions Architect