It seems that every time a new technology breaks through the surface a hundred "experts", vendors, and standards-bodies appear like moths to a flame attempting to define the term such that only "they" have the answer, the solution, the standard, or the product.
When my son mentioned a research paper he wrote on cloud computing (which you still haven't sent me, by the way) he did so while disagreeing with a previous post of mine on the subject. He was quite vehement that grid computing did not equal cloud computing, and seemed almost shocked that I would dare to associate the two in any way.
I tell you, if a family can't agree on the definition of cloud computing, the industry certainly won't do so any time soon.
There are a lot of other folks out there trying to specify what you can and cannot call cloud computing - and arguing with them is like poking a badger. They get real mean and ornery when you disagree and if you aren't careful, you might get your eyes scratched out.
The first bit of sanity I've seen in these discussions comes from Gartner fellow David Mitchell Smith, quoted in a Data Center Knowledge post:
“The term cloud computing has come to mean two very different things: a broader use that focuses on ‘cloud,’ and a more-focused use on system infrastructure and virtualization,” said David Mitchell Smith, vice president and Gartner Fellow. “Mixing the discussion of ‘cloud-enabling technologies’ with ‘cloud computing services’ creates confusion.”
But even as I nod in agreement with the rationality of his statement I have to ask: if you use cloud-enabling technologies to build out an infrastructure that delivers services, what do you end up with? Yeah, sure seems like you'd end up with cloud computing services, wouldn't you? Looks to me like we end up right back at square one, regardless of whether we separate the two concepts or not.
I see cloud computing architecture in the same light as I see SOA. It's conceptual, it's an reference architecture, it's a best practices. There isn't an RFC specifying what you MUST or SHOULD implement - and how - in order to qualify as a cloud computing architecture.
I'm not going to try to define cloud computing, or determine what is or is not cloud computing because in the end, I don't think it really matters all that much to the folks in the trenches who have a job to get done. And whether we're talking about Google App style cloud computing services (cloudware), enterprise cloud computing architectures, hybrid cloudbursting architectures, or cloud computing service providers, there's one thing that remains certain in my mind: without the right infrastructure cloud computing won't work no matter where it is or what it's called.