If you read my “stuff” you know I am a very big proponent of cloud computing.
I wrote a small e-book on how to be a cloud purist (which talks about and describes the proper way to — well, cloud).
I have engaged in numerous battles and debates (both online and offline) that were lengthy and passion-filled about this topic and have always tried to approach them as a way to explain why cloud computing should be the way organizations approach their computing.
There is so much potential and value in adopting cloud computing that it is almost impossible to understand how the bastardized concepts of private-cloud and hybrid-cloud even became a reality (don’t worry, Sameer Patel – no rant about that here… fodder for another post).
In keeping with the role of “thought leader” and “visionary” often assigned to me I wanted to find a way to explain why we are not approaching cloud the right way. Then the other day came to me in the middle of a run. Electricity.
We take electricity for granted in this country (well, in most places around the world where a comprehensive solution exists). We expect it to be plentiful, available, and low-cost. We use it to power our lives, businesses, and just about everything else (including cars lately). The true test for anything in this world is to compare it to electricity: you flip a switch and it’s there; you flip it again and it’s gone.
If you bear with me for a few minutes I can explain how we can make cloud work as electricity.
The entire US is covered by an electrical grid. This is what makes electricity always available (or shortly after it goes out in most cases). The grid’s purpose is to ensure easy sharing of electricity that is generated in any one region with many other regions. It also ensures that disruptions that occur in one location don’t affect a larger area and they can be easily and fast overcome.
In the old days, before the grid existed, each town and or region needed to have their own power-generation. A town that generated too much electricity could not “sell it” to a neighboring town (unless they laid out a cable between them – and another for every other city or region they wanted to sell it to) and would often end up being wasted (it is not possible, counter to popular sayings, to store electricity in a bottle for a long-term).
The grid that is laid out around the entire country (and parts of Canada) is used to backup power failures and ameliorate peak load usage. It also makes it far more efficient and cheaper to operate. It was established in the 1920s (and evolved many times since) on the same principles that made telephony and telegraphy work: sharing common infrastructure costs reduce costs and improve efficiency among the suppliers and providers.
The concept of cloud computing, based on models of distributed computing established around the same times as the electrical grid – even before computers, should work the same way. A public network connects myriad resources (storage, computing power, services, etc.) that should be shared. By providing a centralized set of security, management, and allocation rules enables anyone connected to that public network to use those resources.
Before the internet was the public network we could barely do cloud computing: it was a dream (if you remember, CORBA, COM/DCOM were early versions of distributed computing that failed due to the lack of a public network – think of them as “private network” technologies). The introduction of the ubiquitous and cheap network made it possible.
And this is where the story differs.
Software vendors decided, as the electricity and telephone providers did before them, that controlling their customers (and retaining them in their own private networks somehow) was more important than building a computing grid similar to electricity. Today, we are still undergoing that same problem.
The question that always kills me is when I hear someone ask “how many clouds do you have?”.
When we talk about cloud as if it was a storage location for files, or when we discuss how each vendor offers their own cloud (or even clouds – hybrid, private, government-only, etc.), or when we say that anyone that offers a product or service via a browser is “in the cloud” we are missing the big picture.
The public network, is not the cloud – it is the equivalent of the power lines that transverse the world (and having lived in Argentina and Roseville, CA I know power lines – trust me).
Delivering an application via a browser is not the cloud – it is the equivalent of selling someone an electrical generator.
Hosting your own “cloud” is not the cloud – it is the equivalent of selling someone a transformer.
A cloud requires infrastructure built by each participant and common standards to support the connections between those components. If you want to operate a power plant you better make sure you connect to the appropriate grid to take advantage of all the benefits of operating within it. While building your own power plant for your own purposes may work for some situations not every homeowner will benefit from doing so. Even if you have solar or wind energy in your house – you still need to connect to the grid to both sell excess production or power your house when there is no sufficient production.
The cloud is the grid that distributes all those resources so that anyone who needs them can use them with the assurance that their solution will not be “hacked”, changed, altered, or stolen. Just like you don’t expect an electrical appliance you plug into the electrical grid to be corrupted or blown away (as long as it complies with basic standards), you expect any application you plug into the cloud to be secure and perform as expected.
That is the model we need to strive for. Not owning electrical transformers, generators, or power lines.
Let’s build a cloud computing grid.