Some Notes on Defining Cloud Computing
By jasoncatsun on Mar 15, 2008
Some key attributes that apply to cloud computing based on the industry's use Circa 2007:
\*Certainly Internet-based and very network centric (unbounded from physical constraints per Mr John Kirby)
\*A Level of Infrastructure (or device) abstraction, which in itself is can be part of the service provided (e.g. Amazon EC3)
\*A Level of management automation (in fact according to the WikiPedia Definition -- if this is not an element its "just a data center." This is an important distinction, in fact many applications that are considered cloud computing today include APIs that help with control of the service.
\*In general there are economic reasons around the adoption of Cloudness -- e.g. cheaper to use Amazon's storage utility than having your own storage in your data center taking up space, power, cooling, admin time, upfront costs, etc.
\*The cloud itself is a provisionable "target" -- if I need a new service or service instance, its provided by the cloud \*Some level of data abstraction in which the data you need is always available but its available everywhere (not the device)
In terms of general usage of the term "cloud computing" it seems that only one thing is common -- its network centric with some level of automation that can provision resources or services automatically.
So what is the relationship to other business models or technology areas? Some comments:
Grid -- Grid could be seen as related to the management of the resources within the cloud, but in and of itself may not meet the "cloud" definition as the above suggest since the actual grid application is not part of the service provided. Namely a grid service that offers specific simulations for a customer's business vs a GENERALIZED grid compute utility is more "cloudlike"
So it would seem that a grid utility could be considered a cloud application??
Since I used Utility -- Utility is often seen as a multi-user service environment to host many different applications, again provisioned at finer temporal granularity (e.g. run-time to perhaps billed as a hourly, daily, weekly, monthly charge). Utility in and of itself again like grid is application dependent in terms of the application of cloudness.
Software as a Service -- SaaS provides specific applications as a network-centric multi-user service (e.g. Salesforce.com)
So it would seem that cloud computing is defined uniquely as the combination of management abstraction/automation + network-centric data-centric applications. In fact, the focus is squarely on the data (and its control APIs) and very little else.
There's also some interesting stuff at http://www.illuminata.com/cgi-bin/pub.cgi?docid=andefinecloud and http://www.cnet.com/8301-13556_1-9874223-61.html