My favorites | Sign in
Project Home Downloads Issues
Project Information
Members
Featured
Downloads
Links

Cool Stuff

Gustavo switches cloud providers without restarting the JVM using jclouds and OSGI. To see this blown up, click here

News

Docs for jclouds is now at jclouds.org

Source for jclouds is github

Maven for jclouds releases are synced to maven central

Check out our examples site

1.2 released including new support for CloudStack, HP Cloud Object Storage, Ninefold Compute and many new enhancements, particularly the new image-id property for overriding the default template. Please update to the latest version: 1.3.1!

Work in progress for !GleSYS, VirtualBox, ScaleUp Storage, Host Europe Storage, Tiscali Storage, Scality RING (rs2), OCCI, SimpleDB, ELB, IBM Developer Cloud, Google Storage, and Virtacore.

Introducing jclouds

jclouds is an open source library that helps you get started in the cloud and reuse your java and clojure development skills. Our api allows you freedom to use portable abstractions or cloud-specific features. We support many clouds including Amazon, GoGrid, VMWare, Azure, and Rackspace.

Here's how we help you get started:

  1. Simple interface Instead of creating new object types, we reuse concepts like maps so that the programming model is familiar. In this way, you can get started without dealing with REST-like apis or WS.
  2. Runtime portability We have drivers that allow you to operate in restricted environments like Google App Engine. We have very few required dependencies, so we are unlikely to clash with your app.
  3. Deal with web complexity Network based computing introduces issues such as transient failures and redirects. We handle this for you.
  4. Unit testability Writing tests for cloud endpoints is difficult. We provide you with Stub connections that simulate a cloud without creating network connections. In this way, you can write your unit tests without mocking complexity or the brittleness of remote connections.
  5. Performance We perform tasks in parallel for you wherever possible and use straight sax for xml. If you need even more speed, you can plugin our enterprise driver.
  6. Location All of our abstractions are location-aware. For example, you can get ISO-3166 codes to tell which country or province a cloud runs in.
  7. Quality We test every provider with live scenarios before each release. If it doesn't pass, the provider goes into the sandbox.

Our abstractions

jclouds presents cloud-agnostic abstractions, with stable implementations of ComputeService and BlobStore.

  • ComputeService simplifies the task of managing machines in the cloud. For example, you can use ComputeService to start 5 machines and install your software on them.
  • BlobStore simplifies dealing with key-value providers such as Amazon S3. For example, BlobStore can give you a simple Map view of a container.

How we package

jclouds publishes to maven central three major types of artifacts: provider, api, and driver.

Providers give you access to a discrete service, ex Amazon EC2 (org.jclouds.provider/aws-ec2).

APIs are untargetted and can work against many endpoints. For example, you may have installed your own cloud with vCloud and OpenStack Swift. Set the properties swift.endpoint=http://myhost:11000 and vcloud.endpoint=https://mycloud/api to target our api modules to your private cloud.

Drivers allow you to use alternate backends. For example, you may wish to use ApacheHC (org.jclouds.driver/jclouds-apachehc) for http requests, or run in Google AppEngine (org.jclouds.driver/jclouds-gae).

Supported Providers

The following providers have been tested as a part of the jclouds 1.3 release: Here are the services that we have implementations of.

maven dependency abstraction iso 3166 codes
o.j.provider/aws-cloudwatchUS-VA,US-CA,IE,SG
o.j.provider/aws-ec2computeUS-VA,US-CA,IE,SG
o.j.provider/aws-s3blobstoreUS,US-CA,IE,SG
o.j.provider/azureblobblobstoreUS-TX,US-IL,IE-D,SG,NL-NH,HK
o.j.provider/bluelock-vcloud-zone01computeUS-IN
o.j.provider/cloudfiles-ukblobstoreGB-SLG
o.j.provider/cloudfiles-usblobstoreUS-TX
o.j.provider/cloudloadbalancers-usloadbalancerUS-IL,US-TX
o.j.provider/cloudonestorageblobstoreUS-GA,US-TX
o.j.provider/cloudservers-ukcomputeGB-SLG
o.j.provider/cloudservers-uscomputeUS-IL,US-TX
o.j.provider/cloudsigma-zrhcomputeCH-ZH
o.j.provider/cloudsigma-lvscomputeUS-NV
o.j.provider/elastichosts-lax-pcomputeUS-CA
o.j.provider/elastichosts-lon-bcomputeGB-LND
o.j.provider/elastichosts-lon-pcomputeGB-LND
o.j.provider/elastichosts-sat-pcomputeUS-TX
o.j.provider/elastichosts-tor-pcomputeCA-OR
o.j.provider/eucalyptus-partnercloud-ec2computeUS-CA
o.j.provider/eucalyptus-partnercloud-s3blobstoreUS-CA
o.j.provider/go2cloud-jhb1computeZA-GP
o.j.provider/gogridcomputeUS-CA,US-VA,NL-NH
o.j.provider/greenhousedata-element-vcloudcomputeUS-WY
o.j.provider/hpcloud-objectstorage-lvscomputeUS-NV
o.j.provider/ninefold-computecomputeAU-NSW
o.j.provider/ninefold-storageblobstoreAU-NSW
o.j.provider/openhosting-east1computeUS-VA
o.j.provider/rimuhostingcomputeNZ-AUK,US-TX,AU-NSW,GB-LND
o.j.provider/savvis-symphonyvpdccomputeUS,CA
o.j.provider/serverlove-z1-mancomputeGB-MAN
o.j.provider/skalicloud-sdg-mycomputeMY-10
o.j.provider/slicehostcomputeUS-IL,US-TX,US-MO
o.j.provider/softlayercomputeSG,US-CA,US-TX,US-VA,US-WA,US-TX
o.j.provider/stratogen-vcloud-mycloudcomputeGB
o.j.provider/synaptic-storageblobstoreUS-VA,US-TX
o.j.provider/trmk-ecloudcomputeUS-FL,US-VA,NL-NH,BR-SP
o.j.provider/trmk-vcloudexpresscomputeUS-FL

Supported APIs

The following apis have been tested as a part of the jclouds 1.3 release:

maven dependency abstraction
org.jclouds.api/atmosblobstore
org.jclouds.api/byoncompute
org.jclouds.api/cloudfilesblobstore
org.jclouds.api/cloudstackcompute
org.jclouds.api/deltacloudcompute
org.jclouds.api/elasticstackcompute
org.jclouds.api/eucalyptuscompute
org.jclouds.api/filesystemblobstore
org.jclouds.api/novablobstore
org.jclouds.api/swiftblobstore
org.jclouds.api/vcloudcompute
org.jclouds.api/walrusblobstore

Supported Drivers

The following drivers have been tested as a part of the jclouds 1.3 release:

maven dependency
org.jclouds.driver/jclouds-apachehc
org.jclouds.driver/jclouds-bouncycastle
org.jclouds.driver/jclouds-enterprise
org.jclouds.driver/jclouds-gae
org.jclouds.driver/jclouds-joda
org.jclouds.driver/jclouds-jsch
org.jclouds.driver/jclouds-log4j
org.jclouds.driver/jclouds-slf4j
org.jclouds.driver/jclouds-sshj

IRC

Drop by our IRC, if you'd like to chat with jclouds developers and users: irc://irc.freenode.net/#jclouds

Powered by Google Project Hosting