Hacker News new | ask | show | jobs
by musket 5182 days ago
You could split your service, half hosted on Amazon and the other half on the HP cloud, so next time one of them fails you can still operate..
1 comments

Or half-hosted on HP, half hosted on Rackspace's OpenStack product (when it is released), so that you don't need to code to two different APIs.

Or half-hosted on IBM, half-hosted on Internap, half-hosted on Dell public cloud, half-hosted in a private cloud... all with the same OpenStack API.

If you decide you want to run your own hardware (as Zynga did & Justin.TV did when EC2 got too expensive), you just install OpenStack on your hardware - it is open source.

This is why Amazon scrambled to partner with Eucalyptus recently, so that they could have something to point to as an alternative that supports the EC2 API.

Actually unless you're doing something very tightly connected to one single service, there's a number of libraries you can use which will give you a nice abstraction.

There was also some reverse-proxy which "normalises" your requests for a given provider presented on Fossdem this year, but I can't recall the name.

Abstraction layers are nice in principle, but the issue isn't really the APIs, it is the different semantics. To give a concrete example, on Rackspace's (current) IaaS offering disks are local to the machine and persistent; on Amazon's offering disks are local and ephemeral, or locked to one AZ and persistent.

The API issue is a triviality compared to hiding those details. I think that's the real power of OpenStack - the shared API is a convenience, but the shared model is priceless.