System Design 201: Systems under load
Your food-delivery app gets drivers and opens more cities. The database starts to struggle, a lunchtime downpour makes orders spike, one slow service makes the whole app wait. You learn to keep the system standing under heavy load and failures, with a bill that still makes sense.
- Intermediate
- About 10 to 12 hours
- 8 sections
- 44 lessons
This course is being written and is not open yet. The outline is below; leave your email if you'd like to hear when it opens.
Tell me when it opens
Course outline
Section 1
Getting started
Where are you now?
Check · 10 min
Your app gets drivers
Lesson · 8 min
Section 2
The database can't carry it (partitioning, sharding, failover)
Old orders crowd out new ones
Lesson · 8 min
One database is not enough for the whole country
Lesson · 10 min
One restaurant goes viral
Lesson · 10 min
The primary stops
Lesson · 10 min
Database peak season
Practice · 25 min
Looking back at chapter 1
Lesson · 5 min
Section 3
Drivers send their location every few seconds (write-heavy data)
Thousands of drivers, one dot each
Lesson · 10 min
Batch, then write
Lesson · 10 min
Which order goes to which driver?
Lesson · 10 min
Messages arrive out of order
Lesson · 8 min
Rush hour on the roads
Practice · 25 min
Looking back at chapter 2
Lesson · 5 min
Section 4
Rain at half past eleven (traffic surges)
Orders triple in ten minutes
Lesson · 8 min
New machines take time too
Lesson · 10 min
Everyone taps "retry"
Lesson · 10 min
A thousand people ask for the same dish
Lesson · 10 min
Turn some away to keep serving
Lesson · 10 min
A rainy lunch
Practice · 25 min
Looking back at chapter 3
Lesson · 5 min
Section 5
One slow part, the whole app waits (failure isolation)
Waiting forever on a service that never answers
Lesson · 10 min
Knowing when to stop calling
Lesson · 10 min
Search eats the ordering page's capacity
Lesson · 10 min
One big chain takes all the quota
Lesson · 8 min
Updating without an outage
Lesson · 8 min
The day payments act up
Practice · 25 min
Looking back at chapter 4
Lesson · 5 min
Section 6
Opening more cities (CDN, regions)
Menu photos far from the viewer
Lesson · 10 min
Adding a server region
Lesson · 10 min
A whole region goes down
Lesson · 10 min
Two places edit the same order
Lesson · 8 min
Search results lag behind
Lesson · 8 min
Telling followers about a promotion
Lesson · 8 min
The third city
Practice · 25 min
Looking back at chapter 5
Lesson · 5 min
Section 7
The cloud bill doubles (cost)
How much infrastructure does one order cost?
Lesson · 8 min
Big machines running half empty
Lesson · 10 min
Cheap machines that can be taken back
Lesson · 10 min
What's needed now, what can wait for tonight
Lesson · 8 min
Cut the bill, not the service
Practice · 25 min
Looking back at chapter 6
Lesson · 5 min
Section 8
Milestone: New Year's Eve
Plan for the busiest night of the year
Lesson · 10 min
Holding up on New Year's Eve
Practice · 30 min
How far have you come?
Check · 10 min
Looking back at chapter 7
Lesson · 5 min
Linked courses
Suggestions, never requirements: every course is open on its own.