control the clouds - developer experience with jclouds.pptx
DESCRIPTION
trueTRANSCRIPT
Developer Experience with jclouds
Control the Clouds
Everett Toews
Developer Advocate
@everett_toews
You need:
JDK 1.6+
Ant 1.8+
Rackspace and/or
HP cloud accounts
2RACKSPACE® HOSTING | WWW.RACKSPACE.COM
The Workshop bit.ly/jclwork
•Introduction to jclouds•Cloud Accounts•Terminology•Installation•Compute Example•Next Steps•Wrap Up
3RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Introduction to jclouds
4RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds bit.ly/jclwork
• Cross-cloud toolkit
• Open Source (Apache v2)
• Community
• Portable APIs
• Provider APIs
• Java
5RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds Providers bit.ly/jclwork
•ComputeService• Rackspace Cloud Servers
• HP Cloud Compute• AWS EC2• ElasticHosts• GoGrid• CloudSigma• All Providers
•BlobStore• Rackspace Cloud Files
• HP Cloud Storage• AWS S3• Azure• CloudOne• Ninefold• All Providers
6RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds Community bit.ly/jclwork
7RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds Community bit.ly/jclwork
8RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds Layers (APIs) bit.ly/jclwork
•ComputeService• Rackspace• OpenStack• HP, AWS, etc.
•NovaApi (*Api)• Rackspace• OpenStack• HP
•BlobStore• Rackspace• OpenStack• HP, AWS, etc.
•SwiftApi• Rackspace• OpenStack• HP
•CloudFilesClient• Rackspace
9RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Cloud Accounts
10RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Rackspace bit.ly/jclwork
•BYOB?
•rackspace.com/cloud/public/•mycloud.rackspace.com•Note: Username, Password
11RACKSPACE® HOSTING | WWW.RACKSPACE.COM
HP bit.ly/jclwork
•hpcloud.com/sign_up•console.hpcloud.com/compute•Activate AZ1 and AZ2•Top right > View API Keys•Note: Tenant Name, Username, Password
12RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Terminology
13RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Terminology bit.ly/jclwork
jclouds OpenStack
Compute Nova
BlobStore Swift
Location Region
Hardware Flavor
NodeMetadata Server details
User Metadata Metadata
14RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Installation
15RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Ant bit.ly/jclwork
•mkdir jclouds-workshop•cd jclouds-workshop•Create build.xml• gist.github.com/3861545
•ant
•Plan B: bit.ly/jcl152
16RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Compute Example
17RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork•Logging
• Create logback.xml• gist.github.com/3862553• Full logback.xml example
• Imports and Class definition• Create JCloudsWorkshop.java• gist.github.com/3861596• javac -cp ".:lib/*" JCloudsWorkshop.java• Note: Guice, Guava
18RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork•main() and skeleton
• gist.github.com/3862453• javac -cp ".:lib/*" JCloudsWorkshop.java
• init()• gist.github.com/3862575• javac -cp ".:lib/*" JCloudsWorkshop.java• Note: Authentication
19RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork•createNodes()
• gist.github.com/3862480• javac -cp ".:lib/*" JCloudsWorkshop.java
•configureAndStartWebservers()• gist.github.com/3862485• javac -cp ".:lib/*" JCloudsWorkshop.java• Note: Patterns
20RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork•waitForSsh()
• gist.github.com/3862516• javac -cp ".:lib/*" JCloudsWorkshop.java
•printResults()• gist.github.com/3862499• javac -cp ".:lib/*" JCloudsWorkshop.java
21RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork•detectExtensions()
• gist.github.com/3867123• javac -cp ".:lib/*" JCloudsWorkshop.java
•close()• gist.github.com/3862504• javac -cp ".:lib/*" JCloudsWorkshop.java
22RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork•Run!
• java -cp ".:lib/*" JCloudsWorkshop
23RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Other Topics bit.ly/jclwork
•ServerApi/ServerAsyncApi•Concurrency•CLI•Jenkins
24RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Next Steps
25RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Next Steps bit.ly/jclwork
•Load Balancing•More examples (BlobStore too)•Modify the examples•jclouds doc and Javadoc•Other installation methods•Join jclouds or jclouds-dev•jclouds and OpenStack•Contributing OpenStack Support to jclouds
26
RACKSPACE® HOSTING | 5000 WALZEM ROAD | SAN ANTONIO, TX 78218
US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM
RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM
And don’t forget to terminate your VMs
27RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Thanks! bit.ly/jclwork
•Everett Toews•Developer Advocate @ Rackspace
•[email protected]•[email protected]•linkedin.com/in/everetttoews•github.com/everett-toews•blog.phymata.com•@everett_toews