Apache LibCloud’s May 19 graduation from the Apache Incubator signifies that the race toward cloud inter-operability is firmly underway. Libcloud provides an open source Python library of back-end drivers that enables developers to connect to APIs of over 20 cloud computing platforms such as Amazon EC2, Eucalyptus, GoGrid, IBM Cloud, Linode, Terremark and vCloud. Developers can write code once and then re-deploy their applications on other cloud environments in order to avoid vendor lock-in and create redundant architectures for disaster recovery purposes. LibCloud was originally developed by the Rackspace acquisition CloudKick but subsequently migrated to the Apache Incubator Project in November 2009. LibCloud’s graduation from the Apache Incubator as a Top Level Project means that the product will be managed by a Project Management Committee that assumes responsibility for its evolution and subsequent releases. LibCloud is currently available under version 2.0 of an Apache Software License.
The principal drawback about LibCloud is its exclusive use of Python as the programming language to connect drivers to vendor APIs. Red Hat’s DeltaCloud, in contrast, leverages a REST based API that offers more flexibility than LibCloud’s Python library for the purpose of migrating software deployments from one cloud infrastructure to another. Like LibCloud, DeltaCloud is being groomed through the Apache Incubator project but has a few more steps to travel before graduation and the achievement of top level status. Nevertheless, open source options are clearly leading the charge toward cloud inter-operability although they all presently require the withdrawal of a cloud instance to a holding database followed by re-deployment through the activation of the linking API. In other words, neither LibCloud nor DeltaCloud enable developers to connect Amazon EC2 to Rackspace without an intermediary database as a preliminary step.