Introduction to Apache jclouds at NYJavaSIG

614 views

Published on

Published in: Software
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
614
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
15
Comments
0
Likes
3
Embeds 0
No embeds

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
  • Introduction to Apache jclouds at NYJavaSIG

    1. 1. Introduction to Apache jclouds Everett Toews Developer Advocate @everett_toews NYJavaSIG August 20, 2014 @ 6:00 pm
    2. 2. Intro Developer
    3. 3. PMC and Committer on Apache jclouds
    4. 4. Intro Advocate
    5. 5. Intro Operations
    6. 6. Co-author of The OpenStack Ops Guide docs.openstack.org/ops
    7. 7. Cloud Flavour
    8. 8. Cloud IaaS
    9. 9. Cloud Private
    10. 10. Cloud Public
    11. 11. Green == Your Problem
    12. 12. Cloud Infrastructure with an API
    13. 13. OpenStack and Rackspace
    14. 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. 15. OpenStack
    16. 16. OpenStack Identity (Keystone)
    17. 17. OpenStack
    18. 18. OpenStack Object Storage (Swift)
    19. 19. OpenStack
    20. 20. OpenStack Compute (Nova)
    21. 21. OpenStack
    22. 22. OpenStack Block Storage (Cinder)
    23. 23. OpenStack
    24. 24. OpenStack Networks (Neutron)
    25. 25. OpenStack
    26. 26. OpenStack Databases (Trove)
    27. 27. OpenStack
    28. 28. OpenStack Images (Glance)
    29. 29. OpenStack
    30. 30. OpenStack Orchestration (Heat)
    31. 31. OpenStack
    32. 32. OpenStack Dashboard (Horizon)
    33. 33. OpenStack
    34. 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. 35. OpenStack
    36. 36. Rackspace
    37. 37. Rackspace And
    38. 38. Rackspace • Load Balancers • Auto Scale • Monitoring • DNS • Big Data • Backup
    39. 39. Multi-Cloud
    40. 40. Multi-Cloud Application Portability
    41. 41. Multi-Cloud Why?
    42. 42. Multi-Cloud Disaster Recovery
    43. 43. Multi-Cloud Privacy
    44. 44. Multi-Cloud Cost
    45. 45. Multi-Cloud Performance
    46. 46. Multi-Cloud Support
    47. 47. Multi-Cloud Hybrid
    48. 48. Multi-Cloud Eggs In One Basket
    49. 49. Multi-Cloud One Size Fits All
    50. 50. Multi-Cloud Avoid Lock-in
    51. 51. Introduction to Apache jclouds
    52. 52. jclouds
    53. 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. 54. jclouds Open Source
    55. 55. jclouds Multi-Cloud
    56. 56. jclouds Toolkit
    57. 57. jclouds Java platform
    58. 58. jclouds Portable
    59. 59. jclouds Full Control
    60. 60. jclouds Cloud-Specific
    61. 61. jclouds Freedom
    62. 62. jclouds Use Case
    63. 63. User Application
    64. 64. App
    65. 65. Concepts and Code
    66. 66. Concept API Resources Web Service Calls Defaults
    67. 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. 68. Concept Provider Endpoint Overrides Configuration API …
    69. 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. 70. Concept Portable Abstraction (View) API … Provider … OR
    71. 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. 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. 73. Community
    74. 74. Community Clouds
    75. 75. Community Users
    76. 76. Users YOU?
    77. 77. jclouds’ Top Contributors •Abiquo •Cloudera •CloudSoft •HP •Maginatics •Rackspace •XebiaLabs
    78. 78. Community github.com/jclouds/jclouds •8,500+ commits •100+ contributors •80+ releases
    79. 79. Community repository.apache.org •12,000+ downloads (July 2014)
    80. 80. jclouds jclouds.apache.org/community/
    81. 81. User Application
    82. 82. App
    83. 83. App Jenkins Master jclouds plugin
    84. 84. Where Does jclouds Live?
    85. 85. Deployment Your System The Cloud A P I User
    86. 86. Deployment Your System The Cloud A P I User
    87. 87. Deployment Your System The Cloud A P I User
    88. 88. Deployment A P I The Cloud Your System User
    89. 89. What Can jclouds Do For You?
    90. 90. jclouds Plumbing
    91. 91. jclouds (Re)Authentication
    92. 92. jclouds Pagination
    93. 93. jclouds State Polling
    94. 94. jclouds Rate Limiting
    95. 95. jclouds Retry
    96. 96. jclouds Smoothing Rough Edges
    97. 97. jclouds Packaged
    98. 98. jclouds All-in-one
    99. 99. jclouds Production Code
    100. 100. jclouds Sample Code
    101. 101. jclouds Documentation
    102. 102. User Application
    103. 103. App
    104. 104. App
    105. 105. Demo
    106. 106. Demo jclouds.apache.org
    107. 107. Demo jclouds.apache.org/start/install
    108. 108. All the JARs!
    109. 109. Demo jclouds.apache.org/guide s/rackspace/
    110. 110. Subset the JARs!
    111. 111. What’s New? What’s Next?
    112. 112. What’s New? •jclouds 1.8.0 •Docker
    113. 113. What’s Next? •jclouds 2.0.0 •Java 7 in 2.0.0 !!! •Release every 6 weeks
    114. 114. Thank You jclouds.apache.org Everett Toews Developer Advocate @everett_toews

    ×