Introduction to Apache jclouds at NYJavaSIG
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Introduction to Apache jclouds at NYJavaSIG

  • 233 views
Uploaded on

 

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

Views

Total Views
233
On Slideshare
229
From Embeds
4
Number of Embeds
2

Actions

Shares
Downloads
3
Comments
0
Likes
2

Embeds 4

http://www.slideee.com 2
http://www.slidesearchengine.com 2

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
  • Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in
  • Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in
  • Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in
  • Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in
  • Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in
  • Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in
  • Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in
  • Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in
  • Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in
  • Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in
  • Why did Rackspace utilize cross-cloud toolkits? Lock-on, not lock-in

Transcript

  • 1. Introduction to Apache jclouds Everett Toews Developer Advocate @everett_toews NYJavaSIG August 20, 2014 @ 6:00 pm
  • 2. Intro Developer
  • 3. PMC and Committer on Apache jclouds
  • 4. Intro Advocate
  • 5. Intro Operations
  • 6. Co-author of The OpenStack Ops Guide docs.openstack.org/ops
  • 7. Cloud Flavour
  • 8. Cloud IaaS
  • 9. Cloud Private
  • 10. Cloud Public
  • 11. Green == Your Problem
  • 12. Cloud Infrastructure with an API
  • 13. OpenStack and Rackspace
  • 14. “To produce the ubiquitous Open Source Cloud Computing platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable.”
  • 15. OpenStack
  • 16. OpenStack Identity (Keystone)
  • 17. OpenStack
  • 18. OpenStack Object Storage (Swift)
  • 19. OpenStack
  • 20. OpenStack Compute (Nova)
  • 21. OpenStack
  • 22. OpenStack Block Storage (Cinder)
  • 23. OpenStack
  • 24. OpenStack Networks (Neutron)
  • 25. OpenStack
  • 26. OpenStack Databases (Trove)
  • 27. OpenStack
  • 28. OpenStack Images (Glance)
  • 29. OpenStack
  • 30. OpenStack Orchestration (Heat)
  • 31. OpenStack
  • 32. OpenStack Dashboard (Horizon)
  • 33. OpenStack
  • 34. “We work with you to create the infrastructure that performs best for your business, built on open-source technologies and fueled by our unparalleled expertise—so you can move at the speed your business and your customers demand.”
  • 35. OpenStack
  • 36. Rackspace
  • 37. Rackspace And
  • 38. Rackspace • Load Balancers • Auto Scale • Monitoring • DNS • Big Data • Backup
  • 39. Multi-Cloud
  • 40. Multi-Cloud Application Portability
  • 41. Multi-Cloud Why?
  • 42. Multi-Cloud Disaster Recovery
  • 43. Multi-Cloud Privacy
  • 44. Multi-Cloud Cost
  • 45. Multi-Cloud Performance
  • 46. Multi-Cloud Support
  • 47. Multi-Cloud Hybrid
  • 48. Multi-Cloud Eggs In One Basket
  • 49. Multi-Cloud One Size Fits All
  • 50. Multi-Cloud Avoid Lock-in
  • 51. Introduction to Apache jclouds
  • 52. jclouds
  • 53. jclouds Apache jclouds is an open source multi-cloud toolkit for the Java platform that gives you the freedom to create applications that are portable across clouds while giving you full control to use cloud-specific features.
  • 54. jclouds Open Source
  • 55. jclouds Multi-Cloud
  • 56. jclouds Toolkit
  • 57. jclouds Java platform
  • 58. jclouds Portable
  • 59. jclouds Full Control
  • 60. jclouds Cloud-Specific
  • 61. jclouds Freedom
  • 62. jclouds Use Case
  • 63. User Application
  • 64. App
  • 65. Concepts and Code
  • 66. Concept API Resources Web Service Calls Defaults
  • 67. Code Context 1 NovaApi novaApi = ContextBuilder.newBuilder("openstack-nova") Defaults Top Level API 2 .credentials("myUsername", "myPassword") 3 .endpoint("http://myOpenStack.com:5000/v2.0/") 4 .buildApi(NovaApi.class); Resource API 5 ServerApi serverApi = novaApi.getServerApi("region"); 6 ServerCreated server = serverApi.create("serverName", "imageId", "flavorId"); Resource Web Service Call (cloud-specific)
  • 68. Concept Provider Endpoint Overrides Configuration API …
  • 69. Code 1 NovaApi novaApi = ContextBuilder.newBuilder("rackspace-cloudservers-us”) 2 .credentials("myUsername", "myPassword") 3 .buildApi(NovaApi.class); 4 ServerApi serverApi = novaApi.getServerApi("region"); Provider: • Endpoint • Overrides • Configuration 5 ServerCreated server = serverApi.create("serverName", "imageId", "flavorId");
  • 70. Concept Portable Abstraction (View) API … Provider … OR
  • 71. Code 1 ComputeServiceContext context = ContextBuilder.newBuilder("rack-cs-us") 2 .credentials("myUsername", "myPassword") 3 .buildView(ComputeServiceContext.class); 4 ComputeService computeService = context.getComputeService(); Portable Abstraction (View)
  • 72. Code 1 Template template = computeService.templateBuilder() 2 .locationId("locationId") 3 .osFamily(OsFamily.UBUNTU) 4 .minRam(2048) 5 .options(inboundPorts(22, 80)) 6 .build(); Web Service Call (portable) 7 computeService.createNodesInGroup("groupName", 3, template);
  • 73. Community
  • 74. Community Clouds
  • 75. Community Users
  • 76. Users YOU?
  • 77. jclouds’ Top Contributors •Abiquo •Cloudera •CloudSoft •HP •Maginatics •Rackspace •XebiaLabs
  • 78. Community github.com/jclouds/jclouds •8,500+ commits •100+ contributors •80+ releases
  • 79. Community repository.apache.org •12,000+ downloads (July 2014)
  • 80. jclouds jclouds.apache.org/community/
  • 81. User Application
  • 82. App
  • 83. App Jenkins Master jclouds plugin
  • 84. Where Does jclouds Live?
  • 85. Deployment Your System The Cloud A P I User
  • 86. Deployment Your System The Cloud A P I User
  • 87. Deployment Your System The Cloud A P I User
  • 88. Deployment A P I The Cloud Your System User
  • 89. What Can jclouds Do For You?
  • 90. jclouds Plumbing
  • 91. jclouds (Re)Authentication
  • 92. jclouds Pagination
  • 93. jclouds State Polling
  • 94. jclouds Rate Limiting
  • 95. jclouds Retry
  • 96. jclouds Smoothing Rough Edges
  • 97. jclouds Packaged
  • 98. jclouds All-in-one
  • 99. jclouds Production Code
  • 100. jclouds Sample Code
  • 101. jclouds Documentation
  • 102. User Application
  • 103. App
  • 104. App
  • 105. Demo
  • 106. Demo jclouds.apache.org
  • 107. Demo jclouds.apache.org/start/install
  • 108. All the JARs!
  • 109. Demo jclouds.apache.org/guide s/rackspace/
  • 110. Subset the JARs!
  • 111. What’s New? What’s Next?
  • 112. What’s New? •jclouds 1.8.0 •Docker
  • 113. What’s Next? •jclouds 2.0.0 •Java 7 in 2.0.0 !!! •Release every 6 weeks
  • 114. Thank You jclouds.apache.org Everett Toews Developer Advocate @everett_toews