Scalability
Scalability in distributed systems refers to the ability of a system to handle an increasing workload as the number of users or size of data grows, without sacrificing performance or reliability. It involves designing and implementing a system that can efficiently and effectively handle larger amounts of work, either by adding more resources or by optimizing existing resources.
In distributed systems, there are primarily two types of scaling – vertical scaling and horizontal scaling (as shown in Figure 2.4):
- Vertical scaling (scaling up)
- Horizontal scaling (scaling out):
Figure 2.4 – Vertical scaling versus horizontal scaling
Let’s look into these two types of scaling in detail.
Vertical scaling
Vertical scaling, also known as scaling up, involves increasing the capacity of an individual node/instance or resource within the node. It typically involves upgrading hardware components, such as increasing...