One of the great problems with cloud has always been interoperability. The Apache Software Foundation (ASF) addresses this problem with the release of Apache Libcloud v1.0, the cloud service interoperability library.
You may not have heard of it, but Libcloud has a long history. It was created in 2009. The code is a Python library, which hides differences between different cloud provider application programming interfaces (APIs). It enables developers and system administrators to manage different cloud resources through a unified and easy to use API.
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.
"When we first formed Apache Libcloud, there were many failed attempts to create a standard API specification for Cloud providers," said Tomaž Muraus, Apache Libcloud's VP. "We decided to form an open-source interoperability library as part of the Apache Software Foundation. Apache Libcloud 1.0 introduces powerful multi-cloud abstraction not just for IaaS, but also components such as DNS, Storage, Application Load balancing, Backup, and Container-as-a-Service (CaaS)."
As a strong open-source project Libcloud has been adopted by more than 50 cloud providers. Libcloud adopters include Amazon Web Services, Apache CloudStack, Rackspace, Google Cloud Platform, Microsoft Azure, OpenStack, and VMware. There, it's commonly used as a library to service multi-cloud integration and direct API integration.
The library, as you might guess, has also proven to be a popular choice, with DevOps developers seeking to give their tools a simple multi-cloud automation capability. "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, SaltStack's CTO. "I'm excited to spend more time incorporating this library into my projects!"
In this latest version Apache Libcloud now supports CaaS, Amazon EC2 Container Service (ECS), Google Cloud Container Engine (GKE), and on-premises options Kubernetes and Docker. "Apache Libcloud provides a simple API abstraction to deploy Docker containers across both private and public clouds," explained Muraus. "We have seen adoption from academic and non-profit organizations wanting to benefit from free or low-cost clouds, but still maintaining compatibility for public clouds for commercial adoption."
So, the question isn't "Who has adopted Libcloud?" The question is "Who hasn't adopted Libcloud?" If you need to work with multiple cloud providers or on a hybrid cloud, Libcloud is a must.