Developer Experience with jclouds
Control the Clouds
Everett Toews
Developer Advocate
@everett_toews
You need:
JDK 1.6+
An...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
The Workshop bit.ly/jclwork
•Introduction to jclouds
•Cloud Accounts
•Terminology
•...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Introduction to jclouds
3
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds bit.ly/jclwork
4
• Cross-cloud toolkit
• Open Source (Apache v2)
• Communit...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds Providers bit.ly/jclwork
•ComputeService
•Rackspace Cloud
Servers
•HP Cloud...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds Community bit.ly/jclwork
6
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds Community bit.ly/jclwork
7
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
jclouds Layers (APIs) bit.ly/jclwork
•ComputeService
•Rackspace
•OpenStack
•HP, AWS...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Cloud Accounts
9
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Rackspace bit.ly/jclwork
•BYOB?
•rackspace.com/cloud/public/
•mycloud.rackspace.com...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
HP bit.ly/jclwork
•hpcloud.com/sign_up
•console.hpcloud.com/compute
•Activate AZ1 a...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Terminology
12
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Terminology bit.ly/jclwork
jclouds Rackspace/OpenStack
Compute Cloud Servers/Nova
N...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Installation
14
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Ant bit.ly/jclwork
•mkdir jclouds-workshop
•cd jclouds-workshop
•Create build.xml
•...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Compute Example
16
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork
•Logging
• Create logback.xml
• gist.github.com...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork
•main() and skeleton
• gist.github.com/3862453
...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork
•createNodes()
• gist.github.com/3862480
• java...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork
•waitForSsh()
• gist.github.com/3862516
• javac...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork
•detectExtensions()
• gist.github.com/3867123
•...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
JCloudsWorkshop.java bit.ly/jclwork
•Run!
• java -cp ".:lib/*" JCloudsWorkshop
22
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Other Topics bit.ly/jclwork
•ServerApi/ServerAsyncApi
•Concurrency
•CLI
•Jenkins
23
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Next Steps
24
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Next Steps bit.ly/jclwork
•Load Balancing
•More examples (BlobStore too)
•Modify th...
26
RACKSPACE® HOSTING | 5000 WALZEM ROAD | SAN ANTONIO, TX 78218
US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | W...
RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Thanks! bit.ly/jclwork
•Everett Toews
•Developer Advocate @ Rackspace
•everett.toew...
Upcoming SlideShare
Loading in...5
×

jclouds workshop

743

Published on

A hands-on workshop for getting started with jclouds.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
743
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
31
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Hi my name is ET and I've been deploying OpenStack since Cactus. Before Cactus actually, some kind of custom Anso hybrid beast.
  • Windows/Mac/Linux users?
  • Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in
  • Recommend split screen
  • What haven't I specified explicitly?
  • jclouds workshop

    1. 1. 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
    2. 2. RACKSPACE® HOSTING | WWW.RACKSPACE.COM The Workshop bit.ly/jclwork •Introduction to jclouds •Cloud Accounts •Terminology •Installation •Compute Example •Next Steps •Wrap Up 2
    3. 3. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Introduction to jclouds 3
    4. 4. RACKSPACE® HOSTING | WWW.RACKSPACE.COM jclouds bit.ly/jclwork 4 • Cross-cloud toolkit • Open Source (Apache v2) • Community • Portable APIs • Provider APIs • Java
    5. 5. RACKSPACE® HOSTING | WWW.RACKSPACE.COM jclouds Providers bit.ly/jclwork •ComputeService •Rackspace Cloud Servers •HP Cloud Compute •AWS EC2 •ElasticHosts •GoGrid •CloudSigma •All Providers 5 •BlobStore •Rackspace Cloud Files •HP Cloud Storage •AWS S3 •Azure •CloudOne •Ninefold •All Providers
    6. 6. RACKSPACE® HOSTING | WWW.RACKSPACE.COM jclouds Community bit.ly/jclwork 6
    7. 7. RACKSPACE® HOSTING | WWW.RACKSPACE.COM jclouds Community bit.ly/jclwork 7
    8. 8. RACKSPACE® HOSTING | WWW.RACKSPACE.COM jclouds Layers (APIs) bit.ly/jclwork •ComputeService •Rackspace •OpenStack •HP, AWS, etc. •NovaApi (*Api) •Rackspace •OpenStack •HP 8 •BlobStore •Rackspace •OpenStack •HP, AWS, etc. •SwiftApi •Rackspace •OpenStack •HP •CloudFilesClient •Rackspace
    9. 9. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Cloud Accounts 9
    10. 10. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Rackspace bit.ly/jclwork •BYOB? •rackspace.com/cloud/public/ •mycloud.rackspace.com •Note: Username, Password 10
    11. 11. RACKSPACE® 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 11
    12. 12. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Terminology 12
    13. 13. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Terminology bit.ly/jclwork 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 13
    14. 14. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Installation 14
    15. 15. RACKSPACE® 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 15
    16. 16. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Compute Example 16
    17. 17. RACKSPACE® 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 17
    18. 18. RACKSPACE® 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 18
    19. 19. RACKSPACE® 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 19
    20. 20. RACKSPACE® 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 20
    21. 21. RACKSPACE® 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 21
    22. 22. RACKSPACE® HOSTING | WWW.RACKSPACE.COM JCloudsWorkshop.java bit.ly/jclwork •Run! • java -cp ".:lib/*" JCloudsWorkshop 22
    23. 23. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Other Topics bit.ly/jclwork •ServerApi/ServerAsyncApi •Concurrency •CLI •Jenkins 23
    24. 24. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Next Steps 24
    25. 25. RACKSPACE® 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 25
    26. 26. 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 TH E UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM And don’t forget to terminate your VMs
    27. 27. RACKSPACE® HOSTING | WWW.RACKSPACE.COM Thanks! bit.ly/jclwork •Everett Toews •Developer Advocate @ Rackspace •everett.toews@rackspace.com •developer.rackspace.com/support •linkedin.com/in/everetttoews •github.com/everett-toews •blog.phymata.com •@everett_toews 27
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×