jclouds at a Glance

jclouds (jclouds.org) is an open source multi-cloud library that helps you get started in the cloud and reuse your java and clojure development skills.

The jclouds api allows you freedom to use portable abstractions or cloud-specific features. More than 30 cloud providers and cloud software stacks are supported, including Amazon, GoGrid, Ninefold, vCloud, OpenStack, and Azure.

Cloudsoft is a long-standing and highly experienced user of jclouds, incorporating it as a core component in its application management product where it makes applications portable across clouds. Cloudsoft has built upon this experience to offer professional support services to other jclouds users.

Cloudsoft adds professional open source services and support to the jclouds ecosystem.

jclouds for Cloud Providers

jclouds enables cloud providers to offer services using an open standard.

  • Drive up your cloud usage by adopting an open industry standard
  • Your specific value-add features are still available for use by customers
  • Raise your brand awareness by leveraging coverage in open source communities

jclouds for Cloud Consumers

jclouds enables cloud consumers to develop portable cloud applications that run unchanged on multiple clouds (write once, run anywhere).

  • Focus on using the cloud, rather than troubleshooting implementations
  • No need to develop and test code for individual cloud providers
  • Exploit quality assurance provided by rock solid, tested APIs for compute and storage

Key jclouds Concepts

  • BlobStore - Simplifies dealing with durable persistence across APIs such as Amazon S3 and EMC Atmos. Tested in Omixon’s Next Generation Sequencing (NGS) environment at petabyte scale up to 330MB/s
  • ComputeService - Simplifies the task of managing machines in the cloud. For example, you can use the ComputeService to start a pool of machines in any supported cloud and install your software on them

Features

  • Simple Interface – Instead of creating new object types, jclouds reuses concepts like maps so that the programming model is familiar. Thus you can get started without dealing with REST-like APIs or Web Services
  • Runtime Portability - jclouds has drivers that allow you to operate in restricted environments like Google App Engine. It has very few required dependencies, so is unlikely to clash with your application
  • Deal with Web Complexity - Network based computing introduces issues such as transient failures and redirects. jclouds handles this for you
  • Testability – To simplify unit testing jclouds provides in-memory stub connections that simulate clouds
  • Performance jclouds supports the parallel execution of server commands such as create and execute scripts. For example, Neotys use this to launch hundreds of servers simultaneously
  • Location - All of jclouds abstractions are location-aware. For example, you can obtain a ISO-3166 code to determine which jurisdiction a cloud is running in
  • Coverage jclouds support over thirty cloud providers and cloud software stacks, including Amazon, Azure, Eucalyptus, GoGrid, Ninefold, OpenStack and vCloud
  • Quality - jclouds test every provider with live scenarios before each release. If a provider doesn’t pass, they go into the sandbox