Scalability
Explore the concept of scalability in distributed systems, focusing on how systems manage increased user loads. Understand vertical scaling by upgrading existing hardware and horizontal scaling by adding more nodes. Discover the benefits and limitations of each method and the role of load balancers in distributing traffic efficiently.
We have discussed available and reliable systems in the last two lessons. Achieving these properties is hard—it requires a lot of effort to be put into development.
But once you have built the system and achieved both these properties, are you done?
Well, not always.
Note: A system that is available and reliable today won’t necessarily be the same tomorrow.
Maybe the My Cool App currently has 100 concurrent users (users connected to your system at the same time), but what if it has 10k or 100k concurrent users tomorrow? Will the system still remain reliable and available?
The answer is most likely no.
This is why we want to learn about scalability.
What is scalability?
Scalability is the ability of a system to handle the increased load of its usage.
If the system of the My Cool App ...