Scaling


Cloud Computing Patterns, Mechanisms > Basics > Basic Concepts and Terminology > Scaling


Scaling

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.

Horizontal Scaling

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.

Scaling: An IT resource (Virtual Server A) is scaled out by adding more of the same IT resources (Virtual Servers B and C).

Figure 1 – An IT resource (Virtual Server A) is scaled out by adding more of the same IT resources (Virtual Servers B and C).

Vertical Scaling

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.

Scaling: 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).

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.