Anatomy of Cloud Computing Platform
Cloud computing as a platform is amalgamation of enabling technologies
By: Nitin Gaur
Sep. 26, 2009 01:30 PM
As the IT operations continue to evolve and transform the business towards agility and adaptability to ever changing rules of marketplace, the efficiency of any IT operation is of paramount significance. The phrase ‘time to market' has a completely new meaning in today's dynamic business environment where the only constant is change. This rapidly changing environment has lead the IT and business leaders alike to re-think the ‘procurement to provisioning' process with one goal in mind - Efficient use of resources. These resources include IT assets such as hardware and software, human capital such as administrators, developers, testers, other IT management staff and facilities employed in hosting the overall IT infrastructure.
The efficiency goals are not only towards costs savings but also are defined by the business requirement usually driven by external market forces and availability of various enabling technologies. Cloud computing as a platform is amalgamation of such enabling technologies. While the concept of cloud computing is not new, efforts such as net(work) computing and various hardware and software virtualization technologies in the past have attempted to address the need for ‘unlimited' resource pool capable of handling varying workloads. These efforts, while did contribute towards a more mature cloud platform, as a singular technology it did fall short of a vision of a true cloud computing platform.
So what is a cloud computing platform? Is it simply automated provisioning systems coupled with a resource virtualization, where the workload is policy driven, and resources over committed and any resource contention handled by policy driven resolution? As it turns out technologies that provide provisioning, virtualization and policy enforcement form the building blocks of a true cloud computing platform, but not any one technology is a cloud offering in and of it self. This paper attempts to discuss the vision and core components of a cloud computing platform. Beginning from a definition of a cloud computing platform, we will explore the various building blocks that collectively form the cloud. We will also categorize the commonly used terminology pertaining to cloud computing into the platform framework we define, with an intention to provide a structure to loosely coupled, ill-defined structural concepts of cloud components.
This paper will also attempt to broaden the vision of cloud computing as a platform and provide a methodology around adoption of cloud computing technology with Cloud Capability maturity model. The intent of the maturity model is to provide insight into cloud readiness of an IT enterprise, and a well defined roadmap to adapt to a fully mature cloud based operation.
This section attempt to explore various components that collectively define cloud computing as a platform. It is to be noted that I have deliberately used the term platform, in this context to highlight the importance of services extended by each layer to enable the notion of unlimited available resources. While virtualization technologies enable efficient use of resources, by marginally over-committing computing resources, with an assumption that not all partitions of a system will consume all resources at all times. This assumption is further accentuated by a policy driven approach that factors in resource prioritization at times of contention, by allocation resources to most important partition or application. While virtualization can be seen as a foundation for cloud computing platform, virtualization alone cannot be and should not be mistaken for a cloud computing platform. As a platform cloud computing attempts to address several IT operational and business including (but not limited to):
So it is evident that the over arching goal of cloud computing platform is to provide a cost effective solution to the end user with tremendous flexibility and agility. The flexibility and agility thus become important facets of any cloud platform, as these concepts are basic to the intrinsic value enabled by cloud of resources. To achieve the elasticity and agile on demand provisioning thus requires a system that is not only self sustainable but also sensitive to growth. Let's explore what this means. A true cloud platform provides an illusion of infinite computing resources available on demand (Armburst, et al). The notion of on demand infinite computing resources requires a systemic approach that includes sense and response subsystems, with a tie into a system level monitoring subsystems which is front ended by a rich user interface and all tied together by a robust governance sub system. These sub systems can be further classified as a complete and inseparable components of a cloud computing platform. We will discuss them in detail in later sections, but it is important to understand the relevance of these sub systems as vital design imperatives of a cloud computing platform. Cloud computing is a new consumption and delivery model nudged by consumer demand and continual growth in internet services. Cloud computing exhibits the following 6 key characteristics:
a. Elastic Environment
b. Provisioning Automation
c. Extreme Scalability
d. Advanced Virtualization
e. Standards based delivery
f. Usage based equitable chargeback
I thus, deliberately use the term platform in context of cloud computing environment that facilitates flexibility, robustness and agility, as a systemic approach in providing a stage to hosting applications without the concern for availability or provisioning of underlying resources.
This section explores various building blocks of a cloud computing platform. We will use Figure 1 (Below) as a reference diagram to elaborate on these building blocks
Figure 1: Elements of Cloud Computing Platform
This component as the name suggests form the basis for any cloud computing platform. This component facilitates the core infrastructures that are required to host any application. This components includes hardware, networks, operating systems, storage and standardized platform services such as images of J2EE/JEE application servers that often host java based applications and services. This component can also encompass infrastructure monitoring and provisioning tools. While virtualization of the resources included in this component may not be a requirement, the prevalence of such technology platform seems to be ubiquitous.
The monitoring and provisioning tools seem to follow suit keeping pace with various virtualization technologies. Since hardware and software virtualization do offer significant cost and resource management advantages, it is not rare to see virtualized platforms as core building blocks of any cloud platform. Infrastructure monitoring and resource provisioning, from a bare metal OS install to provisioning application servers becomes an important activity in sustaining an elastic environment. While monitoring and provisioning are separate activities, in a cloud platform they are to be linked and configured with various trigger mechanism that makes monitoring and subsequent provisioning an autonomic activity.
Virtualized Platforms: Virtualized HW platforms such as pSeries (AIX/Linux), zSeries (z/OS/Linux), VMware ESX, VMware virtual center.
Provisioning Automation: Tivoli Service Automation Manager (TSAM), Tivoli Provisioning Manager (TPM), WebSphere CloudBurst Appliance (WCA) , Bladelogic etc.
Monitoring: IBM Tivoli Monitoring, Wily Monitoring etc.
Figure 2. Infrastructure Component
Governance sub systems are the glue in effectively managing and controlling the resource consumption and allocation. This component also provides a framework for policy enforcement and access control to underlying resources. While is infrastructure component provides a resource pool for deployment, governance component provide policy and access control to these resources. Governance subsystem provides a system of control to a cloud computing environment. Governance framework is a combination of processes (handled by workflow component) and control structure that provides a system of control to the cloud computing environment.
The ability of a system user to request resources, add to catalog, direct, manage and monitor the cloud resources, all are encompassed as a governance consideration. In a cloud computing environment, the service requestors, core services and service providers are all independent and should be transparent, with well defined service access and service level agreements.
The services management component coupled with robust (policy) control mechanism which is not only effective but transparent is probably key to any successful cloud implementation. Since cloud enabled shared use of resources which implies enterprise access to shared infrastructure, network and data. Such access while provides tremendous flexibility poses inherent risks to enterprise intellectual assets. Governance thus also becomes an important security focal point in cloud administration. The decision to control access not only to computing resources but the underlying networks that connect data and services while maintaining transparency is an important one, and should be driven by senior leadership as a strategic imperative.
Access Control: LDAP, Tivoli Access Manager.
Repository: iRAM - IBM Rational Asset Manager
Policy Governance: Custom Policy engine, Policy Manager
Figure 3. Governance Component
Workflow component provides the workflow management and integration with existing workflow and governance components. A workflow is a collection of activities in a business process, these activities are often orchestrated together to for a workflow. In cloud computing context these activities are around request and usage of cloud resources. This component can be seen as the processes involved in governing the use of resources provided by cloud computing platform. While the governance component enforces the policies the workflow component provides the processes required to navigate the enterprise approval process.
The workflow component provides the process enablement for policies defined in the governance sub system. So in essence workflow and governance work in tandem, to provide the control structure to a cloud environment. A typical workflow originates from a service request, transitioning to service provisioning and service invocation and ends with service termination. Workflow provides the essential front end control mechanism for all of back end resources.
This control system allows for the ability of workflow system to queue and manage the service request in event of system constraint or unavailability, thus maintaining the notion of flexible resource reuse. Workflow addresses the operational aspect of work procedure, i.e. addresses the service owner, task and resource monitoring, task structure, resource requirement and requisitioning. Workflow subsystem would thus need to be well integrated into all of the other cloud computing components, and would be usually exposed via self service component.
Example: WebSphere process server - Business process workflow management.
Figure 4. Workflow Component
Interacting with cloud environment usually involves some kind of self service, due to the nature of cloud interactions such as upload, schedule, enable/disable of service and request for provisioning. Self Service component provides a critical management service to true cloud computing environment.
This component is usually works in tandem with governance and workflow subsystems, and assists in enforcing the policies established around access control, resources usage, monitoring and chargeback. Self service is exposed in the form of a rich user interface in form of a cloud portal or a web application, and tied with back end resources such as asset repositories and infrastructure resources. Self service is an important pieces of the cloud computing canvas, that is because the illusion of unlimited resources that is promised by cloud computing is only possible when the end user's request is ‘magically' met, serviced and charges applied. While dynamic resource allocation at infrastructure level aids availability and provisioning of requested resources, self service is component that glues the various cloud components.
The portal acts as a primary interface for end users, components owners and cloud administrators alike, to participate in cloud management activities such as requests, approvals, resource usage and chargeback data. It is conceivable that users with different roles will have varying level of access to types of information sought and display of role appropriate data. The importance of self service component is to empower the end user and maintain the cloud appeal of business agility.
The promise of a cloud being business agility by effective resource utilization and faster time to market, can only be achieved by eliminating the complex business processes usually involved in requesting and using resources. Since cloud computing is usage driven environment, a robust and equitable chargeback model should be tied into the self service component. The cloud environment to be effective must provision for a mechanism to track and capture resource usage mechanism and have the ability to apply the chargeback model for billing. The key point to note is that the self service portal is the window (for all user type) into the cloud environment, the need of transparency (discussed in Governance), and system of control is of paramount importance.
User Interface: WebSphere Portal, custom web application.
Charge Back: IBM Tivoli Usage and Accounting Management (ITUAM)
Figure 5. Self service Component
i. Cost control at IT Facilities (Tactical) translating to server consolidation (Operational).
ii. Energy costs control (Tactical) translating to Efficient HW/SW technologies that consume less power (Operational).
iii. Efficient use of available computing assets (Tactical) translating to HW/SW virtualization (Operational)
Without a valid a business problem, cloud computing solution will not find sponsorship and participation from various business unit that are usually consumers of the technology infrastructure. The promise of cloud lies in delivering an efficient workload management, which builds upon, rather than replace existing IT functions. Traditionally many IT problems have been dealt with throwing more computing resources, market pressured and game changing economic pressures have forced organizations and IT managers to rethink that strategy. And while a shared resource pool addresses many of the operational and costs concerns of IT operations it poses new challenges around new processes and mindsets. Thus change management becomes a key while transitioning to a cloud computing environment.
i. A reference model for cloud computing platform
ii. Strategic vision and shared responsibility
iii. Framework for operational control
iv. Commonly understood terminology and language
A sample of Cloud maturity model described below, describes an evolutionary path to attaining a rich and sophisticated cloud infrastructure. The maturity model represents two ends of the cloud spectrum. At one end, which can be considered initial level, consist of primarily infrastructure services, which is usually built in-house, and IT organizations have full control over the infrastructure. The other end of the spectrum represents a full elastic cloud capability, with a very high cross organizational visibility. The cross organizational visibility stems from various organizational systems that integrated and now share a common vision (and resources). Between the two ends of this spectrum, is the incremental adoption of various technologies that nudges the organization to the next level. This approach can be instrumental in defining a roadmap to espousing cloud environment. Thus, a maturity model is an important exercise in vision development which can be used as a tool to facilitate organizational understanding and a benchmark to measure progress.
Figure 2: Cloud Maturity Model
This paper attempts to lay out the various elements that collectively form the cloud computing platform. The primary goal of this paper is to discuss and clarify the concepts around cloud computing, while defining a framework to gauge the adoption of cloud as a platform with business imperatives. The secondary goal of this paper is to better understand the business drivers and organizational commitment which inspires the shared vision of a cloud computing platform. I would also emphasize that while infrastructure technologies such as hardware and software virtualization as a services form the individual building blocks of cloud computing platform, these technologies alone do not qualify to be a complete cloud solution.
Element of cloud computing platform describes the various building blocks, which include a amalgamation of technology solutions such as a virtualization, provisioning automation, monitoring, work flow integration, governance and rich user interface. While it is conceivable to reuse some of the already existing technology toward the new cloud platform strategy, it is vital to have a vision and strategy around cloud adoption. A cloud maturity model is an important exercise in vision development which can be used as a tool to facilitate organizational understanding and a benchmark to measure progress. An exercise in defining a cloud reference model would provoke shared vision and keep expectations real from the investments made into the technology platform.
It is also important to fully understand and absorb the business drivers in choice of technologies that fit into various elements of the cloud computing platform. Like any IT or software solution, cloud computing platform should also address a business problem. This notion compels organizations to examine the existing management systems and integrating the new cloud endeavor into the organizational system is a key to achieving enormous success with stated objectives of cloud platform. This also implies that all of the other organizational sub-systems are equal stakeholder into this endeavor, cloud them becomes a shared vision. The promise of cloud is to enable business agility by effective resource utilization. The effective resource utilization is achieved by devising and exercising necessary control policies and systems. The business agility is achieved by minimizing the arduous IT controls around resource provisioning. Cloud enables the flexible and intelligent infrastructure that is policy driven and governed by robust system of control. This approach while promises to agile environment with low operating expenses, requires significant thought leadership in adoption of cloud technologies.
Armbusrt et al, "Above the Clouds:A Berkley view of Cloud Computing". [On-line] Available here: Retrieved: July 01 2009
IBM White paper. ‘Seeding the Clouds: Key Infrastructure Elements for Cloud Computing'. IBM Corporation, Systems and Technology Group. February 2009.
Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week