Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Solve the Cross-Cloud Conundrum with jclouds

900 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Solve the Cross-Cloud Conundrum with jclouds

  1. 1. Solve the Cross- Cloud Conundrum with jclouds Austin Java Users Group March 26, 2013 at 7:00 pmEverett Toews You need:Developer Advocate JDK 1.6+@everett_toews Ant 1.8+ || Ivy 2+ Rackspace and/or HP cloud accounts
  2. 2. Intro Developer RACKSPACE® HOSTING | WWW.RACKSPACE.COM 2
  3. 3. Committer on jclouds RACKSPACE® HOSTING | WWW.RACKSPACE.COM 3
  4. 4. Intro Advocate RACKSPACE® HOSTING | WWW.RACKSPACE.COM 4
  5. 5. Intro RACKSPACE® HOSTING | WWW.RACKSPACE.COM 5
  6. 6. Intro Operations RACKSPACE® HOSTING | WWW.RACKSPACE.COM 6
  7. 7. Co-author of The OpenStack Operation Guide RACKSPACE® HOSTING | WWW.RACKSPACE.COM 7
  8. 8. IntroIn startup weare not allowdev team fortalk to ops teamexcept by API. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 8
  9. 9. Agenda RACKSPACE® HOSTING | WWW.RACKSPACE.COM 9
  10. 10. The Workshop •Introduction •jclouds Overview •Cloud Accounts •Installation •Compute Example •Next Steps •Wrap Up RACKSPACE® HOSTING | WWW.RACKSPACE.COM 10
  11. 11. Introduction to Rackspace and the cloud RACKSPACE® HOSTING | WWW.RACKSPACE.COM 11
  12. 12. Rackspace RACKSPACE® HOSTING | WWW.RACKSPACE.COM 12
  13. 13. The Cloud Infrastructure with an API RACKSPACE® HOSTING | WWW.RACKSPACE.COM 13
  14. 14. The Cloud VM VM VM Your S A System D P Cloud K I User System RACKSPACE® HOSTING | WWW.RACKSPACE.COM 14
  15. 15. The Cloud Cloud VM VM VM A VM P I S Your D System K UserSystem RACKSPACE® HOSTING | WWW.RACKSPACE.COM 15
  16. 16. Introduction to jclouds RACKSPACE® HOSTING | WWW.RACKSPACE.COM 16
  17. 17. jclouds • Cross-cloud toolkit • Open Source (Apache v2) • Community • Portable APIs • Ecosystem Specific APIs • Provider Specific APIs • Java RACKSPACE® HOSTING | WWW.RACKSPACE.COM 17
  18. 18. jclouds Providers•ComputeService •BlobStore • Rackspace Cloud • Rackspace Cloud Servers Files • HP Cloud Compute • HP Cloud Storage • AWS EC2 • AWS S3 • GCE (soon) • GCS (soon) • ElasticHosts • Azure • GoGrid • CloudOne • All Providers • All Providers RACKSPACE® HOSTING | WWW.RACKSPACE.COM 18
  19. 19. jclouds Community RACKSPACE® HOSTING | WWW.RACKSPACE.COM 19
  20. 20. jclouds Layers (APIs)•ComputeService •BlobStore • Rackspace • Rackspace • OpenStack • OpenStack • HP, AWS, GCE, etc. • HP, AWS, GCS, etc.•NovaApi (*Api) •SwiftApi • Rackspace • Rackspace • OpenStack • OpenStack • HP • HP •CloudFilesClient • Rackspace RACKSPACE® HOSTING | WWW.RACKSPACE.COM 20
  21. 21. jclouds CommunityAfter 3 beer Ican able useany of cloudAPI. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 21
  22. 22. What Can jcloudsDo For You Today? RACKSPACE® HOSTING | WWW.RACKSPACE.COM 22
  23. 23. SDKs Plumbing RACKSPACE® HOSTING | WWW.RACKSPACE.COM 23
  24. 24. SDKs (RE)Authentication RACKSPACE® HOSTING | WWW.RACKSPACE.COM 24
  25. 25. SDKs Pagination RACKSPACE® HOSTING | WWW.RACKSPACE.COM 25
  26. 26. SDKs State Polling RACKSPACE® HOSTING | WWW.RACKSPACE.COM 26
  27. 27. SDKs Rate Limiting RACKSPACE® HOSTING | WWW.RACKSPACE.COM 27
  28. 28. SDKs Retry RACKSPACE® HOSTING | WWW.RACKSPACE.COM 28
  29. 29. SDKs Smoothing Rough Edges RACKSPACE® HOSTING | WWW.RACKSPACE.COM 29
  30. 30. SDKs Open Source RACKSPACE® HOSTING | WWW.RACKSPACE.COM 30
  31. 31. SDKsIn devopsnobody is getfire for buyopen source. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 31
  32. 32. SDKs Community RACKSPACE® HOSTING | WWW.RACKSPACE.COM 32
  33. 33. SDKs Support RACKSPACE® HOSTING | WWW.RACKSPACE.COM 33
  34. 34. SDKs Packaged RACKSPACE® HOSTING | WWW.RACKSPACE.COM 34
  35. 35. SDKs All-in-one RACKSPACE® HOSTING | WWW.RACKSPACE.COM 35
  36. 36. SDKs No lock-in RACKSPACE® HOSTING | WWW.RACKSPACE.COM 36
  37. 37. SDKs RACKSPACE® HOSTING | WWW.RACKSPACE.COM 37
  38. 38. SDKs RACKSPACE® HOSTING | WWW.RACKSPACE.COM 38
  39. 39. SDKs Battle Tested Code RACKSPACE® HOSTING | WWW.RACKSPACE.COM 39
  40. 40. SDKs Sample Code RACKSPACE® HOSTING | WWW.RACKSPACE.COM 40
  41. 41. SDKs Documentation RACKSPACE® HOSTING | WWW.RACKSPACE.COM 41
  42. 42. SDKsSurvey is showjunior devopsare still believein Tooth Fairy,Santa Claus anddocumentation. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 42
  43. 43. Cloud Accounts RACKSPACE® HOSTING | WWW.RACKSPACE.COM 43
  44. 44. Rackspace j.mp/jcldsajug •BYOB? •rackspace.com/cloud/public/ •mycloud.rackspace.com •Note: Username, Password RACKSPACE® HOSTING | WWW.RACKSPACE.COM 44
  45. 45. HP j.mp/jcldsajug•hpcloud.com/sign_up•console.hpcloud.com/compute•Activate AZ1 and AZ2•Top right > View API Keys•Note: Tenant Name, Username, Password RACKSPACE® HOSTING | WWW.RACKSPACE.COM 45
  46. 46. Terminology RACKSPACE® HOSTING | WWW.RACKSPACE.COM 46
  47. 47. Terminology j.mp/jcldsajug 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 47
  48. 48. Installation RACKSPACE® HOSTING | WWW.RACKSPACE.COM 48
  49. 49. Ant j.mp/jcldsajug •mkdir jclouds-workshop •cd jclouds-workshop •Create build.xml • gist.github.com/everett-toews/3861545 •ant RACKSPACE® HOSTING | WWW.RACKSPACE.COM 49
  50. 50. Ivy j.mp/jcldsajug •mkdir jclouds-workshop •cd jclouds-workshop •mkdir lib •gist.github.com/everett-toews/5242573 RACKSPACE® HOSTING | WWW.RACKSPACE.COM 50
  51. 51. Compute Example RACKSPACE® HOSTING | WWW.RACKSPACE.COM 51
  52. 52. JCloudsWorkshop.java j.mp/jcldsajug •Logging • Create logback.xml • gist.github.com/everett-toews/3862553 • Full logback.xml example •Imports and Class definition • Create JCloudsWorkshop.java • gist.github.com/everett-toews/3861596 • javac -cp ".:lib/*" JCloudsWorkshop.java • Note: Guice, Guava RACKSPACE® HOSTING | WWW.RACKSPACE.COM 52
  53. 53. JCloudsWorkshop.java j.mp/jcldsajug •main() and skeleton • gist.github.com/everett-toews/3862453 • javac -cp ".:lib/*" JCloudsWorkshop.java •init() • gist.github.com/everett-toews/3862575 • javac -cp ".:lib/*" JCloudsWorkshop.java • Note: Authentication RACKSPACE® HOSTING | WWW.RACKSPACE.COM 53
  54. 54. JCloudsWorkshop.java j.mp/jcldsajug •createNodes() • gist.github.com/everett-toews/3862480 • javac -cp ".:lib/*" JCloudsWorkshop.java •configureAndStartWebservers() • gist.github.com/everett-toews/3862485 • javac -cp ".:lib/*" JCloudsWorkshop.java • Note: Patterns RACKSPACE® HOSTING | WWW.RACKSPACE.COM 54
  55. 55. JCloudsWorkshop.java j.mp/jcldsajugNumber of cloudinstance launch byops team is directproportional withLOC write by devteam. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 55
  56. 56. JCloudsWorkshop.java j.mp/jcldsajug •waitForSsh() • gist.github.com/everett-toews/3862516 • javac -cp ".:lib/*" JCloudsWorkshop.java •detectExtensions() • gist.github.com/everett-toews/3867123 • javac -cp ".:lib/*" JCloudsWorkshop.java RACKSPACE® HOSTING | WWW.RACKSPACE.COM 56
  57. 57. JCloudsWorkshop.java j.mp/jcldsajug •printResults() • gist.github.com/everett-toews/3862499 • javac -cp ".:lib/*" JCloudsWorkshop.java •close() • gist.github.com/everett-toews/3862504 • javac -cp ".:lib/*" JCloudsWorkshop.java RACKSPACE® HOSTING | WWW.RACKSPACE.COM 57
  58. 58. JCloudsWorkshop.java j.mp/jcldsajug •Run! • java -cp ".:lib/*" JCloudsWorkshop RACKSPACE® HOSTING | WWW.RACKSPACE.COM 58
  59. 59. JCloudsWorkshop.java j.mp/jcldsajugHello World incloud is involve1 load balancer,3 web server and2 database server. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 59
  60. 60. Other Topics j.mp/jcldsajug •ServerApi/ServerAsyncApi •Concurrency •CLI •Jenkins •jclouds-chef •Pallet •Whirr RACKSPACE® HOSTING | WWW.RACKSPACE.COM 60
  61. 61. Next Steps RACKSPACE® HOSTING | WWW.RACKSPACE.COM 61
  62. 62. Next Steps j.mp/jcldsajug •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 RACKSPACE® HOSTING | WWW.RACKSPACE.COM 62
  63. 63. Thank You And don’t forget to terminate your VMs developer.rackspace.comsdk-support@rackspace.com Everett Toews Developer Advocate @everett_toews

×