Summary

Vertical scaling adds more power to one machine. Horizontal scaling adds more machines and distributes load.

Interview Points

  • Vertical scaling is simpler but has hardware and availability limits.
  • Horizontal scaling improves capacity and resilience but adds distributed systems complexity.
  • Stateless services are easier to scale horizontally.
  • Databases often need replication, sharding, caching, or partitioning to scale horizontally.
  • The best path is often vertical first, then horizontal as bottlenecks become clear.

2-3 Minute Interview Script

“Vertical scaling means making one node bigger: more CPU, memory, disk, or network. It is operationally simple and often the fastest first step.

Horizontal scaling means adding more nodes and distributing traffic. That gives better capacity and availability, but introduces complexity: load balancing, coordination, data partitioning, consistency, and observability.

For stateless app servers, horizontal scaling is usually straightforward. For databases or stateful systems, it is harder because data placement and consistency become central design concerns.

In an interview, I would say start with the simplest scaling path that meets the requirement, but design stateless boundaries and data ownership so horizontal scaling is possible when needed.”

Follow-Ups

  • Why are stateless services easier to scale?
  • What bottlenecks remain after horizontal scaling?