Our language appears to be evolving. I notice a growing trend of people referring to software that runs “in the cloud” when discussing software delivered over the web, or Software-as-a-Service.
“In the cloud” appears to be a very useful expression, because it sounds like a location you can put things: e.g. Joe put his data in the cloud. This has a better ring than, say, Joe is using a Software-as-a-Service web application to store his data.
However, the technical purist in me cannot let go of this one without a fight. Cloud computing is not the same as SaaS or web-based applications. Rather, cloud computing is a specific way of engineering systems. A cloud is a massive network of commodity machines, with which people interface via virtual servers (in a nutshell). The various machines dole out the tasks to the machines with resources available.
The term cloud computing has become popular due to Google’s and Amazon’s introduction of their cloud API’s. You can read about this on Wikipedia as well if my discussion of this issue hasn’t glazed your eyes over already.
Clouds aren’t the only way to build a web application, however. Highly interactive, desktop-replacement web applications can also be delivered with managed servers. Managed servers can also share load.
Here’s a specific example: if you, say, upload your files to a service that is run on managed servers, your files are going to be on the same box (and hopefully on at least another backup machine). If you upload your files to a cloud service, those files will be distributed across whatever machines have resources available.
But far be it from me to interfere with the evolution of our vernacular. If anyone is interested in running their legal practice management and time and billing software “in the cloud”, let us know.