System design under constraints
Turn requirements, workload estimates, and failures into an explainable design.
Turn a product requirement into a defensible service design
A design begins with an action such as saving a link, reserving a seat, or accepting an upload. It then needs rules for ownership, duplicates, freshness, failure, and capacity. A queue or cache belongs only where it helps meet those rules.
Use the design method and mechanism reference first. Each brief supplies a scenario, workload assumptions, a local starting point, and a proposed AWS mapping. Build or explain the baseline before changing scale, availability, or ordering in its follow-ups.
Parts group related chapters. Each lesson has a chapter.lesson address, such as 4.07. Open a title below, or use Next to follow the reading sequence. Within a lesson, On this page lists its sections.
- 9.01
Design a service from its contract, workload and failure limits
Concepts and examples
- 9.02
Draw a bookmark request, then change its failure boundary
Concepts and examples
- 9.03
Choose architecture mechanisms from the boundary they enforce
Concepts and examples
- 9.04
Build a private bookmark API with ownership and version checks
Concepts and examples
- 9.05
Enforce API quotas across concurrent gateways
Concepts and examples
- 9.06
Reserve concert seats with expiring holds
Concepts and examples
- 9.07
Build chat with durable messages and reconnect recovery
Concepts and examples
- 9.08
Build a following feed with current access checks
Concepts and examples
- 9.09
Process uploads and publish complete video renditions
Concepts and examples
- 9.10
Build checkout that recovers from uncertain payments
Concepts and examples
- 9.11
Deliver notifications with preferences and priority
Concepts and examples
- 9.12
Build a versioned shared document editor
Concepts and examples
- 9.13
Deliver signed webhooks with retries and replay
Concepts and examples
- 9.14
Design a URL shortener
Concepts and examples
- 9.15
Assign drivers safely with expiring offers
Concepts and examples
- 9.16
Build restaurant discovery and authoritative checkout
Concepts and examples
- 9.17
Reserve rooms and handle recurring local times
Concepts and examples
- 9.18
Build resumable uploads and authorized video playback
Concepts and examples
- 9.19
Collect news feeds with freshness and deduplication
Concepts and examples
- 9.20
Build versioned API routing and admission policies
Concepts and examples
- 9.21
Run programming submissions inside isolated workers
Concepts and examples
- 9.22
Design a private asynchronous export service
Projects and practical assessment