Friday, June 17, 2011

Foundational Understanding of Cloud Computing

Near universal agreement exists that cloud computing is the Web-based delivery of a service that provides extensible, elastic, and multi-tenant access to computing resources. The definition gets fuzzy from there. What does it mean to be “elastic” or “extensible”? Some groups include “ease of use” or “ease of deployment” in their definitions, but these are subjective measures. And, of course, simple definitions tend to breakdown when actual services are tied to them. A Web-based customer relationship management (CRM) solution such as is generally considered a staple in the cloud computing portfolio, but is a search engine such as Google or Microsoft’s Bing? Web-based email services such as Hotmail and Yahoo are part of cloud computing, but are emails delivered to a remote client over an SSL or HTTPS connection from an on-premise Microsoft Exchange server also a part of the cloud computing universe?

A good starting point for defining cloud computing is the definition crafted by NIST. The government research and standard setting agency admits that its definition is fluid and subject to change. However, the NIST definition4, now in its fifteenth iteration, provides clear tenets for what constitutes the basics of cloud computing as a technology and delivery mechanism. The NIST definition is:

Cloud Computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics (on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service), three service models (software as a service, platform as a service, and infrastructure as a service), and four deployment models (private cloud, community cloud, public cloud, and hybrid cloud).

As an addendum, NIST makes the following note about the nature of cloud computing:

Cloud software takes full advantage of the cloud paradigm by being service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability.

In other words, cloud computing isn’t necessarily proprietary and should have near universal interoperability and communications channels to ensure access to and usability of data.

The CompTIA Cloud/SaaS Community concurs with NIST’s definition, adding that cloud computing applications, platforms, and infrastructures should guarantee interoperability of solutions, openness in standards, accessibility to resources and data, and portability to different service providers. In our opinion, this openness is necessary for ensuring the sustained adoption and growth of cloud computing by assuring optimal business value to customers.

Bearing the NIST definition in mind, it is helpful to think of cloud computing broadly in two layers: (1) applications and services that encompass packaged cloud apps (SaaS— Software as a Service) and custom cloud apps (developed on PaaS—Platform as a Service), and, (2) the shared network, server, storage, and security resources that constitute IaaS (Infrastructure as a Service).

Read What Cloud Computing Isn’t in our next blog.


Post a Comment