Cloud computing is getting tons of press these days. Everyone has a different perspective and understanding of the technology, and there are myriad variations on the cloud’s core definition. Beyond defining the cloud, there is much heated debate on the practicality and considerations for implementing enterprise clouds in the short term.
This article explores some of the issues surrounding the definition and evaluation of cloud technologies:
A Google search on “cloud computing definition” yields more than 7 million results; each analyst and vendor seems to have a unique variation on the core theme. It’s easy to see why there’s so much confusion.
“Is it Web services, service-oriented computing, remote data processing and storage, software as a service (SaaS), utility computing, grid 2.0, a system of systems – or is it the buzzword of the moment being hopelessly overexposed by marketing departments bored with grid and service-oriented architecture? The answer may include some or all of the above, but its current center of gravity is where grids, virtualization, SaaS and utility models intersect.”
2008 Preview-Enterprise Computing Strategies | William Fellows and John Barr | 7 Dec. 2007
“A pool of abstracted, scalable, and managed compute infrastructure capable of hosting end-customer applications and billed by consumption."
Is Cloud Computing Ready For The Enterprise? | James Staten | 7 March 2008
“Cloud computing really is accessing resources and services needed to perform functions with dynamically changing needs. An application or service developer requests access from the cloud rather than a specific endpoint or named resource. What goes on in the cloud manages multiple infrastructures across multiple organizations and consists of one or more frameworks overlaid on top of the infrastructures tying them together.”
What is Cloud Computing? | Kevin Hartig | 31 July 2008
“The decoupling created by virtualization combined with defined service offerings and automation is a great enabler of cloud computing.”
Where Virtualization Will Be Going in the Next 5 Years | Thomas Bittman | 2 Dec. 2008
If we dig further into these varying definitions, some core principles, or pillars, emerge as the common defining tenets of a cloud solution.
PILLAR 1: Dynamic Computing Infrastructure
Cloud computing is defined by a dynamic computing infrastructure with the foundation of a standardized, scalable, and secure physical infrastructure. There are levels of redundancy to ensure high levels of availability, and it is easy to extend the infrastructure as usage growth demands it, without requiring architecture rework. Additionally, this dynamic infrastructure is, by its nature, virtualized – this enables quick and easy provisioning and de-provisioning of services via software automation. Workloads can be easily moved from one physical server to another as capacity demands increase/decrease.
This dynamic computing infrastructure is critical to effectively supporting the elastic nature of service provisioning and de-provisioning as requested by users while maintaining high levels of reliability and security. The consolidation provided by virtualization, coupled with provisioning automation, creates a high level of utilization and reuse, ultimately yielding a very effective use of capital equipment in a cloud computing environment.
PILLAR 2: IT Service-Centric Approach
In stark contrast to more traditional system- or server- centric approaches, cloud computing is IT service-centric, abstracting away the complexity associated with server-level service definitions to drive user productivity. In most cases, users of the cloud generally want to run some business service or application for a specific, timely purpose – they don’t want to get bogged down in the system and network administration of environment configuration. They need to quickly and easily access a dedicated instance of an application or service. By abstracting away the server-centric view of the infrastructure, system users easily access powerful pre-defined computing environments designed specifically around their service. This service-centric focus expands the pool of productive system users and significantly reduces administrative activities involved in configuring and provisioning complex environments. Service-centric cloud offerings provide the broadest possible universe of applications and services supported, ultimately driving the broadest adoption.
PILLAR 3: Self-Service Based Usage Model
Many cloud offerings are provided by external service providers. Thus, interacting with the cloud requires some level of user self-service. Best of breed self-service enables users to upload, build, deploy, schedule, manage, and report on their business services on demand. Self-service cloud offerings provide easy-to-use, intuitive user interfaces that equip users to manage the service delivery lifecycle productively. The benefit of self-service from the user perspective is a level of empowerment and independence that yields significant business agility. One benefit often overlooked from the service provider’s or IT team’s perspective is that the more self-service that can be delegated to users, the less administrative involvement is necessary. This saves time and money and allows administrative staff to focus on more strategic, high-valued responsibilities.
PILLAR 4: Minimally or Self-Managed Platform
In order for an IT team or a service provider to efficiently provide a cloud for its constituents, it must first leverage a technology platform is self-managed. Best-of-breed clouds enable self-management via software automation, leveraging the following capabilities:
All of these capabilities enable the appropriate business agility while simultaneously enacting critical and necessary administrative control. This balance of control and delegation maintains security and uptime, minimizes the level of IT administrative effort, and keeps operating expenses low, freeing up resources to focus on higher value projects.
PILLAR 5: Consumption-Based Billing
Finally, cloud computing is usage-driven. Consumers pay for only what resources they use and therefore are charged or billed on a consumption-based model. Cloud computing platforms must provide mechanisms to capture usage information that enables chargeback reporting and/or integration with billing systems. The value here from the user perspective is the ability to pay only for resources used, helping keep costs down. From a provider’s perspective, it allows them to track usage for charge back and billing purposes.