Skip to content

Data-Intensive Application Principles

Scalability: Horizontal vs. Vertical

Scalability refers to the system’s ability to handle increasing workloads. Horizontal scalability involves adding more machines to your system, while vertical scalability means upgrading the hardware of a single machine.

Avoid

# Vertical scaling
Upgrade existing server from 16GB to 64GB of RAM and faster CPUs.

Prefer

# Horizontal scaling
Add more machines to the cluster to distribute the workload across nodes.

Benefits:

  • Horizontal scaling offers better fault tolerance and can handle larger workloads.
  • Reduces the risk of a single point of failure.
  • Improves the system's ability to handle unpredictable spikes in traffic.

Released under the MIT License.