Building a smart engine for multi-cloud, highly available IaaS

April 23, 2011 Off By David

Grazed from CloudNod.  Author:  Scott Sanchez.

I’ve been having a conversation on twitter with @reillyusa this morning about how a “cloud of clouds” could help prevent a single point of failure like we saw take down so many sites yesterday due to issues at AWS.  One availability zone or region goes down at AWS?  No problem, as service levels started to degrade your apps/data/state/etc was moved to another zone or to Rackspace or someone else.  The engine would reduce the cost of having HA because it would make smart decisions about where, how and why to move workloads, and could even have a bunch of hot/warm instances running that are transparently shared across users to reduce the cost of having your own ‘dedicated’ instances at other clouds waiting for you to fail…

As I blogged yesterday, many of the higher profile sites that were down yesterday simply chose to ignore the options available to them today and instead chose to point the finger at amazon instead of looking in the mirror.  Lots of reasons why they prefer finger to mirror… cost, time, skill, or all of the above.

Let’s assume for a moment that someone very smart was able to build such a ‘cloud of clouds’ engine.  It would need to allow developers to address what appeared to be a single VM instance, but was, in fact, a bunch of VM’s in some state (hot/warm/cold) across multiple clouds- with all of the replication, load balancing and failover magic necessary to make this work.  People like Enstratus and RightScale already do some of this within a single cloud platform, so it’s not a stretch to think they could make it work across multiple clouds.  Of course there is the small (huge) problem of the major inconsistencies between offerings among the clouds — take EBS for example, but there are plenty of others.

So with our cloud imaginations running wild, let’s assume this system exists, and it’s is a dream come true for people that need the DIY-ness of IaaS because their apps that just aren’t well suited for static PaaS environments.  Any reasonably cloudy person knows this is really just “enhanced IaaS”, but I feel like it would get lumped in the same bucket as many of the PaaS offerings out there.  I can hear people saying now “yeah, but it’s really a platform” and me responding “yes, a platform for using IaaS”.