Following in the slipstream of the open-source lidcloud project, Red Hat has unveiled its own effort to create a single programming interface for a wide range of so-called infrastructure clouds, including Amazon's EC2 and the Rackspace Cloud.
Yesterday, the commercial Linux outfit unveiled a new open-source project dubbed deltacloud, which it describes as an effort "to enable an ecosystem of developers, tools, scripts, and applications which can interoperate across the public and private clouds."
A public cloud would be an infrastructure-as-a-service thingy like Amazon EC2, whereas a private cloud is a similar set of dynamically scalable compute resources set up in your own data center. Red Hat hopes to achieves its dream ecosystem by way of a common application programming interface (API) for all clouds - or a least some of them.
"Today each infrastructure-as-a-service cloud presents a unique API that developers and ISVs need to write to in order to consume the cloud service. The deltacloud effort is creating a common, REST-based API, such that developers can write once and manage anywhere," the company says.
"A cloud broker if you will, with drivers that map the API to both public clouds like EC2, and private virtualized clouds based on VMWare and Red Hat Enterprise Linux with integrated KVM."
Founded by Cloudkick - an outfit offering management tools for overseeing the use of Amazon EC2 and similar services - the lidcloud project is building its own cloud-agnostic API. Currently, it does a few tricks with Amazon EC2 and EC2 Europe, Rackspace Cloud Servers, Slicehost, VPS.net, and GoGrid. But the ultimate goal is to create a common API across these disparate clouds and others, including Flexiscale and the open source private cloud platform Eucalyptus.
Like Cloudkick, Red Hat has taken great pride in its new metcloud API. "The initiation of a new open source project within Red Hat is certainly not news," the company says. "It’s an established expectation within our engineering ranks. It’s how we advance and develop software. Every once in a while, though, a new project breaks through the norm of business as usual. Something special. Creating a buzz. Today that project is http://deltacloud.org."
But for Thorsten von Eicken, CTO of RightScale, another cloud management outfit that works closely with Amazon, a metacloud API is "not that interesting really." It's not just the APIs that differ between clouds. Its the way virtual infrastructure is defined within the cloud. And this, he says, is the biggest hurdle between here and a world where you can easily move apps from cloud to cloud.
"The problem isn't having pieces of code that know how to generate a 'list servers' call and parse the response for several different clouds. The problem is being able to construct multi-server architectures and deployments that can make use of Amazon's load balancing service, IP address allocation scheme, and block storage service, and that can then be moved to RackSpace, which uses quite different ways of accomplishing the same high level goals," von Eicken wrote in response to our story on lidcloud.
"These are differences in semantics of the resources being allocated and used in the cloud, not just in the syntax of the API calls. *That's* the fun part from our experience at RightScale." von Eicken worked alongside Amazon Web Services father figure Werner Vogels while doing distributed-systems research at Cornell University in the mid-1990s.
In the end, a common API may not do the trick. "If you think about it, dealing with different APIs is just a programming exercise," von Eicken has told The Reg. "But if...you move to another cloud where the API is the same, but there's a little footnote that says that the semantics of IP addresses are such that they are contained in the data center and your app doesn't run that way, then, well, everything falls apart. That's much harder than a programing exercise. That's a 're-architecting your web site' exercise."
Nonetheless, Red Hat's deltacloud is underway here. ®