Shared Resources (Erl, Naserpour)
How can the capacity of physical IT resources be used to its potential?
ProblemAllocating dedicated IT resources to individual consumers can be wasteful and underutilize their collective capacity.
SolutionPhysical IT resources are shared by partitioning them into lower capacity virtual IT resources that are provisioned to multiple cloud consumers.
ApplicationVirtualization technology is used to create virtual instances of physical IT resources. Each virtualized IT resource can be assigned to a cloud consumer, while the underlying physical IT resource is shared.
MechanismsAudit Monitor, Cloud Storage Device, Cloud Usage Monitor, Hypervisor, Logical Network Perimeter, Resource Replication, Virtual Server
Compound PatternsBurst In, Burst Out to Private Cloud, Burst Out to Public Cloud, Elastic Environment, Infrastructure-as-a-Service (IaaS), Multitenant Environment, Platform-as-a-Service (PaaS), Private Cloud, Public Cloud, Resilient Environment, Software-as-a-Service (SaaS)
Organizations commonly purchase physical on-premise IT resources, such as physical servers and storage devices, and allocate each to specific applications, users, or other types of consumers. The narrow scope of some IT resource usage results in the IT resource’s overall capacity rarely being fully used. Over time, the processing potential of each IT resource is not reached. Consequently, the return on the investment of each IT resource is also not fully realized. The longer these types of dedicated IT resources are used, the more wasteful they become, and more opportunities to further leverage their potential are lost.
Figure 1 - Each cloud consumer is allocated a dedicated physical server. It is likely that, over time, a significant amount of the physical servers’ combined capacity will be under-utilized.
Virtual instances of physical IT resources are created and shared by multiple consumers, potentially to the extent to which the capacity of the physical IT resource can support. This maximizes the utilization of each physical IT resource, thereby also maximizing the return on its investment.
This pattern further forms the fundamental basis of a model by which virtual instances of the physical IT resource can be used (and leased) temporarily.
Figure 2 - Each cloud consumer is allocated a virtual server instance of a single underlying physical server. In this case, the physical server is likely greater than if each cloud consumer were given its own physical server. However, the cost of one high-capacity physical server is lower than four medium-capacity physical servers and its processing potential will be utilized to a greater extent.
The most common technology used to apply this pattern is virtualization. The specific components and mechanisms that are used depend on what type of IT resource needs to be shared. For example, the virtual server mechanism is used to share a physical server’s processing capacity and the hypervisor mechanism is utilized to create instances of the virtual server. The VIM component can be further incorporated to manage hypervisors, virtual server instances, and their distribution.
It is important to note how the Shared Resources pattern is positioned among compound patterns, especially given its fundamental nature in relation to cloud platforms:
The Shared Resources pattern is:
- an optional member of the Private Cloud compound pattern because, although common in private clouds, the virtualization of physical IT resources for cloud consumer sharing purposes is an option that can be chosen in support of the business requirements of the organization acting as cloud provider.
- a required member of the Public Cloud compound pattern because of its inherent need to share IT resources to numerous cloud consumers.
- an optional member of the IaaS compound pattern because the cloud provider may allow the cloud consumer access to administer raw physical IT resources and the decisions of whether and how to use virtualization technology is left to the cloud consumer.
- a required member of the PaaS compound pattern because the ready-made environment mechanism itself is naturally virtualized.
- a required member of the SaaS compound pattern because SaaS offerings are naturally virtualized.
- a required member of the Multitenant Environment compound pattern because this pattern provides a cloud technology architecture that specifically addresses the sharing of IT resources.
- not a member of other compound patterns in CCP Modules 4 and 5 because, although those patterns may rely on the sharing of IT resources, it is not a function specific to their scope.
The sharing of IT resources introduces risks and challenges:
- One physical IT resource can become a single point of failure for multiple virtual IT resources and multiple corresponding cloud consumers.
- The virtualized physical IT resource may become over-utilized and therefore unable to fulfill all of the processing demands of its virtualized instances. This is referred to as a resource constraint and represents a condition that can lead to degradation of performance and various runtime exceptions.
- The virtualized instances of an underlying physical IT resource shared by multiple cloud consumers can introduce overlapping trust boundaries that can pose a security concern.
These and other problems raised by the application of this pattern are addressed by other patterns, such as Resource Pooling and Resource Reservation.
NIST Reference Architecture Mapping
This pattern relates to the highlighted parts of the NIST reference architecture, as follows: