Paul Querna - libcloud

20
Apache Libcloud Paul Querna, Chief Architect, Cloudkick June 22, 2010 Friday, June 25, 2010

description

Paul Querna's lightning talk at devopsdays USA 2010, held 25th June 2010 in Mountain View, CA

Transcript of Paul Querna - libcloud

Page 1: Paul Querna - libcloud

Apache LibcloudPaul Querna, Chief Architect, Cloudkick

June 22, 2010

Friday, June 25, 2010

Page 2: Paul Querna - libcloud

I want a server.

Friday, June 25, 2010

Page 3: Paul Querna - libcloud

I want a server right now.

Friday, June 25, 2010

Page 4: Paul Querna - libcloud

Libcloud is about Compute

• Not SaaS, PaaS, or Cloud Storage

Friday, June 25, 2010

Page 5: Paul Querna - libcloud

Why!?!?

• Amazon: XML + Custom HMAC Auth

• Rackspace: JSON + Auth Tickets

• SoftLayer: XML RPC + User / Password

Friday, June 25, 2010

Page 6: Paul Querna - libcloud

Cloud API Standards

• Haven’t worked.

Friday, June 25, 2010

Page 7: Paul Querna - libcloud

16 Providers

Friday, June 25, 2010

Page 8: Paul Querna - libcloud

Simple APIs

• list_nodes()

• reboot_node()

• destroy_node()

• create_node()

Friday, June 25, 2010

Page 9: Paul Querna - libcloud

Tricks!

• Included data:

• Location

• Price-per-hour in USD

• Cheapest 4 gigabyte node outside the US

Friday, June 25, 2010

Page 10: Paul Querna - libcloud

Code on Slides, at Ignite!possible = []for d in drivers: loc = filter(lambda x: x.country != 'US',

d.list_locations()) for l in loc: sizes = filter(lambda x: x.ram >= 4096, d.list_sizes(l)) for s in sizes: possible.append({'size': s,

'location': l, 'driver': d})

best = sorted(possible, lambda x,y:x['size'].price < y['size'].price)[0]

print best

Friday, June 25, 2010

Page 11: Paul Querna - libcloud

Don’t update that Wiki!

• pssh on list list_nodes()

Friday, June 25, 2010

Page 12: Paul Querna - libcloud

Fabric + Libcloud

$ fab hostname[173.45.245.33] run: hostname[173.45.245.33] out: lctest3.k1k.me[173.45.245.32] run: hostname[173.45.245.32] out: lctest2.k1k.me

Done.Disconnecting from 173.45.245.33... done.Disconnecting from 173.45.245.32... done.

Friday, June 25, 2010

Page 13: Paul Querna - libcloud

Building on Top

• Silver Lining: Python Deployment on the Cloud

Friday, June 25, 2010

Page 14: Paul Querna - libcloud

Building on Top

• Mercury: Drupal Deployment on the Cloud

Friday, June 25, 2010

Page 15: Paul Querna - libcloud

Up Next

• No World Domination, just clouds

Friday, June 25, 2010

Page 16: Paul Querna - libcloud

Image Formats

• Standards haven’t worked (yet!)

Friday, June 25, 2010

Page 17: Paul Querna - libcloud

Multiple Languages

• Java experiment started

Friday, June 25, 2010

Page 18: Paul Querna - libcloud

It’s Open Source

Friday, June 25, 2010

Page 19: Paul Querna - libcloud

Related Projects

• JClouds: Java-world-equivalent

• Apache Deltacloud: Ruby-ish equivalent

Friday, June 25, 2010

Page 20: Paul Querna - libcloud

• Apache Libcloud:

http://libcloud.org/

#libcloud on Freenode IRC

• Slides online:

http://paul.querna.org/slides

Friday, June 25, 2010