On My Watch

Monday, August 03, 2009

Boiling It Down

Buckets of ink and electrons have been spilled answering "What is Cloud Computing" - ranging from the overly stingent (requiring a specific hardware and/or software formalism) to overly broad (calling everything on the Internet a cloud application). Here is what it boils down to for me:
  • Elasticity: The resources - hardware, software, network - that the application needs to run needs are elastic. As the application usage goes up, it should be able to access more of what it needs, from CPU cycles and horsepower to database "rows" and disk space. And as it goes down, these resources should be released for other applications to use. In other words, the elasticity of a single computer (where CPU, memory and other resources are shared across all the applications on that box) is spread across the data center, across clients and servers.
  • Pay for what you use: Implicit - and a (perhaps the) primary benefit of elasticity is economic - aligning costs with use. As use (and resources) go up and down, so should the costs.
  • Easy to Provision/Order/Pay For - This is about on ramping and adding resources. In a completely auto-elastic system, provisioning is implicit. But even if provision is not automatic, it still needs to be easy.
So .... cloud computing is both business model (yes whether public or private) and technology and these attributes generally cut across both. Elastic resources really includes the technology (enable it) and the ability to track what is used to support the business model, whatever its specifics.

Labels: ,