My answer at this point in time is really simple we don’t use them because if these services go wrong, we (and our customers) have no one to pick up the phone and shout at.
For example, we generally use Omniture (Adobe) for site analytics rather than Google Analytics. I know the name and mobile phone number of our Omniture account manager. I guess that just knowing who to contact gives a level of reassurance.
One of our partners uses one of the large cloud services for it’s main business operations. It makes sense to them – they need to simulate hundreds of computers during tests, for short periods of time. Trying to do that from a standard Internet connection in the office is fraught with problems, and it’s easier and cheaper to rely on the cloud’s infrastructure. Except recently they have been experiencing problem after problem in that cloud’s environment, and their entire business is dependent on that specific cloud provider.
When you experience an outage on Azure or Amazon, who can you call? How can you offer an SLA to end clients when you can’t contact your infrastructure provider?
There are companies who have invested in setting up their own ‘cloud’ environments (we are one of them), with proven support systems in place, and the real USP… a manned 24×7 helpdesk complete with an Account Manager.