Why all the trouble defining cloud computing?
Sys-con ran a three page piece today with 20 experts trying to define cloud computing. The results run the gamut from the uselessly broad “internet centric software” to the only somewhat more pragmatic ”infrastructural paradigm shift that enables the ascension of SaaS” to the disbelieving “Clouds are the next hype-term for the next year or two.” So, why are folks having so much trouble defining cloud computing?
IMHO there are two reasons. First, cloud computing really is still being defined as those of us developing the technology work closely with early adopters putting the new technology to work. In other words, whatever cloud computing is today, it will evolve before it stabilizes. Don’t fret this as a bad thing, though, because it’s quite the opporiste. A little competition will benefit all as more vendors produce useful technology and elevate user expectations of cloud computing. Second, as most readers will already have noticed, a great deal of the noise in the space is being propagated by companies with no new technology; they simply want to share in the attention. While this creates noise, it’s actually normal in developing spaces. So, rather than provide yet another definition, let me provide a use case to show just how real and different cloud computing makes infrastructure.
About four months ago one of our customers was having an issue; a small percentage of page requests were getting dropped. The application involved was a search engine, and ran on around 100 servers in production. The problem wasn’t severe, but was evident to customers. After investigating the issue on their own, they requested our assistance along with a couple other vendors. A two hour Webex trial and error session ensued, but the problem persisted. If you’ve ever had to hunt for intermitant errors then you know what we were going through. At this point, though, the story diverts from your typical experience. The customer application was running on AppLogic after all, so it was a packaged system, literally scalable and portable as a unit.
Rather than proceed with tests on the production system, the customer agreed to send us a copy of their application! Yes, that’s right, a complete copy of the search engine - ready to run in our labs. Just as easily as you exchange Word documents with coworkers, they sent us a complete 100 server application. We then made several copies, each of which ran on just a few servers, and started destructive testing. We failed servers, dropped connections, deleted volumes - anything we could think of to exacerbate the error and make it repeatable. A few hours later the problem was solved - a simple misconfiguration in a third party piece of software.
Had this application been running on standard infrastructure, no doubt this story would have had a completely different ending. In all likelihood the error would have persisted for days or even weeks, because the type of troubleshooting we did wouldn’t have been possible. Cloud computing provided this customer a new way to deal with errors in production resulting in a better user experience, reduced manpower, and of course lower cost.
So yes, there is a very real difference provided by cloud computing technology and its impact will be felt across our industry. Just don’t expect anyone to agree on exactly what it is for a while.

