2009-03-27

The Fight over Cloud

As far as buzzwords goes, "Cloud" is a pretty good one. I've complained about this one in the past, and cloud is a very annoying term to me precisely because of its lack of firm definition, vapidness, and that it means different things to different people.

Now that the much debated "Cloud Manifesto" has been leaked to the web, there's a little more to chew on. The war over the definition of what cloud means has begun.

Below is my analysis of what annoys me about this document, ignoring for now the politics associated with its creation and distribution.

The author(s?) of this "manifesto" say that the document "does not intend to define a final taxonomy of cloud computing", yet that is exactly what they have ended up doing. And given that their definition reads more like a advertisement for outsourcing VMs, this is at odds of my personal view of cloud as a general architecture for building distributed systems.

To me, none of their listed criteria, either independently or in combination, make something "cloud", nor does being "cloud" imply the existence of any of these proposed criteria.

So, with that said, let's take a more detailed look at these "key characteristics of the cloud":

Scalability On Demand

While this is value that can be offered by a cloud, there are lots of non-cloud systems that provide exactly this, and you can have a cloud that does not provide scalability on demand.

For example, IBM has been offering mainframe systems with extra processors that you can pay to use, "on demand". I wouldn't classify a zSeries a cloud.

Streamlining the Data Centre 

As "streamlining" is an ambiguous word, we'll assume that the authors mean outsourcing or cost reductions. However, not all uses of cloud will result in the reduction of cost (capital or infrastructure) or moving work outside the data centre.

Improving Business Processes

Technological systems are more often than not orthogonal to business process improvement. One can deploy cloud systems and end up with a worse business process, and one can improve business processes without deploying cloud technology.

Minimizing Startup Costs

Fractional allocation to reduce the minimal quanta that must be purchased to do useful work is the closest to a acceptable criteria for cloud, but is a VM server a cloud, then? Also, one can deploy a cloud system that does not support fractional allocation.

All Together Now?

Depending on your definition of what cloud is, you could create a cloud system that provides fixed capacity processing, increases data centre costs and brings additional work into the data centre, makes no changes to business processes, and requires large startup costs.

Conversely, you could create a system that has variable on-demand capacity, reduces data centre costs, outsources data centre work, improves business processes, and minimizes startup costs, all without it being a cloud.

Of course, the linchpin of this entire argument is just what a cloud is, and this is why this manifesto matters. It is the first major attempt to put a stick in the sand and say that Cloud is X, Y and Z.

And that is why is has generated such a storm of controversy. At stake is who gets the first mover advantage in the struggle to define what exactly a cloud is.

No comments: