The Java Multi-Cloud Toolkit

Apache jclouds® is an open source multi-cloud toolkit for the Java platform that gives you the freedom to create applications that are portable across clouds while giving you full control to use cloud-specific features.

Learn Install Source Contribute

The latest version is 1.9.2 released on 2016-01-16! Read the release notes.

Read about our GSoC 2016 project! Support for arbitrary CPU and RAM has been added to the Compute abstraction

CLOUDS

...and many more!

CODE

Compute

ComputeService compute = ContextBuilder.newBuilder("aws-ec2")
    .credentials("identity", "credential")
    .buildView(ComputeServiceContext.class)
    .getComputeService();

Template template = compute.templateBuilder()
    .osFamily(OsFamily.UBUNTU)
    .minRam(2048)
    .options(inboundPorts(22, 80))
    .build();

compute.createNodesInGroup("jclouds", 1, template);

BlobStore

BlobStore blobStore = ContextBuilder.newBuilder("aws-s3")
    .credentials("identity", "credential")
    .buildView(BlobStoreContext.class)
    .getBlobStore();
blobStore.createContainerInLocation(location, "container-name");

ByteSource payload = ByteSource.wrap(new byte[] {1, 2, 3, 4});
Blob blob = blobStore.blobBuilder("blob-name")
    .payload(payload)
    .contentLength(payload.size())
    .build();
blobStore.putBlob("container-name", blob);

 Compute

The portable Compute interface allows users to provision their infrastructure in any cloud provider. With Apache jclouds® users are in control of the entire process: deployment configuration, provisioning and bootstrap.

 BlobStore

Using the BlobStore interface, users can easily store objects in a wide range of blob store providers, regardless of how big the objects to manage are, or how many files are there.

 Load Balancer

The Load Balancer abstraction provides a common interface to configure the load balancers in any cloud that supports them. Just define the load balancer and the nodes that should join it, and it will be ready for the action.

 Specific APIs

Apache jclouds® also provides DNS, firewall, storage, configuration management, image management, provider specific APIs, and much more. Make sure to check them out!


USERS

...and many more!