Beginner Topic 5 of 51 Distributed Systems & Cloud
Vertical vs Horizontal Scaling
Bigger machines versus more machines.
How it works
Vertical scaling, scaling up, adds more power such as CPU, memory and faster disks to a single machine, which is simple and needs no application changes but hits hardware limits, costs rise steeply and one machine remains a single point of failure. Horizontal scaling, scaling out, adds more machines and distributes work across them, offering near-unlimited growth and fault tolerance but requiring stateless design or partitioning, load balancing and handling of distributed consistency.
Where it is used
Databases often start with vertical scaling and add read replicas and sharding later, while web and application tiers scale horizontally behind load balancers, often with auto scaling groups.
Common pitfall
Horizontal scaling fails when state is stored in server memory or sessions are sticky. Shared databases become the bottleneck. Costs of coordination and data movement erode gains. Vertical scaling is often the cheapest first step and perfectly adequate for many workloads. Design stateless services, externalize state and test scale-out behavior early.
Where it fits in the course
Vertical vs Horizontal Scaling is topic 5 of 51 in Distributed Systems & Cloud, rated Beginner. It follows Scalability. The next topic is Latency vs Throughput.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Distributed Systems & Cloud quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Distributed Systems & Cloud quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Vertical vs Horizontal Scaling?
Where do people use Vertical vs Horizontal Scaling?
What is the most common mistake with Vertical vs Horizontal Scaling?
What should I learn before this topic?
How can I practice it?
Is Vertical vs Horizontal Scaling hard to learn?
How long does it take to learn Vertical vs Horizontal Scaling?
Which topics are related to Vertical vs Horizontal Scaling?
What should I study after Vertical vs Horizontal Scaling?
Related topics
- Scalability (Distributed Systems & Cloud)
- Latency vs Throughput (Distributed Systems & Cloud)
- Peer-to-Peer Systems (Distributed Systems & Cloud)
- Availability and Reliability (Distributed Systems & Cloud)
- Moore's Law and Dennard Scaling (Computer Architecture & Logic)
- Performance Scaling Analysis (Concurrency & Parallelism)