Apache LibCloud - Keeping up with the cloud market in 2016

21
Keeping up with the Cloud market in 2016 Anthony Shaw, Apache LibCloud PMC

Transcript of Apache LibCloud - Keeping up with the cloud market in 2016

Page 1: Apache LibCloud - Keeping up with the cloud market in 2016

Keeping up with the Cloud market in 2016

Anthony Shaw, Apache LibCloud PMC

Page 2: Apache LibCloud - Keeping up with the cloud market in 2016

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.

Page 3: Apache LibCloud - Keeping up with the cloud market in 2016

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

Page 4: Apache LibCloud - Keeping up with the cloud market in 2016

Supported Clouds (IaaS)

Page 5: Apache LibCloud - Keeping up with the cloud market in 2016

Consolidation in Public CloudPeople 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.

Page 6: Apache LibCloud - Keeping up with the cloud market in 2016

Protection against market shifts

[1] http://smallbiztrends.com/2015/10/hp-helion-public-cloud-closing.html6 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]

Page 7: Apache LibCloud - Keeping up with the cloud market in 2016

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.

Page 8: Apache LibCloud - Keeping up with the cloud market in 2016

Using LibCloudIf you want to use LibCloud directly from Python..

$ pip install apache-libcloud

Credentials

Choice of Cloud get_driver()

Node Driver

Page 9: Apache LibCloud - Keeping up with the cloud market in 2016

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.

Page 10: Apache LibCloud - Keeping up with the cloud market in 2016

Example

Create Node

Deploy Node(s)

Com

pute

Driv

er

Deploy your primary workload in private cloud and a failover in public cloud

Create Node

Deploy Node(s)

Parallel multi-cloud deployment Update DNS records

Page 11: Apache LibCloud - Keeping up with the cloud market in 2016

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

Page 12: Apache LibCloud - Keeping up with the cloud market in 2016

Example

Locate Zone Add A record

Create Node

Deploy Node

DN

S D

river

Compute Driver

Integrate your public IP addresses with your A/AAAA records

Public IP(s)

Page 13: Apache LibCloud - Keeping up with the cloud market in 2016

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

Page 14: Apache LibCloud - Keeping up with the cloud market in 2016

Example

Create Containe

r

Add Objects

Create Node

Deploy Node

Storage Driver

Compute Driver

New build event

Don’t lose out when using private clouds and not having access to object storage. Cross-over your cloud providers to get the best of both.

Deployment bits

Page 15: Apache LibCloud - Keeping up with the cloud market in 2016

Load Balancer DriversDefine virtual listeners.Control load-balancing method.

Set protocol, IP and port(s).

Add and remove nodes from a virtual listener.LB Driver

Listener

Nodes VIPs

Extended functions

Page 16: Apache LibCloud - Keeping up with the cloud market in 2016

Example

Create Listener

Add Node

Update DNS

Create Node

Deploy Node

DNS Driver

LB D

river

Compute Driver

Auto-Scale event

Implement auto-scaling for a cloud that doesn’t currently offer it by crossing-over load balancer and compute drivers.

Page 17: Apache LibCloud - Keeping up with the cloud market in 2016

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

Page 18: Apache LibCloud - Keeping up with the cloud market in 2016

Other ways of consuming LibCloudOrchestration Tools Management UIs

Development Tooling

Page 19: Apache LibCloud - Keeping up with the cloud market in 2016

Salt Stack CloudLeverage the flexibility and breadth of the LibCloud driver support from Salt Stack

Page 20: Apache LibCloud - Keeping up with the cloud market in 2016

Contributing to LibCloud

Fork + code

Raise Pull Request

Merge!Test + flake

github.com/apache/libcloud