jclouds bof

57
Control Multi-Cloud Infrastructure With Java jclouds Everett Toews Developer Advocate @everett_toews OSCON July 22, 2013 @ 7:00 pm

Upload: everett-toews

Post on 08-May-2015

418 views

Category:

Technology


4 download

DESCRIPTION

jclouds Birds of a Feather at OSCON 2013

TRANSCRIPT

Page 1: jclouds BoF

Control Multi-Cloud Infrastructure With Java

jclouds

Everett Toews

Developer Advocate

@everett_toews

OSCONJuly 22, 2013 @ 7:00 pm

Page 2: jclouds BoF

Intro

Developer

Page 3: jclouds BoF

Committer on jclouds

Page 4: jclouds BoF

Intro

Advocate

Page 5: jclouds BoF

Avatar

Page 6: jclouds BoF

Intro

Operations

Page 7: jclouds BoF

Co-author of The OpenStack Operations Guide

docs.openstack.org/ops

Page 8: jclouds BoF

Cultural Learnings

In startup we are not allow dev team for talk to ops team except by API.

@DevOps_Borat

Page 9: jclouds BoF

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Agenda

Page 10: jclouds BoF

Agenda

•Introduction to Apache jclouds•Where Does jclouds Live?•What Can jclouds Do For You Today?

•Terminology•Example•Potpourri

Page 11: jclouds BoF

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Introduction to Apache jclouds

Page 12: jclouds BoF

Apache jclouds

• Multi-Cloud Toolkit

• Open Source (Apache v2)

• Community

• Portable APIs

• Ecosystem APIs

• Provider APIs

• Java

Page 13: jclouds BoF

Supported Compute Clouds

•Rackspace Cloud Servers•HP Cloud Compute•AWS EC2•ElasticHosts•GoGrid•All Clouds

Page 14: jclouds BoF

Supported Storage Clouds

•Rackspace Cloud Files•HP Cloud Storage•AWS S3•Azure•CloudOne•All Clouds

Page 15: jclouds BoF

Community

Page 16: jclouds BoF
Page 17: jclouds BoF

APIs and Providers

APIs

openstack-nova ec2 rackspace-clouddns

Page 18: jclouds BoF

APIs and Providers

APIs

Providers

openstack-nova ec2 rackspace-clouddns

rackspace-cloudservers-us

rackspace-cloudservers-uk

aws-ec2rackspace- clouddns-us

rackspace- clouddns-uk

Page 19: jclouds BoF

APIs

APIs

openstack-nova

NovaApi:ServerApiFlavorApiImageApi

=Extensions=KeyPairApi

SecurityGroupApiFloatingIpApi

...

ec2

EC2Api:TagApi

SubnetApiWindowsApi

rackspace-clouddns

CloudDNSApi:LimitApi

DomainApiRecordApi

ReverseDNSApi

Page 20: jclouds BoF

Providers

Providers

rackspace-cloudservers-us

rackspace-cloudservers-uk

rackspace-cloudservers-us

rackspace-cloudservers-uk

rackspace-clouddns-us

rackspace-clouddns-uk

•configuration•provider specific features

Page 21: jclouds BoF

Compute Venn

Portable

Ecosystem

Page 22: jclouds BoF

Compute Layers•ComputeService• OpenStack• Rackspace• HP, AWS, etc.

•NovaApi (*Api)• OpenStack• Rackspace• HP

Portable

Ecosystem

Page 23: jclouds BoF

Storage Venn

Portable

Ecosystem

Provider

Page 24: jclouds BoF

Storage Layers•BlobStore• OpenStack• Rackspace• HP, AWS, etc.

•SwiftApi• OpenStack• Rackspace• HP

•CloudFilesClient• Rackspace

Portable

Ecosystem

Provider

Page 25: jclouds BoF

Cultural Learnings

After 3 beer I can able use any of cloud API.

@DevOps_Borat

Page 26: jclouds BoF

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Where Does jclouds Live?

Page 27: jclouds BoF

SDK Deployment

YourSystem

SDK

CloudAP I

VMVM

VM

UserSystem

Page 28: jclouds BoF

SDK Deployment

API

Cloud

YourSystem

SDK

UserSystem

VMVM

VMVM

Page 29: jclouds BoF

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

What Can jclouds Do For You Today?

Page 30: jclouds BoF

SDKs

Plumbing

Page 31: jclouds BoF

SDKs

(Re)Authentication

Page 32: jclouds BoF

SDKs

Pagination

Page 33: jclouds BoF

SDKs

State Polling

Page 34: jclouds BoF

SDKs

Rate Limiting

Page 35: jclouds BoF

SDKs

Retry

Page 36: jclouds BoF

SDKs

Smoothing

Rough Edges

Page 37: jclouds BoF

SDKs

Open Source

Page 38: jclouds BoF

Cultural Learnings

In devops nobody is get fire for buy open source.

@DevOps_Borat

Page 39: jclouds BoF

SDKs

Community

Page 40: jclouds BoF

SDKs

Packaged

Page 41: jclouds BoF

SDKs

All-in-one

Page 42: jclouds BoF

SDKs

Extensions

Page 43: jclouds BoF

SDKs

No lock-in

Page 44: jclouds BoF

SDKs

Battle Tested Code

Page 45: jclouds BoF

SDKs

Sample Code

Page 46: jclouds BoF

SDKs

Documentation

Page 47: jclouds BoF

Cultural Learnings

Survey is show junior devops are still believe in Tooth Fairy, Santa Claus and documentation. @DevOps_Borat

Page 48: jclouds BoF

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Terminology

Page 49: jclouds BoF

Terminology

jclouds Rackspace/OpenStack

Compute Cloud Servers/Nova

Node Server

Location Region

Hardware Flavor

NodeMetadata Server details

User Metadata Metadata

BlobStore Cloud Files/Swift

Blob File/Object

Page 50: jclouds BoF

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Example

Page 51: jclouds BoF

Maven

•mkdir jclouds-workshop•cd jclouds-workshop•Create pom.xml• gist.github.com/everett-toews/3861545

•mvn dependency:copy-dependencies "-DoutputDirectory=./lib"

Page 52: jclouds BoF

JCloudsWorkshop.java•Create JCloudsWorkshop.java•gist.github.com/everett-toews/5624677• javac -cp ".:lib/*" JCloudsWorkshop.java• java -cp ".:lib/*" JCloudsWorkshop

Page 53: jclouds BoF

RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Potpourri

Page 54: jclouds BoF

Potpourri

•Moved to Apache Software Foundation•groupId change

• 1.6.0•<groupId>org.jclouds.X</groupId>

• 1.6.1-incubating•<groupId>org.apache.jclouds.X</groupId>

•Package change• 1.6.x: import org.jclouds• 1.7: import org.apache.jclouds

Page 55: jclouds BoF

Potpourri

•Google’s Guice & Guava•Removal of the AsyncApis in 1.7•Dropping support for Java 1.6?•Cloud Files isn’t multi-region...yet•Cloud Databases in progress•More endpoints

Page 57: jclouds BoF

Thank You

Everett Toews

Developer Advocate

@everett_toews

developer.rackspace.com