This global super-computer, the cloud

Some people say that it takes ten years to take a new operating system from concept to production-ready. It seems to me that the notion of the cloud as a single, global super-computer, now ten years old, is finally reaching maturity.

Some people say that it takes ten years to take a new operating system from concept to production-ready. Look at the history of Windows, Linux and many others and you'll see that it's a long journey. So when I read Paul Buchheit's post yesterday, The Cloud OS, I was intrigued to see how much it resonated with an article I wrote ten years ago, in October 2000, ... We Are All Inside the Machine. Written in the spirit of a manifesto for cloud computing (as we now call it), that earlier article seems to have stood the test of time pretty well. One passage in particular resonated with the points made in Buchheit's post:

"Gradually the Internet is becoming a unified system that encompasses every computing asset in the world, whether it is located at an Internet data centre or on a user's desktop. Internet computing is no longer a separate entity that is out there, beyond the walls of our office or enterprise. We are all inside the machine, and every enterprise and user becomes a component within the Internet computing value chain."

An insightful article by analyst Michael Mace last year captured similar notions, updated to recognise the evolution of mobile devices, and introduced a concept he termed the 'metaplatform':

"Companies entering the mobile market often ask me which mobile operating systems are going to win long term. I think that's the wrong question. What we're seeing is the gradual evolution of a super-OS that includes both the network and the device ... I'm calling it the 'metaplatform' because it subsumes all other platforms."

Now Buchheit's post spells it all out with remarkable clarity, suggesting to me that the idea I first outlined ten years ago is now reaching maturity.

"Just because an application 'lives' in the cloud doesn't mean that your local computer isn't still doing work," he writes. "When you use Gmail from your web browser, it downloads large chunks of Javascript code to run on your computer doing things such as rendering your inbox, handling keyboard and mouse events, pre-fetching messages, etc. The advantage of having this code run on your computer is that it can respond to your actions within a few milliseconds instead of the hundreds of milliseconds it could take to reach Google's servers (thanks to the relatively low speed of light). Which parts of the application run on your computer and which run on Google's computers? Ultimately, it does not matter, and can change over time ...

"One way of understanding this new architecture is to view the entire Internet as a single computer. This computer is a massively distributed system with billions of processors, billions of displays, exabytes of storage, and it's spread across the entire planet. Your phone or laptop is just one part of this global computer, and its primarily purpose is to provide a convenient interface. The actual computation and data storage is distributed in surprisingly complex and dynamic ways, but that complexity is mostly hidden from the end user ..."

Buchheit's post is a superb antidote to those who regard cloud computing as some kind of return to a mainframe-and-dumb-terminal architecture where all power is concentrated in huge, industrial-era utility centers. The cloud transcends location and requires a new kind of thinking to exploit its full potential. It's important to do that because, as Buchheit concludes, "This global super-computer enables us to do things that would have been impossible not long ago."