34 lessons · free · no sign-up
Design systems that don’t fall over.
34 lessons that take you from your first server to a system-design interview. Every idea comes with a live simulation and the AWS, Azure and Google Cloud services that run it.
- Lessons
- 34
- Live simulations
- 11
- Cloud services
- 152
- Glossary terms
- 138
Roadmap // 8 modules
One route, from first request to final interview
Each module is a line on the circuit. Finished lessons are filled in; the next one is marked.
01Foundations0/4
02Scaling0/4
03Data0/5
04Performance0/3
05Async and communication0/3
06Reliability and trade-offs0/6
07Case studies0/7
08Interview playbook0/2
Your progress is saved in this browser as you mark lessons done and take quizzes.
Lesson 1, in one scroll
Watch one server become a system
Every step fixes the thing that broke last. That’s most of system design.
Stage 01 // Hundreds of users
One server does everything
Your app and its database run on the same machine. Simple and cheap.
What breaks nextThe app and the database fight over the same CPU and memory. If this one machine dies, everything is gone.
Stage 02 // Thousands of users
Move the database to its own machine
Each machine can now be sized for its job, and the data survives if the app server is replaced.
What breaks nextThere is still only one app server. It has a size limit, and when it goes down the site goes down.
Stage 03 // Tens of thousands
Add a load balancer and more servers
Traffic is spread across identical servers. You can add more, and one can fail without an outage.
What breaks nextEvery page view still reads from the one database, so it becomes the slowest part.
Stage 04 // Hundreds of thousands
Add a cache
Popular data is kept in memory. Most reads take about a millisecond and never reach the database.
What breaks nextUsers on the other side of the world still wait for every image, script and video to cross the ocean.
Stage 05 // Millions, worldwide
Serve static files from a CDN
Images, scripts and videos are copied to servers near your users. Your own servers only handle dynamic requests.
What breaks nextThe database is still one machine. If it fails, nobody can save anything.
Stage 06 // Millions, with room to grow
Copy the database
A leader takes writes and copies them to followers that serve reads. If the leader dies, a follower takes over.
What breaks nextEventually one leader can’t take all the writes. That’s where sharding, queues and the rest of this course come in.
Inside every lesson
Same ten parts, every time
- 01
One-line summary
What the idea is, in plain English.
- 02
Analogy
Something from everyday life that works the same way.
- 03
The problem
What breaks if you don’t have it.
- 04
A real example
A concrete scenario where you can see the idea at work.
- 05
How it works
A short explanation with a diagram you can drag and zoom.
- 06
Playground
A live simulation: change the inputs and watch the system react.
- 07
Trade-offs
What you gain, what it costs, and when not to use it.
- 08
In the cloud
The matching AWS, Azure and Google Cloud services.
- 09
Interview questions
Model answers to compare yours against.
- 10
Quiz
Interview-style questions to check it stuck, saved in your browser.