Scalability
Grow from 100 users to 100 million one bottleneck at a time.
vertical scalinghorizontal scalingstateless servicesreplicationpartitioningshardingasync processingautoscaling
Lessons
- 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
- 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
- 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
- 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.