Top Banner
Support Training jclouds: The Rackspace Java SDK Everett Toews Developer Advocate @everett_toews You need: JDK 1.6+ Maven 3+ Rackspace account
80

jclouds Support Training

May 08, 2015

Download

Technology

Everett Toews
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: jclouds Support Training

Support Training

jclouds: The Rackspace Java SDK

Everett Toews

Developer Advocate

@everett_toews

You need:

JDK 1.6+

Maven 3+

Rackspace account

Page 2: jclouds Support Training

2RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Intro

Developer

Page 3: jclouds Support Training

3RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Committer on jclouds

Page 4: jclouds Support Training

4RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Intro

Advocate

Page 5: jclouds Support Training

5RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Intro

Page 6: jclouds Support Training

6RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Intro

Operations

Page 7: jclouds Support Training

7RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Co-author of The OpenStack Operations Guide

docs.openstack.org/ops

Page 8: jclouds Support Training

8RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Intro

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

@DevOps_Borat

Page 9: jclouds Support Training

9RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Agenda

Page 10: jclouds Support Training

10RACKSPACE® HOSTING | WWW.RACKSPACE.COM

The Workshop

•Introduction•jclouds Overview•SDKs•Terminology•Cloud Accounts•Getting Started

Page 11: jclouds Support Training

11RACKSPACE® HOSTING | WWW.RACKSPACE.COM

The Workshop

•Examples•Authentication•Logging•Cloud Files•Cloud Servers•Cloud Block Storage•Cloud Load Balancers•Cloud DNS•Cross-cloud

Page 12: jclouds Support Training

12RACKSPACE® HOSTING | WWW.RACKSPACE.COM

The Workshop

•Wreck-It•Bug Reports•Troubleshooting•Help!•Potpourri•Wrap Up

Page 13: jclouds Support Training

13RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Introduction to jclouds

Page 14: jclouds Support Training

14RACKSPACE® HOSTING | WWW.RACKSPACE.COM

jclouds

• Cross-cloud toolkit

• Open Source (Apache v2)

• Community

• Portable APIs

• Ecosystem APIs

• Provider APIs

• Java

Page 15: jclouds Support Training

15RACKSPACE® HOSTING | WWW.RACKSPACE.COM

jclouds’ Supported Clouds

•Compute• Rackspace Cloud Servers

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

•Storage• Rackspace Cloud Files

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

Page 16: jclouds Support Training

16RACKSPACE® HOSTING | WWW.RACKSPACE.COM

jclouds Community

Page 17: jclouds Support Training

17RACKSPACE® HOSTING | WWW.RACKSPACE.COM

APIs and Providers

APIs

Providers

openstack-nova ec2 rackspace-clouddns

rackspace-cloudservers-us

rackspace-cloudservers-uk

aws-ec2rackspace- clouddns-us

rackspace- clouddns-uk

Page 18: jclouds Support Training

18RACKSPACE® HOSTING | WWW.RACKSPACE.COM

APIs

APIs

openstack-nova

NovaApi:ServerApiFlavorApiImageApi

=Extensions=KeyPairApi

SecurityGroupApiFloatingIpApi

...

ec2

EC2Api:TagApi

SubnetApiWindowsApi

rackspace-clouddns

CloudDNSApi:LimitApi

DomainApiRecordApi

ReverseDNSApi

Page 19: jclouds Support Training

19RACKSPACE® HOSTING | WWW.RACKSPACE.COM

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 20: jclouds Support Training

20RACKSPACE® HOSTING | WWW.RACKSPACE.COM

jclouds Layers (APIs)•ComputeService• OpenStack• Rackspace• HP, AWS, etc.

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

Portable

Ecosystem

Page 21: jclouds Support Training

21RACKSPACE® HOSTING | WWW.RACKSPACE.COM

jclouds Compute Venn (APIs)

Portable

Ecosystem

Page 22: jclouds Support Training

22RACKSPACE® HOSTING | WWW.RACKSPACE.COM

jclouds Layers (APIs)•BlobStore• OpenStack• Rackspace• HP, AWS, etc.

•SwiftApi• OpenStack• Rackspace• HP

•CloudFilesClient• Rackspace

Portable

Ecosystem

Provider

Page 23: jclouds Support Training

23RACKSPACE® HOSTING | WWW.RACKSPACE.COM

jclouds Storage Venn (APIs)

Portable

Ecosystem

Provider

Page 24: jclouds Support Training

24RACKSPACE® HOSTING | WWW.RACKSPACE.COM

jclouds Community

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

@DevOps_Borat

Page 25: jclouds Support Training

25RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Where Does jclouds Live?

Page 26: jclouds Support Training

26RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDK Deployment

YourSystem

SDK

CloudAP I

VMVM

VM

UserSystem

Page 27: jclouds Support Training

27RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDK Deployment

API

Cloud

YourSystem

SDK

UserSystem

VMVM

VMVM

Page 28: jclouds Support Training

28RACKSPACE® HOSTING | WWW.RACKSPACE.COM

