What is scalability in the cloud?
Scalability is the ability of a system to handle more load by adding resources. In the cloud this is easy because you can add capacity on demand. There are two kinds: vertical scaling means making one machine bigger, and horizontal scaling means adding more machines. Horizontal scaling is usually preferred for large systems.
- Scalability is a system's ability to handle more load by adding resources.
- Vertical scaling adds power to one machine, while horizontal scaling adds more machines.
- The cloud makes horizontal scaling easy and often automatic.
Two ways to scale
- Vertical scaling: give one server more CPU or memory. Simple but has a hard limit.
- Horizontal scaling: add more servers and share the load between them. Scales much further.
Vertical scaling is easy but you can only make a single machine so big. Horizontal scaling spreads work across many machines, which is how large systems handle millions of users, though it needs a load balancer.
Interviewers like the terms scale up for vertical and scale out for horizontal. Saying you prefer to scale out for large systems because a single machine has limits shows solid understanding.
Frequently asked questions
What is the difference between vertical and horizontal scaling?
Vertical scaling makes a single server bigger, while horizontal scaling adds more servers. Horizontal scaling handles very large loads better.
What is the difference between scalability and elasticity?
Scalability is the ability to grow to handle load, while elasticity is scaling up and down automatically as demand changes in real time.
Common follow up questions
Related interview questions
Want the full Cloud guide?
Read every Cloud concept with notes, diagrams, and code in one place. Track your progress as you go.
Open the Cloud guide All Cloud questions