Libcloud Pulls Together Cloud Services Under a Single API
Apache Libcloud, the cloud service interoperability library, is ready for prime-time. The open source package has reached its 1.0 release.
The library combines information from more than 50 cloud providers and uses a single Python API to manage multiple cloud environments and automate server deployments.
“Apache Libcloud has managed to create one of the most stable and usable APIs out there for managing cloud environments, without it cloud orchestration from SaltStack Cloud would have been nearly impossible to create,” said Thomas Hatch, chief technology officer of systems management software provider SaltStack.
LibCloud was initially created in 2009 at Cloudkick, donated to the Apache Incubator and became a top-level project for the Apache Software Foundation in 2011.
It now supports more than 50 providers including Amazon Web Services, Apache CloudStack, Google Cloud Platform, Microsoft Azure, OpenStack and VMware.
“When we first formed Apache Libcloud, there were many failed attempts to create a standard API specification for cloud providers,” said Tomaž Muraus, vice president of Apache Libcloud, one of the project’s original contributors.
They started out working on IaaS-enabling hosting of KVM, VMware or XenServer virtualized machines. The project later took on issues such as DNS, load balancing, storage, and backups.
It has six main APIs now covering compute, storage, DNS, containers and backup, though it warns the container API and backup driver are solely experimental. It supports Python 2.5, Python 2.6, Python 2.7, PyPy and Python 3. Support for Python 2.4 has been dropped.
Version 1.0 introduces two new driver types, container-as-a-service and backup-as-a-service, with a full changelog.
It provides a simple API abstraction to deploy Docker containers across both private and public clouds.
It supports container-as-a-service (CaaS) providers including Docker’s, Amazon EC2 Container Service (ECS), Google Cloud Container Engine (GKE), and the on-premise options from Kubernetes and Docker.
Muraus said academic and non-profit organization have been wanting to use Libcloud to take advantage of free or low-cost clouds but remain compatible with public clouds for commercial adoption.
Cloud providers also use Libcloud to enable multi-cloud integration and support direct integration into APIs.
It’s the basis of the library for Rackspace Cloud Monitoring API; The Kraftwerk service management tool uses it as part of a command line utility for deployment and commissioning of cloud servers, and infrastructure management platform mist.io uses in its hosted service to manage and monitor servers across multiple clouds from any web device.