The buzz phrase effect has finally kicked in with Cloud Computing. A few years ago "Web Services" meant an XML message between two web systems using a simple protocol. When it became a buzz phrase that enterprise marketers got a hold of it, Web services became anything that did something (they wanted to sell) online. The same is starting to happen with Cloud Computing. We often try to define what a technology is (standards) by what a technology is not. Here's my exclusion list:
1. Cloud Computing is not a Web portal - My Yahoo, iGoogle and the like are not examples of Cloud Computing. They may run on the cloud, the may even interface to cloud based systems but they are not by definition cloud computing. Why? because they are not "computing" platforms, they are very interesting Web properties.
2. Microsoft's new Mesh is not cloud computing - Let me quote the source "Live Mesh puts you at the center of your digital world, seamlessly connecting you to the people, devices, programs, and information you care about— available wherever you happen to be." HUH? I think there are clouds involved in that statement but they aren't computing clouds. This is another example of MS being lead by people who don't understand who their competition is.
3. Virtual Servers at (you name it, godaddy, rackspace etc.) is not Cloud Computing - Virtualization, while a very powerful tool in the advancement of cloud computing, does not by itself make a solution Cloud Computing. The missing element is cloud abstraction. Amazon's EC2 would not be a cloud computing platform if I had to call a sales person to buy a virtual instance. My virtual instances in EC2 are transient and I am paying for them in a utility model. I can stand up and shut down instances with a web service command (yes, a TRUE web service).
In my opinion there are three technology candidates for the title of Cloud Computing Systems.
1. The portable Web - deployable widgets, portlets or other elements that are built on top of Adobe Air, Google Gears or even (big throw back) a Java applet. These computing elements can be designed to serve a specific computing function and be deployed across multiple platforms without concern for the underlaying infrastructure.
2. Autonomic virtualized clouds - Amazon Web Services, Microsoft SSDS (when it actually happens) or VMWare based solutions for computing or storage in an on-demand configuration that provides utility computing from a Web connection.
3. Virtual Application Servers - Google Apps Engine is a great example of where Cloud Computing is going. The Google implementation on Python with it's limited API will not draw enterprise customers but it does give us the first working "appserver in the cloud". Where Google shines in this regard is simplicity. Relatively lower skilled programmers can quickly develop working applications without any concern for the underlying implementation of the services they are using.
Hopefully the message of Cloud Computing won't be completely drowned out by the over use and abuse of those who are simply trying to ride it's coattail. Maybe we can start a new trend by coining another buzz phrase. I'm not sure what the next buzz phrase will be, I'm in favor of the Semantic Cloud Computing Web Service 2.0. What do you think?