SlideShare a Scribd company logo
Overview
@jclouds
Agenda
•What is jclouds?
•What does it do?
•Relationship to other projects
•Code examples
•Extras
What is jclouds?
• Java multi-cloud SDK
• b 3/2009; currently apache incubator
• connects tools portably, yet also
availing backend
• Over 40 cloud providers supported
What does it do?
• Helps projects become cloud projects,
and developers become cloud
developers.
• through consistency in
• Tools vs Services
• Services vs Model
• API approach
Tools vs Services
• jclouds helps existing tools connect to
cloud services
• a consistent integration pattern and
configuration
• adjustable library dependencies
• sample patterns, integrations, and
abstractions
Services vs Model
• jclouds simplifies modeling of cloud
services
• Standards focus with pragmatic
extensions. (JSR-330, 311)
• Clean means of addressing service
quirks
• pluggable strategies for error/retry
handling
API Approach
• Backend before abstraction
• proprietary features, multiple
abstractions
• Functional java (guava)
• Universal Testing Approach
• unit, “expect”, and live tests
BlobStore LoadBalancer
Compute
DNS, Block Storage,
Network, Identity
Portable APIs
Embeddable
Provider-Specific Hooks
40 built-in providers & 20 apis and dialects!
Who’s integrating?
YOU?
// init
context = ContextBuilder.newBuilder(“cloudfiles-us”)
.credentials(apikey, secret)
.buildView(BlobStoreContext.class);
blobStore = context.getBlobStore();// create
containerblobStore.createContainerInLocation(null, “adriansmovies”);
// add blob
blob = blobStore.blobBuilder("sushi.avi").payload(file).build();
blobStore.putBlob(“adriansmovies”, blob);
java overview github jclouds/jclouds
11@jclouds
java overview github jclouds/jclouds
// init
context = ContextBuilder.newBuilder(“openstack-nova”)
.endpoint(“https://keystone:5000/v2.0”)
.credentials(tenantUser, password)
.modules(singleton(new SshjSshClientModule()))
.buildView(ComputeServiceContext.class);
compute = context.getComputeService();
// create a couple nodes and open a couple ports
nodes = compute.createNodesInGroup(“hbase-master”, 1,
runScript(install).
inboundPorts(60000, 60010));
// gather my ip addresses
for (NodeMetadata node : nodes) {
node.getPublicAddresses();
node.getPrivateAddresses();
}
11
CLI github jclouds/jclouds-cli
jclouds locations
Location helps
normalize placement
across resource types
All top-level resources
have a location
Location metadata is
extensible
jclouds modularity
APIs are software
focused Providers are
offering focused
API + location + defaults
= Provider
@jclouds
What’s new?
• Apache incubator graduation vote!
• Portable Multi-part Upload (big blobs)
• Portable security groups
Lessons Learned
• Cloud providers are generally quite helpful
• Not everyone rolls their own, but many do
• Extensions are an api-visible way to
differentiate on products like OpenStack
• Nothing’s really compatible for long
• Plan to refactor testing approach every year
Alternatives
• Roll-your-own
• Cloud-specific SDKs
• Dasein Cloud API
• Netflix Denominator (DNS only)
@jclouds
Where now?
• jclouds.incubator.apache.org
• github/jclouds/jclouds-examples
• IRC #jclouds on freenode

More Related Content

PPTX
Microservices/dropwizard
PDF
Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...
PDF
Simple REST with Dropwizard
PPTX
Openstack glance
PDF
jclouds High Level Overview by Adrian Cole
PPTX
Whirlwind tour of activiti 7
PDF
Google App Engine Developer - Day4
PPTX
Dropwizard Internals
Microservices/dropwizard
Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...
Simple REST with Dropwizard
Openstack glance
jclouds High Level Overview by Adrian Cole
Whirlwind tour of activiti 7
Google App Engine Developer - Day4
Dropwizard Internals

What's hot (20)

PPTX
OpenStack Glance
KEY
Jclouds Intro
PPTX
OpenStack Glance
PDF
CBDW2014 - Building ContentBox Modules
PDF
RESTful OSGi Web Applications Tutorial - Khawaja S Shams & Jeff Norris
PDF
GUJavaSC - Criando Micro-serviços Reativos com Java
PDF
Vanilla JS*
PDF
Elasticsearch on Kubernetes
PPTX
Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014
PDF
Micronaut For Single Page Apps
PDF
Live Node.JS Training
PDF
Tech talk live share extras extension modules feb 13
PPTX
Dropwizard Introduction
PPTX
Node js for enterprise
PDF
OSGi and Spring Data for simple (Web) Application Development - Christian Bar...
PDF
Apache jclouds and Docker
PDF
Robe - A brand new robe for Dropwizard
PDF
AtlasCamp 2015: How HipChat ships at the speed of awesome
ODP
Consume Spring Data Rest with Angularjs
PPTX
Deploy Elasticsearch Cluster on Kubernetes
OpenStack Glance
Jclouds Intro
OpenStack Glance
CBDW2014 - Building ContentBox Modules
RESTful OSGi Web Applications Tutorial - Khawaja S Shams & Jeff Norris
GUJavaSC - Criando Micro-serviços Reativos com Java
Vanilla JS*
Elasticsearch on Kubernetes
Dropwizard Restful 微服務 (microservice) 初探 - JCConf TW 2014
Micronaut For Single Page Apps
Live Node.JS Training
Tech talk live share extras extension modules feb 13
Dropwizard Introduction
Node js for enterprise
OSGi and Spring Data for simple (Web) Application Development - Christian Bar...
Apache jclouds and Docker
Robe - A brand new robe for Dropwizard
AtlasCamp 2015: How HipChat ships at the speed of awesome
Consume Spring Data Rest with Angularjs
Deploy Elasticsearch Cluster on Kubernetes
Ad

Viewers also liked (6)

PPSX
John Overall at Word Camp Victoria 2011
PDF
Cassandra: Indexing and discovering similar images
PDF
MongoDB: Repository for Web-scale metadata
PPT
When small problems become big problems
PDF
OpenLSH - a framework for locality sensitive hashing
PDF
L 150 e-_sensor
John Overall at Word Camp Victoria 2011
Cassandra: Indexing and discovering similar images
MongoDB: Repository for Web-scale metadata
When small problems become big problems
OpenLSH - a framework for locality sensitive hashing
L 150 e-_sensor
Ad

Similar to jclouds overview (20)

PPTX
Introduction to Apache jclouds at NYJavaSIG
PDF
Getting Started with jClouds: Multi Cloud Framework
PDF
Getting started with jClouds
PPTX
jclouds at HKJUG
PDF
Easy applications deployment on OpenStack clouds
KEY
Sjug aug 2010_cloud
PDF
Apache JClouds
PPTX
Introduction to Apache jclouds
PPTX
Introduction to Apache jclouds at ApacheCon 2014
ODP
CloudStack, jclouds and Whirr!
PDF
JavaOne 2014: Taming the Cloud Database with jclouds
PDF
CloudStack, jclouds, Jenkins and CloudCat
PDF
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
PDF
JUDCon 2010 Boston : CoolingTower and CirrAS
PPTX
jclouds workshop
PDF
Jclouds Introduction
PDF
quickguide-einnovator-8-spring-cloud
PPTX
jclouds BoF
PDF
Resilient Microservices with Spring Cloud
PPTX
Cloud patterns
Introduction to Apache jclouds at NYJavaSIG
Getting Started with jClouds: Multi Cloud Framework
Getting started with jClouds
jclouds at HKJUG
Easy applications deployment on OpenStack clouds
Sjug aug 2010_cloud
Apache JClouds
Introduction to Apache jclouds
Introduction to Apache jclouds at ApacheCon 2014
CloudStack, jclouds and Whirr!
JavaOne 2014: Taming the Cloud Database with jclouds
CloudStack, jclouds, Jenkins and CloudCat
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
JUDCon 2010 Boston : CoolingTower and CirrAS
jclouds workshop
Jclouds Introduction
quickguide-einnovator-8-spring-cloud
jclouds BoF
Resilient Microservices with Spring Cloud
Cloud patterns

Recently uploaded (20)

PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
A Presentation on Artificial Intelligence
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Cloud computing and distributed systems.
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Electronic commerce courselecture one. Pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
KodekX | Application Modernization Development
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Empathic Computing: Creating Shared Understanding
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Chapter 3 Spatial Domain Image Processing.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
A Presentation on Artificial Intelligence
NewMind AI Monthly Chronicles - July 2025
Cloud computing and distributed systems.
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Electronic commerce courselecture one. Pdf
cuic standard and advanced reporting.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation theory and applications.pdf
20250228 LYD VKU AI Blended-Learning.pptx
KodekX | Application Modernization Development
Understanding_Digital_Forensics_Presentation.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
MYSQL Presentation for SQL database connectivity
Empathic Computing: Creating Shared Understanding
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

jclouds overview

  • 2. Agenda •What is jclouds? •What does it do? •Relationship to other projects •Code examples •Extras
  • 3. What is jclouds? • Java multi-cloud SDK • b 3/2009; currently apache incubator • connects tools portably, yet also availing backend • Over 40 cloud providers supported
  • 4. What does it do? • Helps projects become cloud projects, and developers become cloud developers. • through consistency in • Tools vs Services • Services vs Model • API approach
  • 5. Tools vs Services • jclouds helps existing tools connect to cloud services • a consistent integration pattern and configuration • adjustable library dependencies • sample patterns, integrations, and abstractions
  • 6. Services vs Model • jclouds simplifies modeling of cloud services • Standards focus with pragmatic extensions. (JSR-330, 311) • Clean means of addressing service quirks • pluggable strategies for error/retry handling
  • 7. API Approach • Backend before abstraction • proprietary features, multiple abstractions • Functional java (guava) • Universal Testing Approach • unit, “expect”, and live tests
  • 8. BlobStore LoadBalancer Compute DNS, Block Storage, Network, Identity Portable APIs Embeddable Provider-Specific Hooks 40 built-in providers & 20 apis and dialects!
  • 10. // init context = ContextBuilder.newBuilder(“cloudfiles-us”) .credentials(apikey, secret) .buildView(BlobStoreContext.class); blobStore = context.getBlobStore();// create containerblobStore.createContainerInLocation(null, “adriansmovies”); // add blob blob = blobStore.blobBuilder("sushi.avi").payload(file).build(); blobStore.putBlob(“adriansmovies”, blob); java overview github jclouds/jclouds
  • 11. 11@jclouds java overview github jclouds/jclouds // init context = ContextBuilder.newBuilder(“openstack-nova”) .endpoint(“https://keystone:5000/v2.0”) .credentials(tenantUser, password) .modules(singleton(new SshjSshClientModule())) .buildView(ComputeServiceContext.class); compute = context.getComputeService(); // create a couple nodes and open a couple ports nodes = compute.createNodesInGroup(“hbase-master”, 1, runScript(install). inboundPorts(60000, 60010)); // gather my ip addresses for (NodeMetadata node : nodes) { node.getPublicAddresses(); node.getPrivateAddresses(); } 11
  • 13. jclouds locations Location helps normalize placement across resource types All top-level resources have a location Location metadata is extensible
  • 14. jclouds modularity APIs are software focused Providers are offering focused API + location + defaults = Provider
  • 15. @jclouds What’s new? • Apache incubator graduation vote! • Portable Multi-part Upload (big blobs) • Portable security groups
  • 16. Lessons Learned • Cloud providers are generally quite helpful • Not everyone rolls their own, but many do • Extensions are an api-visible way to differentiate on products like OpenStack • Nothing’s really compatible for long • Plan to refactor testing approach every year
  • 17. Alternatives • Roll-your-own • Cloud-specific SDKs • Dasein Cloud API • Netflix Denominator (DNS only)
  • 18. @jclouds Where now? • jclouds.incubator.apache.org • github/jclouds/jclouds-examples • IRC #jclouds on freenode

Editor's Notes

  • #2: test note
  • #6: ant, vfs plugins, examples for spring, jruby, simple usage, google appengine
  • #9: AbstractionsBlobStore ( atmos, azure, rackspace, s3 )Compute ( ec2, rackspace, vcloud, gogrid...)Clojure bindingsStuff (stubs/filesystem providers, plugins...)
  • #11: focused on semantic portability across clouds I want an image running ubuntu and don ’ t want to know the id absolute portability where possible, but expose vendor apis where needed
  • #12: notice you don ’ t even have to choose an operating system
  • #14: ex. you can include add metadata to locations to assign ISO-3166 for geopolitical regions
  • #15: global namespace, act of tenancy and uniquely identifies your namespace similar to dns azure scopes container names to accounts nirvanix scopes based on application and then subaccount
  • #16: Guava! But normally only a couple-of-week wait