This global super-computer, the cloud

This global super-computer, the cloud

Summary: 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.

SHARE:
TOPICS: Hardware, Browser, CXO
9

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."

Topics: Hardware, Browser, CXO

Phil Wainewright

About Phil Wainewright

Since 1998, Phil Wainewright has been a thought leader in cloud computing as a blogger, analyst and consultant.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

9 comments
Log in or register to join the discussion
  • RE: This global super-computer, the cloud

    At super high level, this looks like a straight line. Perhaps, the degree of doubtfulness goes high while thinking of custom build solutions, which has to change and adopt the rapidly transforming requirements of business. SAAS, PAAS and IAAS all sound great..
    Manpreet Singh Brar
  • RE: This global super-computer, the cloud

    Nice that you were thinking about this 10 years ago. Right now, I'm thinking there is no way this won't happen. What do you think about application development on this global supercomputer? Do you think we're going to need some kind of new application development framework or will CSS 3/HTML 5/JQuery/Etc be enough for the future?
    dvanderwerken
    • RE: This global super-computer, the cloud

      @dvanderwerken
      The most important step is for the application development to become more loosely coupled so that the different components can do what they do best. I think there's more work to be done on the client-side but a lot of the capability will come from accessing services whose only interface will be a set of REST or SOAP calls.
      philwainewright
  • Actually, Cloud computing IS a return to a client-server architecture

    Paul Buchheit is wrong. "Which parts of the application run on your computer and which run on Google?s computers?" really does matter. Sure, your local PC may be doing processing for the application, but Buchheit's example has it only doing the rendering of the page locally, not truely doing any manipulation of the actual data.

    What it comes down to is, what can you, or your business, tolerate in reduced, or non-existent, computing capability, and for how long? If you can't tolerate downtime, then you need to have local storage and processing AND the cloud as a disaster plan in case a tornado or some nut with a fuel truck blows up your server farm. But you need local control and processing for when your service provider decides to cut you off without warning, or a disaster severs communication and power lines, and forces you onto on-site power generation and processing.

    Notice that the Cloud is not an either-or proposition. It is two HALVES of the whole.
    Dr_Zinj
    • RE: This global super-computer, the cloud

      @Dr_Zinj
      Thats kind of what he was referring to, an architecture that allows code - the exact same code - to run on distributed cloud processors as well as locally on dedicated processing.
      If for some reason there is no cloud, processing continues locally with live redundant copy, and likewise could be accessed from a physical network or mobile device if the local copy goes down. Its more than just mirroring data, its code interoperability on a level never seen before.
      Literally treating the entire internet and all its attached processors (even mobile ones) as one single OS, and from your perspective treating your mobile and its attached internet as a contiguous OS in the same manner, one and the same. No host, no server, if you have processing it get used and if you dont then its performed in the cloud and just rendered.
      SiO2
  • RE: This global super-computer, the cloud

    Xcerion's, icloud, is a great example of cloud computing taking place on the client-side, Phil. Icloud's users benefit from the processing power of their own machine, such as rendering the user interface, and communicate with the server only when needed - mainly to access and store information. The user experiences an overall faster and more responsive service. Xcerion calls this their Hybrid Cloud Computing solution.
    LingonLife
  • RE: This global super-computer, the cloud

    Phil,

    First, amazing that the original article is still on-line after 10 years ? imagine what it would take to do that in a pre-cloud era. Second, I think I disagree with Buchheit?s: ?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? That is the equivalent of thinking of your laptop as a massive collection of chips and transistors, or of a program you developed as a massive collection of assembler put, gets and goto statements.

    To use a new platform we need to think of it as just that, as a platform, not what it is made off. If you try to explain how electrons flow to semiconducters to explain how computers work, nobody (well almost nobody) will understand. That is why we need abstractions. Abstractions often come in the form of models, like the client/server model or (talking about abstraction) the object oriened model or even the SQL model (abstracts from what goes on inside the database). Unfortunaltly the current cloud does not have such a model yet ? atleast not one we all agree on. That is why everyone is trying so hard to slap old models onto it and see whether they stick. For example for IaaS (infrastructure as a Service) most are trying to use models of (virtual) machines that are somehow interconnected, which makes everything overly complex and cumbersome.

    What we need is a model that describes the new platform, without falling into the trap of describing the underlying components (describing a laptop by listing transistors). The model most likely will be service oriented and should be implementation agnostic (REST or SOAP, Amazon or P2P, iOS or Android, Flash or HTML5). Let?s have a look who wrote something 10 years ago that we could use for this, my bet would be on some of the Object Oriented models out there.

    http://bit.ly/e5cng6
    Bjarne Rasmussen
  • RE: This global super-computer, the cloud

    Phil,

    First, amazing that the original article is still on-line after 10 years ? imagine what it would take to do that in a pre-cloud era. Second, I think I disagree with Buchheit?s: ?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? That is the equivalent of thinking of your laptop as a massive collection of chips and transistors, or of a program you developed as a massive collection of assembler put, gets and goto statements.

    To use a new platform we need to think of it as just that, as a platform, not what it is made off. If you try to explain how electrons flow to semiconducters to explain how computers work, nobody (well almost nobody) will understand. That is why we need abstractions. Abstractions often come in the form of models, like the client/server model or (talking about abstraction) the object oriened model or even the SQL model (abstracts from what goes on inside the database). Unfortunaltly the current cloud does not have such a model yet ? atleast not one we all agree on. That is why everyone is trying so hard to slap old models onto it and see whether they stick. For example for IaaS (infrastructure as a Service) most are trying to use models of (virtual) machines that are somehow interconnected, which makes everything overly complex and cumbersome.

    What we need is a model that describes the new platform, without falling into the trap of describing the underlying components (describing a laptop by listing transistors). The model most likely will be service oriented and should be implementation agnostic (REST or SOAP, Amazon or P2P, iOS or Android, Flash or HTML5). Let?s have a look who wroote something 10 years ago that we could use for this, my bet would be on some of the Object Oriented models out there.

    http://bit.ly/e5cng6
    Bjarne Rasmussen
  • RE: This global super-computer, the cloud

    Phil,

    First, amazing that the original article is still on-line after 10 years ? imagine what it would take to do that in a pre-cloud era. Second, I think I disagree with Buchheit?s: ?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? That is the equivalent of thinking of your laptop as a massive collection of chips and transistors, or of a program you developed as a massive collection of assembler put, gets and goto statements.

    To use a new platform we need to think of it as just that, as a platform, not what it is made off. If you try to explain how electrons flow to semiconducters to explain how computers work, nobody (well almost nobody) will understand. That is why we need abstractions. Abstractions often come in the form of models, like the client/server model or (talking about abstraction) the object oriened model or even the SQL model (abstracts from what goes on inside the database). Unfortunaltly the current cloud does not have such a model yet ? atleast not one we all agree on. That is why everyone is trying so hard to slap old models onto it and see whether they stick. For example for IaaS (infrastructure as a Service) most are trying to use models of (virtual) machines that are somehow interconnected, which makes everything overly complex and cumbersome.

    What we need is a model that describes the new platform, without falling into the trap of describing the underlying components (describing a laptop by listing transistors). The model most likely will be service oriented and should be implementation agnostic (REST or SOAP, Amazon or P2P, iOS or Android, Flash or HTML5). Let?s have a look who wroote something 10 years ago that we could use for this, my bet would be on some of the Object Oriented models out there.

    http://bit.ly/e5cng6
    Gregor Petri