System Design Visualized
Lesson 1.3

Vertical vs horizontal scaling

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

⬆️ Vertical scaling ("scale up")

  • Add more CPU and RAM to one server
  • ✅ Very simple, no code changes
  • ❌ Hard limit: you can't add infinite CPU
  • ❌ No failover: if it dies, you're down

➡️ Horizontal scaling ("scale out")

  • Add more servers to a pool
  • ✅ Practically no ceiling
  • ✅ One server dies, the others carry on
  • ❌ Needs a way to spread traffic (next lesson)

When traffic is low, vertical scaling is a fine choice. For large applications, horizontal scaling wins because of the two limits above.

Key takeaways

  • Vertical = bigger machine. Simple, but has a ceiling and no redundancy.
  • Horizontal = more machines. The way large systems scale.

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