Home > Design Patterns > Shared Resources
Shared Resources

Shared Resources (Erl, Naserpour)

How can the capacity of physical IT resources be used to its potential?

Problem

Allocating dedicated IT resources to individual consumers can be wasteful and underutilize their collective capacity.

Solution

Physical IT resources are shared by partitioning them into lower capacity virtual IT resources that are provisioned to multiple cloud consumers.

Application

Virtualization 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.

Problem

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.

Shared Resources: 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.

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.

Solution

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.

Shared Resources: 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.

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.

Application

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:

Shared Resources: NIST Reference Architecture Mapping
CloudSchool.com Cloud Certified Professional (CCP) Module 4: Fundamental Cloud Architecture

This pattern is covered in CCP Module 4: Fundamental Cloud Architecture.

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