Amazon's load-balancing service doesn't work across regions, so customers have to do some extra work on their own and use third-party software to make it happen, says Gartner analyst Drue Reeves. Spreading applications across multiple cloud vendors, meanwhile, is not impossible but difficult due to a lack of standards and interoperability.
Rackspace, another infrastructure-as-a-service provider, recently began offering a Cloud Load Balancers service that protects applications against the failure of a single server. But the load balancer does not spread applications across different data centers.
Josh Odom, who leads product development for Rackspace's cloud platform, notes that running an application in multiple data centers is the best way to guarantee 100% uptime, and Rackspace tries to make it easy for customers to use third-party load balancing and failover products to achieve that.
The biggest challenge isn't the application itself, but the data, Odom says. "Any kind of database replication with relational database systems is fairly cumbersome," Odom says. "We're trying to lower those barriers."
Rackspace's Texas data center suffered a few power outages in 2009, forcing the company to issue service credits to customers. The company has since brought in new data center experts and performed top-to-bottom audits of the facilities, Odom says. Despite past problems, Odom says Rackspace data centers are designed to withstand "catastrophic failures" including the loss of major power sources or network capacity.
While disaster recovery planning in infrastructure as a service requires some tech expertise, not all cloud services are geared toward the experts. Platform-as-a-service offerings -- such as Microsoft's Windows Azure or Google App Engine -- are designed to minimize involvement with underlying infrastructure and provide developers a relatively simple way to build and host Web applications.
But load balancing and the ability to fail over from one data center to another is still a big plus in platform-as-a-service clouds.
Microsoft recently announced "Windows Azure Traffic Manager," saying it will allow "deployment of the same application to topologically dispersed data centers enabling the distribution of workload between these data centers through round robin, failover and performance based load balancing schemes." Azure Traffic Manager is available only in a community technology preview, meaning it's not ready for all customers. While Windows Azure Traffic Manager distributes traffic across multiple data centers, SQL Azure Data Sync, also in beta, replicates "databases across multiple data centers to prevent against a DC getting lost," according to Microsoft.
Google's App Engine service can shift both applications and data from one data center to another without data loss or downtime in the event of failure, said Google product manager Greg D'alesandre. Google would not say how far apart the data centers are, but said "the system is designed so that there is no single geographic point of failure."