1. Scalability
Scalability is a systemβs ability to handle growing amounts of work or traffic by adding resources without compromising performance or stability. Vertical scaling (scaling up) means upgrading single-server hardware (CPU, RAM, NVMe). Horizontal scaling (scaling out) means adding more commodity server instances behind a load distributor.
[ Vertical Scaling ] [ Horizontal Scaling ]
ββββββββββββββββββββ ββββββββββ ββββββββββ ββββββββββ
β Server (128GB) β β Server β β Server β β Server β
β (64 Cores) β β (8GB) β β (8GB) β β (8GB) β
ββββββββββββββββββββ ββββββββββ ββββββββββ ββββββββββ
(Hits Ceiling) β² β² β²
ββββββ Load Balancer ββ
"Vertical scaling is like upgrading from a small restaurant kitchen to a massive commercial kitchen with industrial ovens. Horizontal scaling is like opening 5 new restaurant branches in different neighborhoods to serve more customers concurrently."
Vertical scaling has physical hardware limits and introduces a single point of failure (downtime during upgrades). Horizontal scaling is virtually limitless and fault-tolerant, but introduces distributed consensus, network latency, and operational complexity.
Traffic spikes are unpredictable. Systems that scale horizontally can dynamically autoscale up during Black Friday and scale down during off-peak hours to minimize cloud infrastructure costs.