My Kingdom for a Definition (and a taxonomy)

Peter Laird, Architect at Tendril Networks, addressed the Enterprise Cloud Summit to try and provide a taxonomy of cloud computing. He talked first about the difficulties of defining some recent popular terms in computing – Web2.0, mashup, REST. Cloud Computing suffers the same problem – it becomes popular, and people jump on the bandwagon before a strict definition has emerged.

What is Cloud Computing?

Peter collected together some definitions from other cloud computing experts, from the last couple of years.

  • Werner Vogels of Amazon, said that cloud computing means “all the resources you want, infinite capacity living outside in the cloud on the internet for you to use”
  • Lew Moorman of Rackspace says cloud computing has 3 characteristics: Pooled computing, powered by software, delivered over the web.
  • Thorsten von Eicken of Rightscale said that cloud computing means “Outsourced, pay as you go, on demand, somewhere on the internet.
  • Joe Weinman of AT&T created an acronym: Common, Location-independent, Online, Utility, on-Demand.
  • Geva Perry of Thinking out Cloud, gave a more technical definition “Computing infrastructure and application platforms that are self-healing, SLA-driven, Multi-tenancy, Service-oriented, Virtualized, Linearly Scalable, Data”

Peter observed that taxonomies break down into three types: simple and pragmatic, or academic, or vendor-driven.

One example taxonomy is by Robert Anderson, who used three buckets:

  • Infrastructure as a Service (e.g. Amazon EC2)
  • Platform as a Service (e.g. Google App Engine)
  • Software as a Service (e.g. force.com)

Another comes from Lama Youseff et al (UC Santa Barbara and IBM Research) give another view with five layers:

  • Firmware/Hardware
  • Software Kernel
  • Cloud Software Infrastructure
  • Cloud Applications

Peter’s own model uses 4 layers – Infrastructure, Platform, Services, Applications. The full taxonomy is available on his blog.

Infrastructure

  • Public Clouds e.g. Amazon EC2
  • Private Clouds e.g. Eucalytus
  • Grids (Compute & Data) – e.g. Globus, IBM eXtreme Scale
  • OS Images (Virtual Appliances & Virtualization)  – e.g. Cohesive

Platform

  • Business User Platforms
  • Development Platforms

Services

  • Storage – e.g. Google BigTable
  • Integration – e.g. Boomi
  • Enablers (Billing, Security, Fabric Management, System Integrators) – e.g. Aria, OAuth, Cloudkick, Elastra

Applications

Thousands of them!