Everyone is excited about cloud computing, but there's a fair bit of confusion about it actually means to different types of businesses. One might say the definition is a bit clouded, but that would be a terrible pun, so one won't say that (dang!).
Here, then, is an attempt to disambiguate different bits of the cloud and what they mean to you as a business. Hopefully this is intelligible to non-technical people too.
Cloud computing (IaaS, Infrastructure as a Service): On one end of the spectrum, there is "raw" cloud computing. This is provided by the likes of Amazon and Rackspace, or even Linode, Joyent, and various other "VPS providers". At this end of the spectrum, you're renting raw computing power, in the form of virtual servers, from people with big data centres, and setting up your applications yourself.
Cloud services (SaaS, Software as a service): On the opposite end of the cloud spectrum, you're using Software-as-a-Service apps like GMail, Google Docs, Salesforce, Basecamp, and a plethora of others, to run your business's critical applications "in the cloud".
So far, Amazon and Rackspace are the only very large providers in the field of raw cloud computing. Amazon has the largest share of the market, and is pocketing a tidy profit over it. Google could play in this market, but they've pointedly chosen not to - Google App Engine does not provide raw servers. So really that leaves only Amazon as the king of the hill.
Cloud computing is not interesting to businesses
However, 99% of companies out there have absolutely no interest in cloud computing. In order to be digestible by the average business, cloud computing must first go through a number of layers that progressively add value and usability to it, and make it directly useful to a specific customer.
As far as 99% of the market goes, cloud services is where it's at. They want easy to use apps that are always on. Ultimately, they're consuming cloud computing too (since more and more of these apps are hosted on cloud computing providers), but they would never want to interact with cloud computing directly. Even tech startups building their own product don't want all their cloud computing in raw form: they use GMail and Google Docs like everyone else.
The stuff in between
But, actually, even as far as tech companies are concerned, raw cloud computing is more complicated than they care about. Enter the "stuff in between". As a startup founder, you don't want to have to care about spinning up EC2 instances to absorb the load of a particularly successful promotion. You don't want to keep an eye on the hard drives to make sure they're not full up. You don't want to spend half a day setting up a new server. You want all this to happen transparently in the background. Why wouldn't you?
This is where providers like Heroku, force.com, Google App Engine, and even some of Amazon's services like SimpleDB, come in. Transparent, "I don't even know how many servers it's using" computing power. The current moniker for this is PaaS, for Platform as a Service.
Looking at the last couple of days of news, then, Salesforce is not trying to compete with Amazon. They're trying to compete with Google App Engine for the middle spectrum of the market, the providers of pre-digested cloud computing power that can be easily and transparently used by tech companies.
And with the acquisition of Heroku, Salesforce is now the most credible competitor to Google in this space.
If you read this far, you should follow my RSS feed here.