Apache Libcloud, Focused on Cloud Interoperability, Reaches 1.0 Milestone
Are you familiar with Apache Libcloud? It's an important open source project in the cloud interoperability arena, which provides a Python library for interacting with many of the popular cloud service providers using a unified API.
After much testing and tweaking, Apache has announced the release of Libcloud 1.0.0. Among other features, the 1.0 release includes two new driver types, container-as-a-service and backup-as-a-service.
Libcloud has actually been around for years. It was originally developed and open sourced in 2009 by folks at Cloudkick. As noted on ZDNet:
"In the early days, cloud providers started with Infrastructure-as-a-Service (IaaS) virtual machine (VM) hosting of KVM, VMware, or XenServer VM. Apache Libcloud abstracted away from the differences between these platforms. It did this by providing a single Python API to collect data from multiple cloud, manage environments, and automate server deployments. Over time, as cloud providers evolved to offer simple Platform-as-a-Service (PaaS) services, such as DNS, load balancing, and backups, Libcloud has expanded to support these new clouds."
There are some very easy Quick Start instructions available for Libcloud, found here. And, you can find a collection of projects and companies leveraging the library here.
As Libcloud developers note:
Libcloud is a Python library for interacting with many of the popular cloud service providers using a unified API. It was created to make it easy for developers to build products that work between any of the services that it supports.
Resource you can manage with Libcloud are divided in the following categories:
- Cloud Servers and Block Storage - services such as Amazon EC2 and Rackspace CloudServers
- Cloud Object Storage and CDN - services such as Amazon S3 and Rackspace CloudFiles
- Load Balancers as a Service - services such as Amazon Elastic Load Balancer and GoGrid LoadBalancers
- DNS as a Service - services such as Amazon Route 53 and Zerigo
For more information about the features and supported providers, please refer to the documentation.