Solve the Cross-Cloud Conundrum with jclouds

  • 546 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
546
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
9
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Why did Rackspace utilize cross-cloud toolkits?Lock-on, not lock-in
  • Recommend split screen
  • Recommend split screen
  • What haven't I specified explicitly?
  • What haven't I specified explicitly?

Transcript

  • 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. Intro Developer RACKSPACE® HOSTING | WWW.RACKSPACE.COM 2
  • 3. Committer on jclouds RACKSPACE® HOSTING | WWW.RACKSPACE.COM 3
  • 4. Intro Advocate RACKSPACE® HOSTING | WWW.RACKSPACE.COM 4
  • 5. Intro RACKSPACE® HOSTING | WWW.RACKSPACE.COM 5
  • 6. Intro Operations RACKSPACE® HOSTING | WWW.RACKSPACE.COM 6
  • 7. Co-author of The OpenStack Operation Guide RACKSPACE® HOSTING | WWW.RACKSPACE.COM 7
  • 8. IntroIn startup weare not allowdev team fortalk to ops teamexcept by API. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 8
  • 9. Agenda RACKSPACE® HOSTING | WWW.RACKSPACE.COM 9
  • 10. The Workshop •Introduction •jclouds Overview •Cloud Accounts •Installation •Compute Example •Next Steps •Wrap Up RACKSPACE® HOSTING | WWW.RACKSPACE.COM 10
  • 11. Introduction to Rackspace and the cloud RACKSPACE® HOSTING | WWW.RACKSPACE.COM 11
  • 12. Rackspace RACKSPACE® HOSTING | WWW.RACKSPACE.COM 12
  • 13. The Cloud Infrastructure with an API RACKSPACE® HOSTING | WWW.RACKSPACE.COM 13
  • 14. The Cloud VM VM VM Your S A System D P Cloud K I User System RACKSPACE® HOSTING | WWW.RACKSPACE.COM 14
  • 15. The Cloud Cloud VM VM VM A VM P I S Your D System K UserSystem RACKSPACE® HOSTING | WWW.RACKSPACE.COM 15
  • 16. Introduction to jclouds RACKSPACE® HOSTING | WWW.RACKSPACE.COM 16
  • 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. 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. jclouds Community RACKSPACE® HOSTING | WWW.RACKSPACE.COM 19
  • 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. jclouds CommunityAfter 3 beer Ican able useany of cloudAPI. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 21
  • 22. What Can jcloudsDo For You Today? RACKSPACE® HOSTING | WWW.RACKSPACE.COM 22
  • 23. SDKs Plumbing RACKSPACE® HOSTING | WWW.RACKSPACE.COM 23
  • 24. SDKs (RE)Authentication RACKSPACE® HOSTING | WWW.RACKSPACE.COM 24
  • 25. SDKs Pagination RACKSPACE® HOSTING | WWW.RACKSPACE.COM 25
  • 26. SDKs State Polling RACKSPACE® HOSTING | WWW.RACKSPACE.COM 26
  • 27. SDKs Rate Limiting RACKSPACE® HOSTING | WWW.RACKSPACE.COM 27
  • 28. SDKs Retry RACKSPACE® HOSTING | WWW.RACKSPACE.COM 28
  • 29. SDKs Smoothing Rough Edges RACKSPACE® HOSTING | WWW.RACKSPACE.COM 29
  • 30. SDKs Open Source RACKSPACE® HOSTING | WWW.RACKSPACE.COM 30
  • 31. SDKsIn devopsnobody is getfire for buyopen source. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 31
  • 32. SDKs Community RACKSPACE® HOSTING | WWW.RACKSPACE.COM 32
  • 33. SDKs Support RACKSPACE® HOSTING | WWW.RACKSPACE.COM 33
  • 34. SDKs Packaged RACKSPACE® HOSTING | WWW.RACKSPACE.COM 34
  • 35. SDKs All-in-one RACKSPACE® HOSTING | WWW.RACKSPACE.COM 35
  • 36. SDKs No lock-in RACKSPACE® HOSTING | WWW.RACKSPACE.COM 36
  • 37. SDKs RACKSPACE® HOSTING | WWW.RACKSPACE.COM 37
  • 38. SDKs RACKSPACE® HOSTING | WWW.RACKSPACE.COM 38
  • 39. SDKs Battle Tested Code RACKSPACE® HOSTING | WWW.RACKSPACE.COM 39
  • 40. SDKs Sample Code RACKSPACE® HOSTING | WWW.RACKSPACE.COM 40
  • 41. SDKs Documentation RACKSPACE® HOSTING | WWW.RACKSPACE.COM 41
  • 42. SDKsSurvey is showjunior devopsare still believein Tooth Fairy,Santa Claus anddocumentation. @DevOps_Borat RACKSPACE® HOSTING | WWW.RACKSPACE.COM 42
  • 43. Cloud Accounts RACKSPACE® HOSTING | WWW.RACKSPACE.COM 43
  • 44. Rackspace j.mp/jcldsajug •BYOB? •rackspace.com/cloud/public/ •mycloud.rackspace.com •Note: Username, Password RACKSPACE® HOSTING | WWW.RACKSPACE.COM 44
  • 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. Terminology RACKSPACE® HOSTING | WWW.RACKSPACE.COM 46
  • 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. Installation RACKSPACE® HOSTING | WWW.RACKSPACE.COM 48
  • 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. 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. Compute Example RACKSPACE® HOSTING | WWW.RACKSPACE.COM 51
  • 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. 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. 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. 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. 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. 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. JCloudsWorkshop.java j.mp/jcldsajug •Run! • java -cp ".:lib/*" JCloudsWorkshop RACKSPACE® HOSTING | WWW.RACKSPACE.COM 58
  • 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. Other Topics j.mp/jcldsajug •ServerApi/ServerAsyncApi •Concurrency •CLI •Jenkins •jclouds-chef •Pallet •Whirr RACKSPACE® HOSTING | WWW.RACKSPACE.COM 60
  • 61. Next Steps RACKSPACE® HOSTING | WWW.RACKSPACE.COM 61
  • 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. Thank You And don’t forget to terminate your VMs developer.rackspace.comsdk-support@rackspace.com Everett Toews Developer Advocate @everett_toews