Overview
Direct Answer
Horizontal scaling is the practice of distributing computational load across multiple independent machines or nodes rather than increasing the capacity of a single system. This approach contrasts with vertical scaling, which adds resources to a single server.
How It Works
Load is distributed across multiple identical or similar servers using load balancers, reverse proxies, or service meshes that route incoming requests to available nodes. Each machine operates independently, sharing state through databases, caches, or message queues. Adding or removing nodes dynamically adjusts capacity without downtime.
Why It Matters
Organisations adopt this strategy to achieve cost efficiency, fault tolerance, and predictable performance under variable demand. It enables incremental capacity increases without expensive hardware replacements and improves resilience by eliminating single points of failure.
Common Applications
Web applications routinely employ this pattern through multiple application servers behind load balancers. Microservices architectures, distributed databases, and containerised workloads orchestrated by platforms rely on this principle for elasticity and availability.
Key Considerations
Stateless design is essential; maintaining session affinity or distributed state adds complexity. Network latency, database bottlenecks, and eventual consistency challenges can limit scalability benefits if not properly architected.
More in DevOps & Infrastructure
Error Budget
ObservabilityThe maximum amount of time a service can be unavailable within a given period based on its SLO.
Vertical Scaling
CI/CDIncreasing the resources (CPU, RAM, storage) of an existing machine to handle more load.
Monitoring
ObservabilityThe continuous observation of system performance, availability, and health using automated tools and dashboards.
Site Reliability Engineering
Site ReliabilityA discipline applying software engineering principles to infrastructure and operations to create scalable, reliable systems.
Graceful Degradation
CI/CDA design approach where a system continues to operate with reduced functionality when components fail.
Health Check
CI/CDAn automated test that verifies a service or system component is functioning correctly.
Secret Management
CI/CDThe practice of securely storing, accessing, and managing sensitive credentials, API keys, and certificates.
Observability
ObservabilityThe ability to understand a system's internal state from its external outputs, encompassing metrics, logs, and traces.