Apache LibCloud - Keeping up with the cloud market in 2016
1. Keeping up with the Cloud
market in 2016
Anthony Shaw, Apache LibCloud PMC
2. Overview of the LibCloud project
Python library, supports 2.5+, 3.0+
Formed in 2009
Graduated to Apache TLP in May 2011
200k+ downloads a month on PyPi
154 contributors
LibCloud is an open-source library providing a single interface to
communicate with multiple clouds, public or private. Supports IaaS,
LBaaS, DNS and Storage.
3. Why should you use LibCloud?
My workloads run in private and
public clouds, I’ve got scripts for
both
LibCloud supports all major
public clouds and private
hypervisor APIs. Consolidate
your scripts into 1 tool
5. Consolidation in Public Cloud
People are using multiple
clouds for a reason.
Choosing a cloud provider can
be both a commercial and
technical decision.
Don’t let your choice of cloud
provider dictate your
automation strategy.
Give yourself the freedom of
vendor agnostic deployment.
The number of public cloud providers in 2015 has decreased, and usage has
consolidated to a handful of “hyper-scale” providers.
6. Protection against market shifts
[1] http://smallbiztrends.com/2015/10/hp-helion-public-cloud-closing.html
6 months later..
This HP Helion REST API is amazing! I’m
going to automate all the things…
“HP Will Shut Down Its Helion
Public Cloud on Jan. 31”[1]
7. Dispersion in Private Cloud
• Adoption of private cloud has
only increased slightly
between 2014 and 2015
• LibCloud supports VMware
APIs, OpenStack,
CloudStack but not Azure
Pack or System Center.
• Libvirt and KVM support
also available.
8. Using LibCloud
If you want to use LibCloud directly from Python..
$ pip install apache-libcloud
Credentials
Choice of Cloud
get_driver()
Node
Driver
9. Compute Drivers
Node Driver
Node
Size Image
Location
Network
Extended
functions
List images, sizes, nodes
(VMs) and locations.
Deploy, destroy, start and stop
nodes
Create networks
Extended functions for most
native functionality e.g.
snapshots, cloning where
supported.
11. DNS Drivers
Zone Management
Add, find, update and delete
records
Configure TTL for rapid failover
Some drivers support
automated purchasing and
pricing of domains (e.g.
GoDaddy).
DNS Driver
Zone
Records
Extended
functions
12. Example
Locate Zone Add A record
Create
Node
Deploy
Node
DNSDriver
Compute Driver
Integrate your public
IP addresses with
your A/AAAA records
Public IP(s)
13. Storage Drivers
Create containers.
List and manage existing
containers.
Import, fetch and upload
objects into containers.
Fetch CDN URLs where
supported.
Storage Driver
Container
Object
Extended
functions
17. Mix and match
Compute Storage DNS
Application workload
To take full advantage of the LibCloud ecosystem, deploy your application across multiple providers,
choose the best platform(s) for the job.
Compute DNS Storage
Load
Balancer
18. Other ways of consuming LibCloud
Orchestration Tools Management UIs
Development Tooling
19. Salt Stack Cloud
Leverage the flexibility and
breadth of the LibCloud
driver support from Salt
Stack