|By Nitin Gaur||
|September 26, 2009 01:30 PM EDT||
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.
- Cloud Computing Platform
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):
- Escalating costs of hosting ‘over-provisioned' and application specific environment.
- Reduced ‘ramp-up' time for provisioning hardware and software resources for various environments (Development, Staging and production).
- Cost Effective solution by re-use of software and hardware assets.
- Reduction in support and maintenance costs with use of standardized (at times virtual) images.
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.
- Building Blocks of a Cloud Computing Platform
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
- Infrastructure Component :
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 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
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
- Self Service 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
- Cloud Imperatives
- Addresses a business problem: Like any IT or software solution, cloud computing platform should also address a business problem. Usually business problems are always around curbing costs and bottom line. In many cases these problems are expressed as at tactical levels and translated to more operational levels such as:
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.
- Cost effective : Cloud solution like any other IT/Software solution are also subjected to cost benefit analysis and would need to be a cost effective solution, i.e. proposed cloud platform should have the ability to generate value to offset the cost of investment in cloud platform. The value can be measured in terms of cost savings, revenue impact and other intangibles such as a time saving, operational efficiency and reusability. The realm of cloud computing presents many dimensions of value. Several dimensions include operational agility and control over application development and deployment. In many cases value could be perceived as doing business with new rules and cloud environment arms organizations with the ability to respond faster and providing business agility. This agility can come in form of drastic reduction in development, test and deployment time, without traditional procurement and provisioning hassles. The large scale multitennancy environment as a result of adoption of cloud principles, has tremendous cost advantages due to resource pooling. Resources include the computing resources and capital expenses (CAPEX) available to individual business units. From a financial accounting perspective moving to a cloud would mean a shift in transforming what was traditionally high fixed capital costs to low variable expenses, as business unit or a P&L(profit and loss) statement owner, only pays for what is used, and the fixed costs of assets and human resources are shifted to IT. IT then pools the costs and apportions the expenses based on resources usage (Charge back). While in many cases value of a specific solution is tangible, visible and evident, there are some cases where value of a solution may not be directly measurable, and may be ancillary to the overall solution, or value add to the overall solution. Such ‘plug-in' solution may add to the overall cost of the entire solution and may delay the return of investment (ROI) calculations, but many such ‘plug-in solutions' may be vital in achieving the vision of the complete cloud solution. The cloud maturity model discussed below will present a framework for such a vision, a reference model that can be used as an instrument to define and discern between essential element and value add element of cloud computing platform.
- Integrated into organizational systems: This is an important imperative to adopting a complete cloud solution. The ability 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. This is a challenging task, as this implies that all the business unit owners subscribe and adhere to the shared infrastructure resources and agree upon an equitable chargeback model. I say this is a challenging task, as such an activity involves organizational learning and understanding of new cloud imperatives. 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, this implies some level of integration with new or existing billing systems. A typical cloud integration would mean, ensuring all business units hosts their application in the same infrastructure, and exposing their business functions as a service, which can then be cataloged and reused. This large scale multitenancy has significant and obvious cost advantages of resource sharing and increased pool of available (combined) investment capital. Other cloud integration points would include new systems such as usage and chargeback modeling and billing systems, a system to prioritize resource allocation and provision for additional resources as needed. Cloud system as a whole, conceivably should be integrated into the procurement systems, which would trigger additional hardware and software procurements upon a trigger - either autonomic or human generated. While each of these systems would have their respective approval processes, these process are to be linked and integrated. Cloud computing offers plethora of value and encompass a wide range of IT practices that can really benefit the business, but without addressing the systemic organizational integration concerns, it is really a hype, or another buzz word with no real value. This systemic integration becomes a management tasks.
- Cloud Maturity Model : The cloud maturity intends to provide a structure to describe the various maturity levels of an organization aspiring to adopt the cloud computing platform. Like any maturity model the cloud maturity model is a framework purported to define the organizational understanding of cloud computing platform, and provide a roadmap to a cloud platform. The Cloud maturity model is a methodology that can be used to develop, asses and refine the ‘building of Cloud' process. An organization moving towards a cloud computing platform should undergo this exercise to evaluate the cloud element, and what it would take to reach a certain maturity level. Such an exercise will also aid in cost benefit analysis of the cloud solution, and help adopt various contributing technologies in a piece meal fashion. The cloud maturity mode provides:
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.
- [slides] The Right #AWS Services | @CloudExpo @BMCSoftware #TrueSight
- Announcing @CloudRank to Exhibit at @CloudExpo | #AWS #Docker #Azure
- Cloud Academy to Exhibit at @CloudExpo | @CloudRank #AWS #Docker #Azure
- Outlyer Named “Bronze Sponsor” of @CloudExpo | @OutlyerApp #AI #DevOps
- [slides] The Right #AWS Services | @CloudExpo @BMCSoftware #TrueSight
- [slides] #SecOps in Cloud | @CloudExpo @BMCSoftware #AI #ML #DevOps
- [session] #Serverless Web Apps | @CloudExpo @ChrisMunns #DevOps #Docker
- The Top 150 Players in Cloud Computing
- Cloud Expo 2011 East To Attract 10,000 Delegates and 200 Exhibitors
- The Future of Cloud Computing: Industry Predictions for 2012
- Cloud Expo 2011 New York Expands Technical Program
- Bye Bye Command Line; Amazon Releases Its AWS Web Console
- 5th Cloud Expo in New York: Themes & Topics
- Opinion: Who Made Amazon the Judge of What's Legal on the Web?
- Cloud Computing Bootcamp Returns to Silicon Valley
- Cloud Computing Economics - Amazon EC2 vs Terremark v Cloud Express
- Cloud BI & Amazon VPC