What Can jclouds Do For You Today?

Page 29: jclouds Support Training

29RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Plumbing

Page 30: jclouds Support Training

30RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

(Re)Authentication

Page 31: jclouds Support Training

31RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Pagination

Page 32: jclouds Support Training

32RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

State Polling

Page 33: jclouds Support Training

33RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Rate Limiting

Page 34: jclouds Support Training

34RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Retry

Page 35: jclouds Support Training

35RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Smoothing

Rough Edges

Page 36: jclouds Support Training

36RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Open Source

Page 37: jclouds Support Training

37RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

In devops nobody is get fire for buy open source.

@DevOps_Borat

Page 38: jclouds Support Training

38RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Community

Page 39: jclouds Support Training

39RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Packaged

Page 40: jclouds Support Training

40RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

All-in-one

Page 41: jclouds Support Training

41RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Extensions

Page 42: jclouds Support Training

42RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

No lock-in

Page 43: jclouds Support Training

43RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Page 44: jclouds Support Training

44RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Page 45: jclouds Support Training

45RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Battle Tested Code

Page 46: jclouds Support Training

46RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Sample Code

Page 47: jclouds Support Training

47RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Documentation

Page 48: jclouds Support Training

48RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

Page 49: jclouds Support Training

49RACKSPACE® HOSTING | WWW.RACKSPACE.COM

SDKs

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

Page 50: jclouds Support Training

50RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Code

Page 51: jclouds Support Training

51RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Code

j.mp/jcldstrain

Page 52: jclouds Support Training

52RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Cloud Accounts

Page 53: jclouds Support Training

53RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Rackspace

•Username•API Key•(Password is useable too)

Page 54: jclouds Support Training

54RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Terminology

Page 55: jclouds Support Training

55RACKSPACE® HOSTING | WWW.RACKSPACE.COM

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 56: jclouds Support Training

56RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Getting Started

Page 57: jclouds Support Training

57RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Getting Started

•developer.rackspace.com•Java•Getting Started with jclouds•Get jclouds•Review JARs

Page 58: jclouds Support Training

58RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Examples

Page 59: jclouds Support Training

59RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Examples

Cloud Files

Page 60: jclouds Support Training

60RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Examples

Cloud Servers

Page 63: jclouds Support Training

63RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Examples

?

Page 64: jclouds Support Training

64RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Examples

Cross-Cloud

j.mp/jcldsglue2013

Page 65: jclouds Support Training

65RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Page 66: jclouds Support Training

66RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Wreck-It

•Misspell username•Upload Object to Container that doesn’t exist

•Create Server in a location that doesn’t exist

•Use a bad Flavor/Image•Remove Rackspace JARs from the classpath

•etc.

Page 67: jclouds Support Training

67RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Bug Reports, Troubleshooting,

and Help

Page 68: jclouds Support Training

68RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Bug Reports

•Get the version•Get the code•Get the wire and header logs•gist or pastie

Page 69: jclouds Support Training

69RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Troubleshooting

•Download the version•Run the code•Compare the wire and header logs

Page 70: jclouds Support Training

70RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Troubleshooting

•Isolate the problem•jclouds/User Problem (HTTP 4xx)•Rackspace Problem (HTTP 5xx)•Use curl to verify

Page 71: jclouds Support Training

71RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Troubleshooting

•Debug the source code• mvn dependency:copy-dependencies "-DoutputDirectory=./lib" "-Dclassifier=sources”

Page 72: jclouds Support Training

72RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Responding

•Ideally:• Contribute examples/doc• Send the link to the customer• jclouds.org/documentation/devguides/contributing-to-jclouds/

• github.rackspace.com/van5941/CLAs

Page 73: jclouds Support Training

73RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Responding

•Encourage customers to join the jclouds community:• [email protected]• www.mail-archive.com/[email protected]/

Page 74: jclouds Support Training

74RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Help!

•developer.rackspace.com/support•javadocs.jclouds.cloudbees.net•#jclouds on IRC @ freenode.net•[email protected][email protected]

Page 75: jclouds Support Training

75RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Potpourri

Page 76: jclouds Support Training

76RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Potpourri

•Moved to Apache Software Foundation•groupId change

• 1.6.0: <groupId>org.jclouds.X</groupId>• 1.6.1: <groupId>org.apache.jclouds.X</groupId>

•Package change• 1.6.0: import org.jclouds• 1.7 (2.0?): import org.apache.jclouds

Page 77: jclouds Support Training

77RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Potpourri

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

Page 79: jclouds Support Training

79RACKSPACE® HOSTING | WWW.RACKSPACE.COM

Potpourri

•More examples•Other installation methods•Stay up-to-date with jclouds• blog.phymata.com• @everett_toews

•What else can we do to stay in sync?

Page 80: jclouds Support Training

Thank You

Everett Toews

Developer Advocate

@everett_toews

And don’t forget to terminate your VMs

developer.rackspace.com

j.mp/jcldstrain