Skip to content

Scalability

Grow from 100 users to 100 million one bottleneck at a time.

vertical scalinghorizontal scalingstateless servicesreplicationpartitioningshardingasync processingautoscaling

Lessons

  1. 14.1Scaling up vs scaling outYour server is full. Buy a bigger one, or add more? Here's how to choose, and why the database plays by different rules. 30 min Server under load Performance vs scalability
  2. 14.2Stateless servicesIf any server can handle any request, you can add, remove or lose servers freely. Here's how to get there. 30 min Kubernetes simulator
  3. 14.3Replication and shardingCopy your data to handle more reads and survive failures. Split your data to handle more writes. Mixing them up is expensive. 30 min Sharding simulator
  4. 14.4The scale journey: 100 to 100 million usersBig systems aren't designed in one go. They grow one piece at a time, each time something starts to break. 30 min Scale journey

On the job: try it on your own project

Ask Claude Code to find every place your app keeps state on the server itself: in-memory sessions, local files, caches or scheduled jobs. Those block adding more servers. Then estimate when your database will be the bottleneck. Write a scaling plan for 10x users: what breaks first, the next step, and what you will deliberately not do yet.

Can you do this now?

0/4. Anything you can't tick yet: reopen that lesson's practice ladder.