What is Resource Pooling in Cloud Computing?
Resource pooling in a private cloud enables the hypervisor (the software that creates and runs virtual machines) to reassign tenants (the customers who pay for cloud computing services from a cloud provider) to different locations in the cloud to optimize resource usage. In a typical private cloud, the resources the tenant uses could be hosted on any of the devices in the cloud that offer that resource. For example, when a consumer of the cloud service provisions and starts a virtual machine in the private cloud, that virtual machine could be hosted on any of the servers in the private cloud.
With resource pooling, a cloud service provider combines its resources such that each customer shares the same infrastructure with other tenants in a dynamic fashion, to be apportioned and reapportioned as necessary, which is what makes cloud computing a more efficient model than separate computing resources for each firm. Cloud service providers can take advantage of economies of scale to build infrastructure and platforms at mass scale and share these resources among multiple tenants at the same time to save costs and unneeded capacity. One consequence that from this arrangement is that the same machine could end up hosting applications and services that belong in different security zones, and those applications and services may themselves include different security capabilities, such as authentication and authorization.
The three types of resource pools are computing, networking, and storage. Examples of common resources pools include:
- Physical server pools
- Virtual server pool
- Storage pools or the cloud storage device pools
- Network pools
- CPU pools
- Memory pools
Advantages of resource pooling include:
- High availability rate
- Balanced load on the server
- Provides high-level computing experience
- Data can be stored can virtually and physically
- Flexibility for businesses
- Handles virtual host technological issues
Security implications for resource pooling may include1:
- Issues related to reuse of resources by different tenant applications
- Issues related to co-locating services that belong to different tenants on the same server
- Issues related to automated processes that handle the allocation and de-allocation of resources
1 Shinder, 2012, “Resource Pooling”