You have to pull back the covers and be able to control all the dials and switches yourself – bandwidth, I/O, RAM, disk usage and access, virtual-server migration and failover, load balancing, the priority and resources devoted to particular services to particular applications – the whole bit.
Without that level of granular control, the tools to understand how your applications are running and what resources they're overusing, when and why, you can't keep them performing well, let alone make sure you're prepared if anything suddenly crashes, according to Patrick Kuo, the cloud guru who built the news site Daily Caller.
"Even Amazon's Web Services, which let you do a lot to define how you use their resources, come up with limitations," Kuo said. "In order to get some things to change, you have to authorize more use of resources, which you'd rather do yourself or set it up to happen automatically according to specific situations."
That requires, at minimum, using a "private cloud" service from a public-cloud vendor – meaning you're still using the same platform, but you're paying extra to make sure your apps and virtual machines run on hardware, networks and storage dedicated only to you and that you can control – very much like a co-location agreement rather than stereotypical "cloud," he said.
The cloud business, lucrative and rapidly growing as it is, poses big problems for the companies providing it, of which Amazon is only the best known – which Brodkin's story points out.
That hasn't slowed the number of companies pushing into the market with their own cloud services of various types, flavors and levels of reliability.
It has driven even technically capable companies such as Iron Mountain to back away from general-purpose cloud-computing services to focus on their own specialties.
If you're in the market for a cloud service, I'd look out for companies pitching you on services they have no history of providing, and ask some hard questions about how they can demonstrate reliability with no track record to prove it.
I'd also look at federated models that let you use more than one service provider for different functions. It's too difficult right now to split cloud-based applications among different cloud platform. It is possible to have specialty providers such as Iron Mountain to back up data or apps being hosted elsewhere.