Skip to content

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.

Start lesson 1See the roadmap
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.

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.

Live topologyStage 01 / 06
UsersServerapp + DB
Load Hundreds of users
Nodes 1
  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

  1. 01

    One-line summary

    What the idea is, in plain English.

  2. 02

    Analogy

    Something from everyday life that works the same way.

  3. 03

    The problem

    What breaks if you don’t have it.

  4. 04

    A real example

    A concrete scenario where you can see the idea at work.

  5. 05

    How it works

    A short explanation with a diagram you can drag and zoom.

  6. 06

    Playground

    A live simulation: change the inputs and watch the system react.

  7. 07

    Trade-offs

    What you gain, what it costs, and when not to use it.

  8. 08

    In the cloud

    The matching AWS, Azure and Google Cloud services.

  9. 09

    Interview questions

    Model answers to compare yours against.

  10. 10

    Quiz

    Interview-style questions to check it stuck, saved in your browser.