← Lessons

quiz vs the machine

Silver1070

System Design

Horizontal versus Vertical Scaling

Compare buying a bigger box with adding more boxes, and the limits each approach hits.

4 min read · intro · beat Silver to climb

Two ways to add capacity

  • Vertical scaling grows one machine: more CPU, more RAM, faster disks.
  • Horizontal scaling adds more machines that share the load behind a balancer.

Why vertical is tempting

  • No code changes: the app keeps running as a single process, so nothing has to learn about coordination.
  • Simpler operations: one node to patch, monitor, and reason about.

Where vertical scaling stops

  • A hard ceiling: the biggest instance still has a finite size and price climbs steeply.
  • Single point of failure: when that one big node dies the whole service is down.

Why horizontal scaling wins at scale

  • Near linear capacity: add nodes to add throughput, often on cheaper commodity hardware.
  • Fault tolerance: losing one node of many degrades rather than destroys the service.
  • The cost: the app must tolerate many instances, which pushes you toward stateless design and shared data stores.

Key idea

Vertical scaling is the fast simple first step, but it has a ceiling and a single failure point, so durable systems eventually scale horizontally across many cheaper nodes.

Check yourself

Answer to earn rating on the learn ladder.

1. What is the main limitation of vertical scaling?

2. Why does horizontal scaling usually demand stateless services?