Scaling, from an IT resource perspective, represents the ability of the IT resource to handle increased or decreased usage demands.
The following are types of scaling:
- Horizontal Scaling - scaling out and scaling in
- Vertical Scaling - scaling up and scaling down
The next two sections briefly describe each.
The allocating or releasing of IT resources that are of the same type is referred to as horizontal scaling (Figure 1). The horizontal allocation of resources is referred to as scaling out and the horizontal releasing of resources is referred to as scaling in. Horizontal scaling is a common form of scaling within cloud environments.
Figure 1 - An IT resource (Virtual Server A) is scaled out by adding more of the same IT resources (Virtual Servers B and C).
When an existing IT resource is upgraded or replaced by another with higher or lower capacity, vertical scaling is considered to have occurred (Figure 2). Specifically, the upgrading or replacing of an IT resource with another that has a higher capacity is referred to as scaling up and the downgrading or replacing an IT resource with another that has a lower capacity is considered scaling down. Vertical scaling is less common in cloud environments due to the downtime that may be required to scale up or down.
Figure 2 - In this example, an IT resource (a virtual server with two CPUs) is scaled up by replacing it with a more powerful IT resource with increased capacity for data storage (a physical server with four CPUs).
Table 1 provides a brief overview of common pros and cons associated with horizontal and vertical scaling.
|Horizontal Scaling||Vertical Scaling|
|less expensive (through commodity hardware components)||more expensive (specialized servers)|
|IT resources instantly available||IT resources normally instantly available|
|resource replication and automated scaling||additional setup is normally needed|
|additional IT resources needed||no additional IT resources needed|
|not limited by hardware capacity||limited by maximum hardware capacity|
Table 1 - A comparison of horizontal and vertical scaling.