Everywhere there is a forum for individuals to communicate about Cloud Computing or SOA, whether it's a chat room, discussion board, LinkedIn Q&A, Twitter or Facebook, I notice a similar pattern forming. These terms, regardless of their origin, are continually being re-defined by the community-at-large, which has both positive and negative results. On the positive side, individuals are working together to try to figure what these terms mean to them, a very natural tendency in the face of ambiguity. On the negative side, there is considerable room for fear, uncertainty and doubt to be introduced.
With regard to SOA, I have played semantic cop to the mass hoard that did not want to all agree on a single definition. My attempts to use logic and humor to dissuade the masses from capitalizing on the term and minimizing its value seemed to have fallen on deaf ears. The same sequence of events is now occurring around Cloud Computing. There is definitely a lack of clarity about what Cloud Computing is and what it is not. Pundits are throwing their hat into the ring in an attempt to gain market share for their ideas. A great example of this is the "private cloud", which to me is like saying "the private Internet," which I believe was appropriately named the Intranet.
This has led me to realize that these terms are too big and too ambiguous to ever again be bound by one definition, which means they are now a classification. So, instead of trying to define them in a narrative manner, I believe we need to define them as a scheme with many components that are interrelated.
I gave up trying to define or classify these types of concepts a while ago. I think its far more interesting and useful to design and build solutions instead of trying to classify them. The recent debate over SOA vs. "just a bunch of web services" (crazily assigned the acronym JBOWS) is an example of the activity I prefer to avoid. Customers want us to deliver solutions to their problems, not argue and pontificate about acronyms and trendy IT concepts that come and go like the wind. Let the pundits debate their concepts and bizarre acronym versioning schemes (e.g. Web 2.0/3.0/etc) – I'd rather help customers solve their problems.
I wonder what you think of my [url=http://samj.net/2008/09/taxonomy-6-layer-cloud-computing-stack.html]6 layer stack[/url], and of [url=http://wiki.cloudcommunity.org/wiki/Cloud_Computing_Stack]recent revisions[/url] taking into account the widespread acceptance of the IaaS/PaaS/SaaS layering.
It's all well and good to see it appearing in things like [url=http://www.ibm.com/developerworks/library/ar-archman10/]IBM's architectural manifesto[/url] but I'd love to have this somehow ratified.
Sam