Download - jclouds BoF
Control Multi-Cloud Infrastructure With Java
jclouds
Everett Toews
Developer Advocate
@everett_toews
OSCONJuly 22, 2013 @ 7:00 pm
Intro
Developer
Committer on jclouds
Intro
Advocate
Avatar
Intro
Operations
Co-author of The OpenStack Operations Guide
docs.openstack.org/ops
Cultural Learnings
In startup we are not allow dev team for talk to ops team except by API.
@DevOps_Borat
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Agenda
Agenda
•Introduction to Apache jclouds•Where Does jclouds Live?•What Can jclouds Do For You Today?
•Terminology•Example•Potpourri
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Introduction to Apache jclouds
Apache jclouds
• Multi-Cloud Toolkit
• Open Source (Apache v2)
• Community
• Portable APIs
• Ecosystem APIs
• Provider APIs
• Java
Supported Compute Clouds
•Rackspace Cloud Servers•HP Cloud Compute•AWS EC2•ElasticHosts•GoGrid•All Clouds
Supported Storage Clouds
•Rackspace Cloud Files•HP Cloud Storage•AWS S3•Azure•CloudOne•All Clouds
Community
APIs and Providers
APIs
openstack-nova ec2 rackspace-clouddns
APIs and Providers
APIs
Providers
openstack-nova ec2 rackspace-clouddns
rackspace-cloudservers-us
rackspace-cloudservers-uk
aws-ec2rackspace- clouddns-us
rackspace- clouddns-uk
APIs
APIs
openstack-nova
NovaApi:ServerApiFlavorApiImageApi
=Extensions=KeyPairApi
SecurityGroupApiFloatingIpApi
...
ec2
EC2Api:TagApi
SubnetApiWindowsApi
rackspace-clouddns
CloudDNSApi:LimitApi
DomainApiRecordApi
ReverseDNSApi
Providers
Providers
rackspace-cloudservers-us
rackspace-cloudservers-uk
rackspace-cloudservers-us
rackspace-cloudservers-uk
rackspace-clouddns-us
rackspace-clouddns-uk
•configuration•provider specific features
Compute Venn
Portable
Ecosystem
Compute Layers•ComputeService• OpenStack• Rackspace• HP, AWS, etc.
•NovaApi (*Api)• OpenStack• Rackspace• HP
Portable
Ecosystem
Storage Venn
Portable
Ecosystem
Provider
Storage Layers•BlobStore• OpenStack• Rackspace• HP, AWS, etc.
•SwiftApi• OpenStack• Rackspace• HP
•CloudFilesClient• Rackspace
Portable
Ecosystem
Provider
Cultural Learnings
After 3 beer I can able use any of cloud API.
@DevOps_Borat
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Where Does jclouds Live?
SDK Deployment
YourSystem
SDK
CloudAP I
VMVM
VM
UserSystem
SDK Deployment
API
Cloud
YourSystem
SDK
UserSystem
VMVM
VMVM
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
What Can jclouds Do For You Today?
SDKs
Plumbing
SDKs
(Re)Authentication
SDKs
Pagination
SDKs
State Polling
SDKs
Rate Limiting
SDKs
Retry
SDKs
Smoothing
Rough Edges
SDKs
Open Source
Cultural Learnings
In devops nobody is get fire for buy open source.
@DevOps_Borat
SDKs
Community
SDKs
Packaged
SDKs
All-in-one
SDKs
Extensions
SDKs
No lock-in
SDKs
Battle Tested Code
SDKs
Sample Code
SDKs
Documentation
Cultural Learnings
Survey is show junior devops are still believe in Tooth Fairy, Santa Claus and documentation. @DevOps_Borat
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Terminology
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
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Example
Maven
•mkdir jclouds-workshop•cd jclouds-workshop•Create pom.xml• gist.github.com/everett-toews/3861545
•mvn dependency:copy-dependencies "-DoutputDirectory=./lib"
JCloudsWorkshop.java•Create JCloudsWorkshop.java•gist.github.com/everett-toews/5624677• javac -cp ".:lib/*" JCloudsWorkshop.java• java -cp ".:lib/*" JCloudsWorkshop
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Potpourri
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
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
Potpourri
•Command Line Interface•Jenkins Plugin•jclouds-chef•Who Uses jclouds?• CloudBees• Cloudify• EnterpriseDB• Pallet• Stratos etc etc etc
Thank You
Everett Toews
Developer Advocate
@everett_toews
developer.rackspace.com