jclouds workshop

919 views
806 views

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
919
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

    ×