Definition
Adding more machines or instances to handle increased load, distributing traffic across multiple servers.
In Depth
Horizontal scaling (also called scaling out) increases capacity by adding more machines or instances to handle load, distributing traffic across them via a load balancer. The opposite is vertical scaling (or scaling up), which adds CPU, RAM, or disk to existing machines.
Horizontal scaling has two practical advantages over vertical scaling: there's no upper bound (you can always add another server), and the system becomes fault-tolerant by default (if one instance fails, traffic routes to the others). The trade-off is that horizontal scaling requires stateless application design — sessions, file uploads, or in-memory caches that exist on only one instance break the moment a request lands on a different node. State has to move to a shared store: a database for sessions, object storage for files, Redis for caches.
Real-world horizontal scaling almost always combines several patterns: stateless application servers behind a load balancer, a managed database with read replicas, a distributed cache layer, and either container orchestration (Kubernetes) or a PaaS auto-scaler that adds and removes instances based on CPU or request-rate thresholds. The biggest gotcha is sticky sessions — they sidestep statelessness in the short term but undermine fault tolerance and force uneven load distribution.
Example Usage
Adding more Gunicorn workers or additional server instances behind Nginx when traffic spikes during a content launch.
Business Context
Horizontal scaling is the foundation of cloud architecture — it enables handling traffic growth by adding resources rather than replacing infrastructure.
Related Terms
Container
A lightweight, standalone package that includes everything needed to run a piece of software — code,...
Database Sharding
Horizontally partitioning data across multiple database instances, distributing load and enabling st...
Edge Computing
Processing data near the source rather than in centralized cloud servers.
Infrastructure as Code
Managing infrastructure through machine-readable definition files.
Kubernetes
Container orchestration platform for automating deployment and scaling.
Also Known As
Tags
Quick Info
Need help implementing this in your business?
Get Started