Cloud Computing Architectural Patterns

Cloud Computing Architectural Patterns

Prashant Jain (IBM, Singapore) and Yan Pang (IBM, Singapore & National University of Singapore, Singapore)
DOI: 10.4018/978-1-5225-0759-8.ch004


Cloud computing has been one of the most disruptive technologies, which has changed the way IT is consumed by enterprises, both small and large. The ability to subscribe to “as-a-service” consumption model, while converting capital expenditure to operational expenditure, has been a key driver for Cloud adoption. Rapid provisioning and deprovisioning of services, elastic scaling of infrastructure resources and self-service ability for users are some of the key characteristics and benefits offered by Cloud. Infrastructure as a Service (IaaS) provides the basic building block, with Platform as a Service (PaaS) providing a layer of abstraction on top of IaaS and similarly Software as a Service (SaaS) providing a layer of abstraction on top of PaaS. Moving up the layers reduces complexity and enables users to tap into a much larger spectrum of benefits that Cloud computing has to offer. While Cloud opens the door for “as-a-service” consumption model, there are many additional benefits that can be realized by enterprises beyond the typical IaaS, PaaS and SaaS. A number of these benefits can be realized by leveraging Cloud in different scenarios and use cases. For example, an enterprise may continue to pursue a traditional non-Cloud based infrastructure deployment strategy, however, it could use a public Cloud for storage elasticity. Such use cases exemplify many atypical benefits that Cloud can provide, which often got overlooked. This paper will present a number of such cloud deployment use cases that go beyond the typical IaaS usage of cloud. A hierarchical architectural model of cloud solution pattern is proposed to describe both the business requirements and technical considerations of these use cases. These cloud architectural patterns are further elaborated through real-life case studies and examples.
Chapter Preview

Use Case Scenarios

We use the pattern format of (Buschmann, Meunier, Rohnert, Sommerlad, & Stal, 1996) to capture the following key components for each cloud deployment use case scenario:

  • Problem: Identifies the key issue(s) that must be resolved

  • Context: Describes when it makes sense to apply the pattern

  • Solution: Describes the key steps to address the problem

  • Benefits: Highlights the impact and advantage of applying the pattern

  • Offerings: Describes some of the offerings and products that are relevant or required in applying the pattern

The format provides a well-defined structure to capture the recurring problem, its solution and when it makes sense to apply the solution. Note that the list of offerings covered in this chapter should only be regarded as a representative set.

Key Terms in this Chapter

Software as a Service (SaaS): A software licensing and delivery model in which software applications are hosted by a vendor or service provider and made available to customers over a network.

Use Case: A set of possible sequences of interactions between systems and actors in a particular environment to achieve a particular goal.

Architectural Pattern: A general, reusable solution to a commonly occurring problem in system architecture within a given context.

Platform as a Service (PaaS): A cloud computing model that allows customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure.

Infrastructure as a Service (IaaS): A form of cloud computing that provides physical or virtualized computing, storage, or network resources over a network.

Complete Chapter List

Search this Book: