The Apache Software Foundation (ASF) is a US 501(c)(3) nonprofit charitable organization that depends on a variety of funding sources to sustain its day-to-day activities.

Your support enables the ASF ensure its 300+ community-driven software products remain available to billions of users around the world at no cost, and to incubate the next generation of Open Source innovations.

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

Read our blog posts about the OpenStack Keystone V3 and Context linking & Neutron support for Nova integrations released in jclouds 2.1.0!

The latest version is 2.1.1 released on 2018-08-16! Read the release notes.

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!