Cloud Computing
Definition
From the Wikipedia [1]:
"Cloud computing is a computing paradigm shift where computing is moved away from personal computers or an individual server to a “cloud” of computers. Users of the cloud only need to be concerned with the computing service being asked for, as the underlying details of how it’s achieved are hidden. This method of distributed computing is done through pooling all computer resources together and being managed by software rather than a human." (http://en.wikipedia.org/wiki/Cloud_computing)
A nice overview of what a Cloud should be (as described by John M Willis):
- Primary Characteristics
* It uses commodity-based hardware as its base. The hardware can be replaced anytime without affecting the cloud. * It uses a commodity-based software container system. For example, a service should be able to be pulled from one cloud provider to any other cloud provider with no effect on the service.
- Secondary Characteristics
* Virtualization engine * Abstraction layer for the hardware, software, and configuration of systems * Pay as you go with no lock-in * Support * Dynamic horizontal(global) and vertical(resources) scaling * Autonomic computing (automated restarts, automated resource expansion and contraction). * Flexible migration and restart capabilities
Example
Google and the Wisdom of Clouds