Cloud Computing Reference Architecture (CCRA)
The IBM cloud computing reference architecture (CCRA) (figure below), introduces the fundamental component of cloud environment. The structure of this [architecture is modular. It defines the fundamental architectural components which underpin and provide guidelines for creating a cloud environment.
In this architecture there are three main roles, each of which present a single person or organizations and sub-roles which may be defined, based on project scenarios.
- A cloud service consumer role consumes cloud service instances.
- Cloud service provider has responsible to supply and/or provide cloud services. This role and its sub-roles are defined by ownership of a common cloud management platform (CCMP).
- The cloud service creator is responsible for creating services in cloud environments.
The core components of this architecture are mainly cloud services, common cloud management platform and infrastructure. Cloud services may represent any type of IT capability which is provided for cloud consumers. The management functions for cloud services are defined as part of CCMP. As can be seen in the figure, the internal components of CCMP are categorized in Operational Support Services (OSS) and business support services (BSS) and this component include processes and services which are required for cloud management.
The purpose of the IBM CCRA is to provide a design blueprint for:
- Cloud services, offered to customers
- Private cloud, public cloud or hybrid cloud projects
- Workload-optimized systems
- Enabling the management of multiple cloud services (across all the as-a-service processes including infrastructure, platform, software, and business) based on the same, common management platform for enabling economies of scale.
Since the first release of CCRA in March 2010 (it was then called something else), there has been a lot of work and effort in the further development and evolution of the architecture into the mature and solid version that is now available. The CCRA has gone through multiple evolutions since the inception, and the current version as added product and integration focused solution architecture to the architectural foundation introduced in the previous versions. This gives the CCRA two approaches:
- A solution based view: This view allows the practitioners to focus on delivering a solution to the customer with what they need to consider based on the adoption pattern. This view is new in this release of the CCRA.
- An academic view: This view allows for the architects to see the broader picture of a cloud implementation with all aspects of the architecture in place. It is important for architects to understand this view when working with the clients before an adoption pattern has been identified. This view is the view of the CCRA that was available in the previous versions (and still is there today).
The CCRA is now on version 4.0
The IBM CCRA provides a set of complementary architecture patterns to build cloud-computing solutions that are organized into four main adoption patterns. The adoption patterns categorize the cloud-computing business models and technical goal. They also represent the way most customers approach cloud-computing solutions. For each of these cloud adoption patterns, the CCRA identifies common architecture patterns that describe the technologies that underlie each type of cloud-computing implementation. The IBM CCRA also includes common architecture patterns for items that cut across all the adoption patterns, including security, resiliency, performance, and governance. These common patterns enable a consistent base to support a broad set of business and technical goals that are realized through different cloud deployments. The following cloud adoption patterns are identified by the IBM CCRA:
- Cloud Enabled Data Center adoption pattern The Cloud Enabled Data Center adoption pattern is typically the entry point into the cloud solutions space. It provides guidance on the definition, design, and deployment of cloud-computing solutions that deliver IaaS typically within the enterprise boundaries.
- Platform-as-a-service (PaaS) adoption pattern The PaaS adoption pattern describes how to design cloud-computing solutions that deliver preconfigured ready-to-execute runtime environments or middleware stacks onto which applications can be deployed. It also describes how to tie together application development and application deployment processes into a single continuous delivery process based on application development and IT operations (DevOps) principles.
- Cloud Service Providers adoption pattern The Cloud Service Provider adoption pattern defines cloud-based solutions that provide cloud services through a service provider model. A service provider is an organization that provides the cloud usually for external customers. A service provider manages and provides cloud services as a general provider, rather than operating a computing facility for its own organization.
- Software-as-a-service (SaaS) adoption pattern The SaaS adoption pattern defines the architecture for definition and operation of SaaS applications. The Cloud Service Provider adoption pattern provides the architecture that enables SaaS applications to be managed and offered by the cloud service provider. The cloud service provider also supports systems that provide the environment in which SaaS business models are realized.
The IBM Cloud Computing Reference Architecture (CCRA) is an endeavor wherein IBM has distilled experiences from cloud engagements and experts across the globe into best practices, formalized through a common services method framework. Initially, the CCRA focused on the infrastructure as a service (IaaS) layer and the decomposition of its cloud management layer into the Business Support Services (BSS) and Operations Support Services (OSS) components. This was done to be able to scope client solutions properly. Subsequently, with each version the CCRA was extended both in terms of depth and breadth. It has been drilled down to the physical level with concrete product recommendations and includes layers beyond IaaS.
IBM constantly refines the Cloud Computing Reference Architecture (CCRA) based on the changing regulatory and compliance needs (based on the solid security and privacy frameworks). The CCRA is intended to be used as a blueprint for architecting cloud implementations, driven by functional and non-functional requirements of the respective cloud implementation.
Cloud computing can potentially be a disruptive change to the way an enterprise’s IT services are delivered. Examining a candidate cloud solution provider’s reference architecture should be a standard element of a CIO’s cloud vendor evaluation strategy.
IBM Vs. NIST Cloud Computing Reference Architecture (CCRA)
The NIST CCRA was published in September 2011. The team surveyed and completed an initial analysis of existing cloud computing reference models proposed by cloud organizations, vendors, and federal agencies, and developed a neutral model of architectural concepts that could address the US Government needs.
The Objective of the NIST CCRA is “The design of the NIST cloud computing reference architecture serves the following objectives: to illustrate and understand the various cloud services in the context of an overall cloud computing conceptual model; to provide a technical reference to USG agencies and other consumers to understand, discuss, categorize and compare cloud services; and to facilitate the analysis of candidate standards for security, interoperability, and portability and reference implementations.”
NIST declares that the aim is to focus on “what” cloud services need to provide and not on the “how to;” it extends the NIST cloud computing definitions, creating a conceptual model that should be used by US Government agencies to position different vendors offerings, to discuss requirements, to speak a common language, and plan for the proper activities and functions needed to effectively run a cloud computing environment.
Both NIST and IBM architecture overview diagrams describe the components of a cloud computing system and assign them to defined actors.
The IBM architecture (figure shown above) introduces three main roles: the Cloud Service Provider, Cloud Service Consumer, and Cloud Service Creator. For each of them, the high-level diagram in the following picture shows the main components; additional diagrams explode each of the actor functions. The NIST architecture, (figure below), introduces three new actors: Cloud Broker, Cloud Auditor, and Cloud Carrier. This is an important addendum and serves to better model the actors and relationships between them that we are seeing in the real market.
While the IBM and NIST CCRA documents are generally complementary, there certainly are some differences:
- NIST CCRA educates about the actors, in showing graphically their relationships, and in describing sample interaction scenarios.
- IBM CCRA, in its introduction, speaks about cloud and SOA, and shows an interesting positioning of the two reference architectures.
- When describing the Cloud Consumer, NIST gives a good example of possible cloud services (also summarized in a dedicated appendix); IBM emphasizes the importance of the coexistence of cloud systems and the consumer in-house IT, and focuses on the importance of cloud service integration tools.
- Speaking about service layers, IBM introduces a forth layer, the Business Process as a Service (BPaaS), on top of the three NIST layers. This layer is important because it describes a wider responsibility from the provider that goes behind the software to deliver the full business process with a cloud computing model. Examples of BPaaS are employee benefit management, business travel, procurement, and also IT-centric processes such as software testing.
- Both IBM and NIST clearly say that each service layer can stand on its own without relying on a lower cloud service, but I like the NIST representation with L-shaped services that communicate this concept visually.
- IBM specifies also the importance of third-party services and ecosystem to be integrated into a cloud service provider service layer.
- NIST puts in evidence, in the service orchestration component, the Resource Abstraction and Control Layer; IBM gives a more detailed view of the Infrastructure component.
- Security and privacy are a big concern for NIST (see also details about the Auditor role) with dedicated paragraphs describing areas where the US Government agency should focus. IBM details the names of Security, Resiliency and Consumability components but inserts best practices and details in specific work products not accessible to the public.
- NIST proposes a useful Cloud Taxonomy to summarize Roles, Activities, Component, and Sub-component.
- IBM CCRA adds a helpful chapter with Architectural Principles and Related Guidance.
- Definition - What is Cloud Computing Reference Architecture? Niloofar Khanghahi, R. Nassiri, Mahsa Razavi