All comparisonsCloud

Horizontal vs Vertical Scaling

Horizontal scaling (scaling out) adds more instances of a service behind a load balancer to handle more load. Vertical scaling (scaling up) keeps the same number of instances but gives each one more CPU, memory, or disk. Cloud-native systems favor horizontal scaling because it also improves fault tolerance; a single bigger machine is still a single point of failure.

Left

Horizontal Scaling

Right

Vertical Scaling

How it grows capacityMore machines/instancesBigger machine, more resources
CeilingPractically unboundedLimited by the largest available instance type
Fault toleranceHigher, one instance failing barely mattersLower, that one machine is a single point of failure
App requirementsApp must be stateless or share state externallyWorks with stateful apps unchanged
Typical cost curveRoughly linear per instance addedOften non-linear, big instances cost disproportionately more

Use Horizontal Scaling when

The workload can be distributed across instances (stateless web servers, workers) and you need resilience as well as capacity.

Use Vertical Scaling when

The workload is hard to distribute, like a single-writer database, or you need a quick capacity bump without re-architecting.

The verdict

Cloud-native design defaults to horizontal scaling for resilience and near-unlimited headroom. Vertical scaling is a reasonable stopgap, but it has a hard ceiling and a single point of failure.

Study this on the roadmap

Cloud (AWS / GCP / Azure)