What is Cloud Computing?

Thursday, January 20, 2011 » Cloud, Cloud Computing

Photo by John AllspawCloud Computing has become one of the biggest buzzwords to hit the world of computing in recent history.  Oddly enough the number one question I get on Cloud Computing is: "What exactly is Cloud Computing?"  While tossed around constantly, the term is used across such a range of services, it often seems a little hard to nail down.  Even so-called experts cannot seem to agree on terminology and definition, so in this article I'll take my crack at it, and hopefully provide some clarity.

Cloud Computing is the whole of many available computing services that are provided from the Cloud.  The Cloud literally being that area on your Visio diagram that's across your internet connection and generally represented by....well...a cloud.   In other words, "not here."  Cloud is, of course, a metaphor for the nebulous unknown and massive networked universe that exists on the Internet.  Now that we've made that about as clear as mud, let's add a bit more definition to it all.

Each expert definition of cloud computing tries to put a little structure around the concept, oftentimes breaking Cloud Computing into a number of types of services.  I've seen definitions that break things down into as few as three categories: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS).  In one particular Infoworld article, the authors broke down cloud computing into as many as seven categories (SaaS, Utility Computing, Web Services in the Cloud, PaaS, MSP - Managed Service Providers, Service Commerce Platforms, and Internet Integration).   Personally, I think that's just too complex.  I'd prefer stick to the three category definition or define it by certain characteristics.

Cloud Computing can be defined by computing services that meet all of the following criteria:

  1. Services that are offered on demand over the Internet
  2. Scalable or Elastic - you can scale up or down, on demand, according to your needs
  3. You only pay for what you use
  4. You can self-provision over the web or using a utility program to obtain and configure services without human interaction
  5. Opacity - you are not aware of hardware or software requirements for any of the above - it's all handled without your knowledge

Cloud computing can range from hosted email solutions such as Google Mail, to application solutions such as Basecamp or Salesforce, to virtual machine resources such as those offered by Amazon EC2 and Rackspace, to platform services such as Google App Engine (a platform that developers can write for that allows them to run Internet facing applications from Google's infrastructure) and Amazon Elastic Beanstalk (a platform that allows developers to deploy apps written in languages that run on the JVM).  Offerings come in many shapes and sizes, and at many levels but are all part of the world of Cloud Computing. 

The benefits of cloud computing are really very simple.  Cloud Computing provides relatively inexpensive access to computing resources, in exactly the quantities needed, on-demand, with the ability to scale up and down, with little upfront investment, and no hardware maintenance or obsolecence costs. Small companies gain access to resources they ordinarily might not be able to afford, while large company IT departments become more responsive, able to provision resources on demand and serve enterprises more efficiently, delivering precisely what the business requires.  In short, Cloud Computing helps a company to focus resources and energy on it's core competencies. 

In a future article, I'll discuss the challenges and downsides to Cloud Computing...

comments powered by Disqus