Open-source tools could make it easier to build a hybrid cloud

Government agencies interested in building out privately-run internal clouds have a growing number of open-source tools to work with.

Government agencies interested in building out privately-run internal clouds, will find that there are a growing number of open-source tools to help them.

Two such tools are Eucalyptus and Deltacloud. Both platforms offer a set of application programming interfaces that can serve as a front end, or a broker, to a private cloud or even a set of clouds, which would allow users to pick the best cloud service for the job.

Of the two packages, Eucalyptus is farther along in terms of development: NASA uses Eucalyptus for its Nebula cloud. The Energy Department's Argonne National Laboratory is also exploring Eucalyptus, for scientific research. Deltacloud is still in development, though agencies could participate and help define it features. 

At the Large Installation System Administration Conference, held earlier this month in Baltimore, Eucalyptus creator Rich Wolski talked about his creation works.

Wolski started working on the project at the University of California, Santa Barbara as a research project. He later started a software company, Eucalyptus Systems, to provide commercial support for the software.

In short, Eucalyptus provides a front end that replicates the environment offered by the Amazon Web Services (AWS). The goal was to build an interface "where a user or program cannot tell the difference between Amazon and what we built," Wolski said. This project was possible because "Amazon documents it’s APIs very carefully," he said. Behind the APIs, Eucalyptus handles the coordination with the virtual machines, storage provisioning and networking.

Wolski said the development team took care to make the platform extremely compatible with current Linux server-based environments. "It will run as an overlay. You download it from the Web. You stand it up on your machine, and it will work," he said.

Although he has gotten several queries from organizations hoping to set up their own Amazon-like commercial cloud services, Wolski warned that most organizations probably could not achieve the economies of scale that Amazon has with its own service, especially given how Amazon makes its profit largely by focusing on improving efficiencies of its systems.

Instead, Eucalyptus can provide an effective platform for testing applications before they are moved to AWS, or for organizations that want to build hybrid clouds, in which some resources are kept in-house while others are run on AWS. Most organizations, even those that plan to use the cloud, will need to do some on-premise configuration and customization: Eucalyptus can act as a bridge between internal and cloud-based functionality, Wolski said.

"Almost all systems out there today being deployed as private clouds are really trying to implement some sort of hybridization, an amalgamation of on-premise infrastructure they have with some off-site infrastructure," Wolski said. "The future is hybrid. You need some configuration on-premise."

Linux software vendor Canonical has added Eucalyptus to its latest release of the Ubuntu Linux server edition, version 9.10, and has touted the OS's cloud computing capabilities. Other Linux distributions, such as CentOS, OpenSUSE and Debian, include Eucalyptus as an optional package.

Eucalyptus is not the only open-source cloud. Red Hat is sponsoring another effort to build an infrastructure cloud platform, a project named Deltacloud. GCN spoke about Deltacloud with Red Hat Chief Technology OIfficer Brian Stevens at the Government Open Source Conference, held earlier this month in Washington.

The motivation behind Deltacloud is to build a "really generic, but very robust API for an infrastructure cloud," he said. It offers the controls to upload and run virtual machines, as well as monitor their activity.

The problem Deltacloud sets out to solve is the lack of compatibility among different cloud services. "The ecosystem around [existing] clouds isn't very portable. All the APIs are different," he said, noting that something built for the Google App Engine can not be easily ported to AWS.

Deltacloud acts as a broker, providing a user interface as well as drivers to handle the back-end servers, storage and networking. The software can be used not only to interface with in-house software, but also with public cloud offerings from Amazon and Rackspace.

"So it is a superset of clouds. You can have programs that are written to this API, and they can be transported from cloud to cloud to cloud," Stevens said. Deltacloud has an advantage over Eucalyptus because it is not tied to the AWS APIs, which Amazon could change or prohibit the use of, Stevens said. Also, Amazon's API set doesn't cover tasks such as migrating workloads, or offer nuanced usage metrics.

"There are all these operational controls that an enterprise needs to support that are way beyond what Amazon can support," Stevens said.

Deltacloud could offer the ability to move the workload among different clouds, depending on the performance needed. An application being developed can go on AWS, because it is cheap and top-flight performance is not an issue. Once in production, the application could be moved to a high-availability, though more costly, cloud.

Stevens said the Red Hat was building out a lot of cloud management tools for their enterprise customers anyway, so it turned this work into a public project, hoping other companies will help build out this platform under an open-source license.