Home > Design Patterns > Elastic Resource Capacity
Elastic Resource Capacity

Elastic Resource Capacity (Erl, Naserpour)

How can the processing capacity of virtual servers be dynamically scaled in response to fluctuating IT resource usage requirements?

Problem

When IT resources hosted by a virtual server impose processing requirements that exceed the virtual server’s capacity, the performance and reliability of the hosted IT resources and the virtual server itself may be compromised.

Solution

An elastic provisioning system is established to dynamically allocate and reclaim CPUs and RAM for a virtual server in response to the fluctuating processing requirements of its hosted IT resources.

Application

Resource pools are utilized by scaling technology that interacts with the hypervisor or VIM to retrieve and return CPU and RAM resources at runtime, as per necessary processing capacity.

Problem

When the processing capacity of a virtual server is reached at runtime, it becomes unavailable, resulting in scalability limitations and inhibiting the performance and reliability of its hosted IT resources.

Elastic Resource Capacity: After the virtual server hosting the cloud service reaches its processing limit, subsequent cloud service consumer requests cannot not be fulfilled.

Figure 1 - After the virtual server hosting the cloud service reaches its processing limit, subsequent cloud service consumer requests cannot not be fulfilled.

Solution

Pools of CPUs and RAM are established for shared allocation. The runtime processing of a virtual server is monitored so that prior to capacity thresholds being met, additional processing power from the resource pool can be leveraged via dynamic allocation to the virtual server. This vertically scales the virtual server and, consequently, its hosted applications and IT resources as well.

Application

The Resource Pool pattern is applied to provision the necessary IT resource pools, and the Dynamic Scalability pattern is applied to establish the automated scaling listener mechanism as an intermediary between cloud service consumers and any IT resources hosted by the virtual server that need to be accessed. The Automated Administration pattern is further applied because intelligent automation engine scripts are needed to signal scaling requirements to the resource pool.

Elastic Resource Capacity: The application of the Elastic Resource Capacity pattern on a sample cloud architecture (Part 1).

Figure 2 - The application of the Elastic Resource Capacity pattern on a sample cloud architecture (Part 1).

  1. Resource pools providing CPUs and RAM memory have been implemented and configured.
  2. Cloud service consumer are actively sending requests.
  3. The automated scaling listener is monitoring the requests.
  4. An intelligent automation engine script is deployed with workflow logic capable of notifying the resource pool using allocation requests.
Elastic Resource Capacity: The application of the Elastic Resource Capacity pattern on a sample cloud architecture (Part 2).

Figure 3 - The application of the Elastic Resource Capacity pattern on a sample cloud architecture (Part 2).

  1. Cloud service consumer requests increase.
  2. The automated scaling listener signals the intelligent automation engine to execute the script.
  3. The script runs the workflow logic that signals the hypervisor to allocate more IT resources from the resource pools.
  4. The hypervisor allocates additional CPU and RAM to the virtual server, enabling it to handle the increased workload.

This type of cloud architecture may also be designed so that the intelligent automation engine script sends its scaling request via the VIM instead of directly to the hypervisor. Furthermore, in order to support dynamic resource allocation, virtual servers participating in elastic resource allocation systems may need to be rebooted for the allocation to take effect.

NIST Reference Architecture Mapping

This pattern relates to the highlighted parts of the NIST reference architecture, as follows:

Elastic Resource Capacity: NIST Reference Architecture Mapping
Elastic Resource Capacity: NIST Reference Architecture Mapping
CloudSchool.com Cloud Certified Professional (CCP) Module 5: Advanced Cloud Architecture.

This pattern is covered in CCP Module 5: Advanced Cloud Architecture..

For more information regarding the Cloud Certified Professional (CCP) curriculum, visit www.cloudschool.com.