But first: Why I haven’t been posting as much lately
Every so often I read a post that starts with an explanation of “why I haven’t been posting lately”. So here we go. J
The reason that I haven’t been posting as much lately is because I have been focusing on amplifying other worthwhile Windows Azure Platform posts from other people’s blogs. My team has a team amplification blog: http://blogs.msdn.com/innov8showcase. Each member of our Architecture Evangelism team focuses weekly on a separate area of new Microsoft technology and innovation. We try to identify for you the most relevant posts on our given topic and then do a short post about that. Give the state of the Windows Azure Platform and the fact that new features are being released at Internet speed there is no dearth of material to amplify. Take a look at the articles on the Innovation Showcase blog. I am sure that you will not be disappointed.
About this post: The Danger in Relying on the Electric Utility Model for the Cloud
Sitting in my nth Cloud symposium last week I again heard the argument that the Cloud should be modeled after an electric power utility. You just plug into it and stuff works. This analogy has been used lots of places, most recently in Nicholas Carr’s book The Big Switch: Rewiring the World, from Edison to Google . In that book the author chronicles the evolution of electric power from being self-generated by factories located on the banks of rivers and by individual cities for their own use and then later evolving to the utility model where extensive distribution systems allow power to be generated centrally and then distributed to cites, factories and homes. His thesis, shared by others, is that computing is evolving toward that utility model.
I think this model has some validity, but only to a degree.
Don’t get me wrong, Architects love models. They help us understand a complex often unmanageable situation and make it manageable. But the problem is that all models break down at some point. One of my favorite sayings, attributed to Albert Einstein, is that “Things need to be made a simple as possible, but no simpler”. Sometimes models work, but only in a given range. For instance the models of Newtonian Physics worked at non-relativistic speeds but failed a relativistic speeds forcing Einstein to invent new models.
Building Architecture as a model for Computer System Architecture also fits, again within limits. (I have never seen anyone build a building from the top down or had to replace a building foundation while the building was still standing. J). With models sometimes it is more interesting to investigate where the model breaks down then where it is valid. That is what the whole study of patterns and anti-patterns is all about.
Using an electric power utility as the model for the Cloud (Utility) computing only works over a limited range.
Early on in my career I had the good fortune of working for a company that specialized in developing systems for electric power utilities such as Long Island Lighting and Duke Power. My experience with this industry as well as some experience building data centers later on has led me to believe that this model is an oversimplification at best that works only over a limited range. The true model is far more complex.
Home power as seen by the consumer is pretty simple. It comes to the electric outlet and you can plug anything into it and it “just works”. Try to build a factory or a data center and the situation is much more complex. You need to meet with the power company beforehand to predict your expected usage so that they can “provision” the appropriate capacity for you. They may even need to build a sub-station next door to your factory or data center. Certainly they will need to make sure that their generating plant and distribution lines can support the load. Sounds sort of familiar? J
And or course another way that the model breaks down is that units of computation and storage, unlike electrons, are not interchangeable.
So what do you think?