Apache Libcloud: Python way to manage the cloud
More and more organizations start using ‘the cloud’ these days and cloud vendors like Amazon, Rackspace, GoGrid, or Linode become more and more popular. Soon enough deployment of instances across multiple cloud providers will become a common occurrence, since it ensures high availability and increases performance. While most cloud vendors have APIs, they can vary and complicate work of system administrator. That is why Libcloud and similar tools have been developed.
Apache Libcloud is an open-source Python library used for interacting with popular cloud service providers through a single, unified API. It would be easier for developers to build cloud-related products using a single, consistent Python interface for more than 30 cloud providers and their major services.
Libcloud does not support all of the available provider APIs functionality, but only main features to manage multiple cloud services: creating, rebooting, destroying an instance, and listing all instances. This way users can avoid vendor lock-in. Apache Libcloud is distributed under the Apache 2.0 license and supports Python 2.5, 2.6, 2.7, 3 and PyPy.
This library can manage resources in the following categories:
- Cloud Servers and Block Storage (like Amazon EC2 and Rackspace CloudServers).
- Cloud Object Storage and CDN. With Libcloud you can manage cloud object storage and services such as Amazon S3 and Rackspace CloudFiles, Google Storage and others. Additionally, it features simple CDN management functionality.
- Load Balancers as a Service. It is easier to work with Amazon Elastic, Rackspace Cloud, Ninefold, and GoGrid Load Balancers.
- DNS as a Service. Libcloud allows managing of services such as Amazon Route 53, Rackspace Cloud DNS, Zerigo DNS, and many more.
Moreover, Libcloud provides deployment functionality that makes bootstrapping a server easier. With this Python library it is possible to create a server and run deployment scripts on it. Executing arbitrary shell commands simplifies SSH key installation and running a configuration management tool (such as Puppet, Chef, or cfengine) on the newly created server.
Apache Libcloud helps system administrators to manage instances across multiple cloud providers and services such as Amazon EC2, Rackspace Cloud, Amazon Route 53, Amazon Elastic Load balancer, among others. View the list of all supported providers and methods in documentation or find more information at libcloud.apache.org.