Your SlideShare is downloading. ×
Apache JClouds
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Apache JClouds


Published on

An introduction to Apache JClouds, featuring the compute service API and blobstore.

An introduction to Apache JClouds, featuring the compute service API and blobstore.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Apache JClouds Cloud interfaces, simplified Hiranya Jayathilaka Dept. of Computer Science, UCSB S
  • 2. Roadmap S  Cloud computing S  Challenges S  Apache JClouds S  Demo S  Pros and cons S  Summary and conclusion
  • 3. The Cloud Revolution S  Cloud computing is revolutionizing the way software is developed and delivered. S  Software-as-a-Service (SaaS) S  Platform-as-a-Service (PaaS) S  Infrastructure-as-a-Service (IaaS)
  • 4. Many Benefits S  Cost effective S  Reduced maintenance overhead S  Easy and fast provisioning – Improved time-to-market S  Autoscaling and elasticity S  Fault tolerance
  • 5. The Other Side of the Coin
  • 6. Challenges S  How do you select the cloud provider that’s right for you? S  How do you port your application from one cloud provider to another? S  How to develop multi-cloud applications?
  • 7. Enter, JClouds S  An open source library that facilitates developing applications for a wide range of cloud providers. S  Implement your application using JClouds, and run it on your favorite cloud without any code changes. S  Simple, intuitive APIs. S  Java and Clojure support.
  • 8. History S  Started in March 2009 by Adrian Cole as an open source project. S  Initially based in London, developed mostly by European Java community. S  Contributed to Apache in April 2013. S S  Already popular in the industry – Used by the likes of Adobe, CloudBees, RedHat, Twitter and SalesForce. S apps-that-use-jclouds/
  • 9. Getting Started S  No binary download J S  The documentation provides the necessary configurations for popular project management tools, so JClouds can be included in your project as a dependency. S  Maven S  ANT S  Leiningen
  • 10. JClouds APIs S  Compute Service API S  For managing compute nodes (VMs) in the cloud S  Blobstore API S  For storing data in the cloud
  • 11. Compute Service API S  Key abstractions S  Hardware S  Operating system S  Template S  Supported providers S  AWS (EC2), Bluelock, CloudSigma, ElasticHosts, Go2Cloud, GoGrid, Green House Data, HP, Ninefold, OpenHosting, Rackspace, ServerLove, SkaliCloud, SoftLayer, Stratogen, TRMK, TryStack
  • 12. Starting a VM from an Image
  • 13. If You Don’t Have an Image?
  • 14. More Control Over Templates
  • 15. Access VM Metadata
  • 16. SSH to Remote VM
  • 17. Dealing with Package Managers
  • 18. Managing Clusters
  • 19. Blobstore API S  Key abstractions S  Container S  Folder S  Blob S  Supported providers S  AWS (S3), CloudOne, HP, Azure, Ninefold, Rackspace, Synaptic
  • 20. Downloading a Blob
  • 21. Write Blob
  • 22. Upload File
  • 23. Access Blob Metadata
  • 24. Logging Support
  • 25. Demonstration S  Scenario S  Start an Ubuntu VM in EC2 S  Upload a Python script and a Java application to the VM (Java application also based on JClouds) S  Install Python and JRE on the VM using apt-get S  Run the Java application on the VM to download a data file from S3 S  Run the Python script on the data file S  Upload the output to S3
  • 26. Pros S  Powerful abstractions: Simple + High-level + Convention over configuration S  Location awareness baked into the API S  Easily manage clusters of nodes S  Excellent portability S  Unit testable S  Free and open source (ASL 2.0) S  “It just works” (YMMV)
  • 27. Cons S  Still in the Apache Incubator S  Limited documentation S  Potential “Jar hell”
  • 28. Summary S  Cloud computing brings a horde of benefits – But the diversity can be overwhelming. S  Several challenges with respect to evaluating cloud vendors and porting application across cloud platforms. S  Apache JClouds provides a simple and feature-rich approach for developing cloud applications that are easily portable across multiple vendors.
  • 29. Thank You & Questions
  • 30. References S  Project website: S  Apache Incubator proposal: S  Getting started: gettingstarted/ S  Demo code: