Horizontal Scaling
also: scale out · vertical scaling
Adding more machines to share load (scale out), versus making one machine bigger (scale up).
Horizontal scaling (scaling out) means handling more load by adding more machines and spreading work across them, as opposed to vertical scaling (scaling up) — buying a bigger machine. Horizontal scaling is how systems grow past the limits of any single box.
Worked example: a stateless web tier scales horizontally behind a load balancer — double the instances to roughly double throughput — while a single database is often scaled vertically first (more CPU/RAM) until sharding is unavoidable. Gotcha: horizontal scaling only works cleanly for stateless components; stateful ones (databases, sessions) need sharding, replication, or a shared store — which is why “make it stateless” is the first step toward scaling out.