Apache JClouds
Cloud interfaces, simplified

Hiranya Jayathilaka
Dept. of Computer Science, UCSB

S
Roadmap

S  Cloud computing
S  Challenges
S  Apache JClouds
S  Demo
S  Pros and cons
S  Summary and conclusion
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)
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
The Other Side of the Coin
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?
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.
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  http://wiki.apache.org/incubator/jcloudsProposal

S  Already popular in the industry – Used by the likes of Adobe,

CloudBees, RedHat, Twitter and SalesForce.

S  http://jclouds.incubator.apache.org/documentation/reference/

apps-that-use-jclouds/
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
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
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
Starting a VM from an Image
If You Don’t Have an Image?
More Control Over Templates
Access VM Metadata
SSH to Remote VM
Dealing with Package Managers
Managing Clusters
Blobstore API

S  Key abstractions
S  Container
S  Folder
S  Blob

S  Supported providers
S  AWS (S3), CloudOne, HP, Azure, Ninefold, Rackspace,

Synaptic
Downloading a Blob
Write Blob
Upload File
Access Blob Metadata
Logging Support
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
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)
Cons

S  Still in the Apache Incubator
S  Limited documentation
S  Potential “Jar hell”
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.
Thank You & Questions
References

S  Project website: http://jclouds.incubator.apache.org
S  Apache Incubator proposal:

http://wiki.apache.org/incubator/jcloudsProposal
S  Getting started:

http://jclouds.incubator.apache.org/documentation/
gettingstarted/
S  Demo code: https://github.com/hiranya911/jclouds-demo

More Related Content

KEY
Jclouds Intro
PDF
Getting Started with jClouds: Multi Cloud Framework
PDF
jclouds High Level Overview by Adrian Cole
PPTX
Introduction to Apache jclouds
PDF
Apache jclouds and Docker
PDF
JClouds at San Francisco Java User Group
PPT
Deploying and running Grails in the cloud
PPTX
Openstack: An Open Source Cloud Framework
Jclouds Intro
Getting Started with jClouds: Multi Cloud Framework
jclouds High Level Overview by Adrian Cole
Introduction to Apache jclouds
Apache jclouds and Docker
JClouds at San Francisco Java User Group
Deploying and running Grails in the cloud
Openstack: An Open Source Cloud Framework

What's hot (20)

PPTX
Deploying a 3 tier application using docker
PPTX
Terraform for azure: the good, the bad and the ugly -
PDF
Must Know Azure Kubernetes Best Practices And Features For Better Resiliency ...
PPTX
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
PDF
Virtualized Containers - How Good is it - Ananth - Siemens - CC18
PDF
Open Source Docs: The Good, The Bad, and the WTF?!
PPTX
Introducing container as-a-service support to apache libcloud
PPTX
Production ready tooling for microservices on kubernetes
PPTX
Deploy Elasticsearch Cluster on Kubernetes
PPTX
Running OpenStack on Amazon AWS, Alex Fishman
PDF
AWS-compared-to-OpenStack
PPTX
Openshift Container Platform on Azure
PDF
Serverless with IAC - terraform과 cloudformation 비교
PPTX
Azure virtual machine-network
PDF
Crafting Kubernetes Operators
PDF
AWS re:Invent 2016 Recap: What Happened, What It Means
PDF
Kubernetes Networking - Sreenivas Makam - Google - CC18
PPTX
Blue whale, jail and Microsoft
KEY
Sjug aug 2010_cloud
PPTX
Making sense of containers, docker and Kubernetes on Azure.
Deploying a 3 tier application using docker
Terraform for azure: the good, the bad and the ugly -
Must Know Azure Kubernetes Best Practices And Features For Better Resiliency ...
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
Virtualized Containers - How Good is it - Ananth - Siemens - CC18
Open Source Docs: The Good, The Bad, and the WTF?!
Introducing container as-a-service support to apache libcloud
Production ready tooling for microservices on kubernetes
Deploy Elasticsearch Cluster on Kubernetes
Running OpenStack on Amazon AWS, Alex Fishman
AWS-compared-to-OpenStack
Openshift Container Platform on Azure
Serverless with IAC - terraform과 cloudformation 비교
Azure virtual machine-network
Crafting Kubernetes Operators
AWS re:Invent 2016 Recap: What Happened, What It Means
Kubernetes Networking - Sreenivas Makam - Google - CC18
Blue whale, jail and Microsoft
Sjug aug 2010_cloud
Making sense of containers, docker and Kubernetes on Azure.
Ad

Viewers also liked (8)

