jargon

Comparison

Horizontal scalingvsVertical scaling

Horizontal scaling

you add three more identical instances behind the load balancer instead of making the existing one bigger.

Adding more machines to spread load. It has no ceiling in principle and gives you redundancy for free, which vertical scaling does not. It requires the work to be partitionable and the instances to be stateless, and it moves your bottleneck to whatever is still shared — usually the database.

TrafficBalancerServerServerServer
Full entry →

Vertical scaling

you move the database to a machine with four times the RAM, which takes an afternoon instead of a re-architecture.

Adding CPU, memory or faster disks to an existing machine. It is dramatically simpler than scaling out — no partitioning, no distributed transactions, no consistency questions — and it is the correct first answer far more often than architecture discussions admit. It ends at the largest instance available, and it usually requires a restart.

TrafficServer4× the RAM
Full entry →

Related comparisons