I was hassled by Alistair last year about the infrastructure choices at my company because I chose not to leverage the capacity and cost benefits of EC2. The reason, I explained, had everything to do with SLAs. My servers dish up content and application flow for phone calls. Jitter and delay are everything in that scenario because unlike web browsers that give visual cues to show they’re working, a phone call just gives dead air. And dead air is dangerous.
What we chose to do was leverage virtualization in a private compute cloud with a private iSCSI SAN. This required some up front expense, but the results have been great. I control my uptime, can reliably hit my SLAs on jitter and response time, and can spin up / move around servers on a whim. With the purchase of compute resources made independent from application resources, I can introduce new servers into the farm and shuffle VMs without impacting production or drag the app team into an installation. Server cloning futher simplifies the whole process. My app team gets to think logically about distribution of load and my ops team doesn’t need to be intimately familiar with the app.
My takeaway? Compute clouds are real and can have a signnificant impact on mainstream computing. Where my opinion differs a bit is where that change will happen. Clouds within the enterprise that give CIOs total control over SLAs are far more likely to succeed in a broad way than hosted compute clouds. Enterprise clouds make security a non-issue since the same policies that secure other servers secure the cloud. Performance is a non-issue because you’re not competing for CPU time and memory with people outside your company and a cloud level policy guaranteeing a certain capacity level can be had within the organization.
In other words, none of the benefits and none of the distractions.
Part 2: Yes, I said none of the distractions, and that does include cost.