PDF
Getting started with jClouds
PPTX
jclouds meetup
PPTX
Introduction to Apache jclouds at ApacheCon 2014
PDF
Cloud foundry presentation
PDF
Introduction to Platform-as-a-Service and Cloud Foundry
PDF
Cloud Foundry Technical Overview
PDF
Hum2310 sm2015 annotated study guide
PDF
Big Data & Cloud | Cloud Storage Simplified | Adrian Cole
Getting started with jClouds
jclouds meetup
Introduction to Apache jclouds at ApacheCon 2014
Cloud foundry presentation
Introduction to Platform-as-a-Service and Cloud Foundry
Cloud Foundry Technical Overview
Hum2310 sm2015 annotated study guide
Big Data & Cloud | Cloud Storage Simplified | Adrian Cole
Ad

Similar to Apache JClouds (20)

PPTX
Introduction to Apache jclouds at NYJavaSIG
PPTX
jclouds at HKJUG
PDF
CloudStack, jclouds, Jenkins and CloudCat
PPT
Build A Cloud Day London - Introduction
PPT
jclouds overview
PDF
JavaOne 2014: Taming the Cloud Database with jclouds
PDF
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
PPTX
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
PDF
Java in the Cloud : PaaS Platforms in Comparison
PDF
Java in the Cloud : PaaS Platforms in Comparison
PDF
Easy applications deployment on OpenStack clouds
ODP
CloudStack, jclouds and Whirr!
PPTX
Cloudexpowest opensourcecloudcomputing-1by arun kumar
PPTX
Cloudexpowest opensourcecloudcomputing-1by arun kumar
PPT
Keeping your options open
PPTX
What are clouds made from
PPT
Application Architecture For The Cloud
PDF
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
PPTX
Build a Cloud Day SF - Crash Course on Open Source Cloud Computing
PDF
Crash Course on Open Source Cloud Computing
Introduction to Apache jclouds at NYJavaSIG
jclouds at HKJUG
CloudStack, jclouds, Jenkins and CloudCat
Build A Cloud Day London - Introduction
jclouds overview
JavaOne 2014: Taming the Cloud Database with jclouds
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison
Easy applications deployment on OpenStack clouds
CloudStack, jclouds and Whirr!
Cloudexpowest opensourcecloudcomputing-1by arun kumar
Cloudexpowest opensourcecloudcomputing-1by arun kumar
Keeping your options open
What are clouds made from
Application Architecture For The Cloud
Linux Foundation Collaboration Summit: Hitchhiker's Guide to the Cloud
Build a Cloud Day SF - Crash Course on Open Source Cloud Computing
Crash Course on Open Source Cloud Computing

More from Hiranya Jayathilaka (6)

PPTX
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
PPTX
API Facade Pattern with Apache Synapse
PPTX
Handling I/O in Java
PPTX
JAVA Colombo - What We've Been Up To
PDF
Welcome to JAVA Colombo
PDF
Introduction to Apache Synapse
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
API Facade Pattern with Apache Synapse
Handling I/O in Java
JAVA Colombo - What We've Been Up To
Welcome to JAVA Colombo
Introduction to Apache Synapse

Recently uploaded (20)

PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
STKI Israel Market Study 2025 version august
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
UiPath Agentic Automation session 1: RPA to Agents
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
Modernising the Digital Integration Hub
PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Five Habits of High-Impact Board Members
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
Custom Battery Pack Design Considerations for Performance and Safety
STKI Israel Market Study 2025 version august
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
The influence of sentiment analysis in enhancing early warning system model f...
Enhancing emotion recognition model for a student engagement use case through...
NewMind AI Weekly Chronicles – August ’25 Week III
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Module 1.ppt Iot fundamentals and Architecture
UiPath Agentic Automation session 1: RPA to Agents
sbt 2.0: go big (Scala Days 2025 edition)
Getting started with AI Agents and Multi-Agent Systems
Modernising the Digital Integration Hub
Flame analysis and combustion estimation using large language and vision assi...
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Five Habits of High-Impact Board Members
OpenACC and Open Hackathons Monthly Highlights July 2025
Convolutional neural network based encoder-decoder for efficient real-time ob...
A comparative study of natural language inference in Swahili using monolingua...
Consumable AI The What, Why & How for Small Teams.pdf
Final SEM Unit 1 for mit wpu at pune .pptx

Apache JClouds

  • 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  http://wiki.apache.org/incubator/jcloudsProposal S  Already popular in the industry – Used by the likes of Adobe, CloudBees, RedHat, Twitter and SalesForce. S  http://jclouds.incubator.apache.org/documentation/reference/ 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
  • 19. Blobstore API S  Key abstractions S  Container S  Folder S  Blob S  Supported providers S  AWS (S3), CloudOne, HP, Azure, Ninefold, Rackspace, Synaptic
  • 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: http://jclouds.incubator.apache.org S  Apache Incubator proposal: http://wiki.apache.org/incubator/jcloudsProposal S  Getting started: http://jclouds.incubator.apache.org/documentation/ gettingstarted/ S  Demo code: https://github.com/hiranya911/jclouds-demo