By hjfoxwell on Feb 03, 2010
Everybody, it seems, wants a cloud today. "Cloud Computing" has captured the imaginations of the trade press, IT managers, CTOs, and profit-hungry vendors of computing infrastructure software and hardware. But for those who claim they want cloud-like data centers, do they really know what they are asking for and what they truly need? Probably not, from what I've observed recently, and their confusion is understandable given the myriad self-serving definitions of cloud computing.
A reasonably objective definition of this supposedly new method of providing IT services can be found at NIST, the US Government's National Institute of Standards and Technology. A fully implemented "public cloud", according to NIST, includes these essential characteristics:
On-demand self-service: cloud users can unilaterally provision computing capabilities such as server time and network storage automatically without requiring human interaction with each service's provider.
Broad network access: all services are available over the network and accessed through standard mechanisms using "thin" or "thick" client devices (smart mobile phones, laptops, and desktop PCs).
Resource pooling: computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to each consumer's demand.
Rapid elasticity: services can be rapidly and automatically provisioned to quickly scale out and be rapidly released to quickly scale in.
Measured Service: resource usage can be monitored and controlled, allowing for chargeback to tenants only for the resources consumed.
Obviously, not all IT departments will shut down their data centers and host all their services on public clouds, so they express interest in building "private clouds" or in transforming existing infrastructure into cloud-like services. But are ALL the features of the NIST cloud model required for such efforts? Not if you're not implementing a multi-tenant environment, already own hardware resources that can be repurposed, and don't need to implement usage based chargeback to your internal clients.
In fact, many IT departments that claim a need for private cloud computing are mainly interested only in self-provisioning and efficient consolidation, requirements that can often be met with modern virtualization and distributed computing technologies, including grid computing and even with traditional large-scale SMP/multicore systems.
So, think before you put your head in the clouds. Identify what your technology goals and resources are, and implement only the solution components you need. Call it a "cloud" if you must, but remember that this "new" way of computing is in part just a repackaging and renaming of traditional technologies only some of which may be relevant to your policies and mission.