System Design Visualized
Lesson 1.13

Millions of users and beyond

Play this lessonThis lesson comes with an interactive animation you can break and a chapter quiz.

Scaling is an endless journey. As you grow past millions of users you may also split the system into smaller services (decoupling). But this checklist already takes you a long way:

  • ✅ Web servers hold no session state (stateless); sessions live in a shared store
  • ✅ Every layer has a spare (redundancy), so no single machine can take the site down
  • ✅ Hot data is served from a cache, not the database
  • ✅ The site runs in more than one data center
  • ✅ Images, JS and CSS come from a CDN
  • ✅ The database is sharded once one server can't hold it
  • ✅ Big tiers are broken into separate services that scale on their own
  • ✅ Everything is monitored, and builds, tests and deploys are automated

Press play to watch the full architecture assemble itself, one piece at a time.

Remember it, then prove it

Create a free account to save your progress, get spaced-repetition reviews of what you miss, and design real systems in the interview simulator.

Start free