The Eucalyptus Story

We started Eucalyptus as a research project in the Computer Science Department at the University of California, Santa Barbara In the Fall of 2007, Rich Wolski (whose research group eventually designed and built Eucalyptus) was a principle investigator of the Virtual Grid Application Development Software Project (VGrADS) funded by the National Science Foundation. The purpose of VGrADS was to investigate novel programming language and runtime system techniques for large-scale computational grid applications. Producing empirical results based on real-world applications, VGrADS had already developed a runtime system for the LEAD (Linked Environment for Atmospheric Discovery) weather forecasting system. The VGrADS runtime was designed to provide a stable execution platform using a new statistical virtualization technique applied to the NSF's batch-controlled supercomputers. By the Fall of 2007, VGrADS (entering its final year) had already demonstrated how LEAD could use a new kind of virtualization to make supercomputers appear to be dedicated and schedulable on-demand.

To finish the project, we decided that VGrADS would need to investigate how NSF supercomputers and the commercial public clouds could be combined to execute the large-scale scientific workflows that are generated by LEAD. At the time, the public cloud choice most appealing to the application constituency was Amazon's AWS, so we decided to target AWS with VGrADS and LEAD.

However, VGrADS has always included University and research laboratory resources (research clusters in University data centers) in its prototypes. The ability to work with real-world applications using local infrastructure enables more rapid and deeper insights, particularly with respect to the way in which the software platform supports different application behaviors.

To enable these insights and also to speed the development of the AWS integration with VGrADS, we developed Eucalyptus to act as a local cloud platform. Having worked with a number of grid technologies, both as part of VGrADS and also as part of long-standing collaborations with the NSF supercomputer institutes, we made some decisions early-on that have proved to be defining attributes of the Eucalyptus software infrastructure.

We have based Eucalyptus on open-source software components that we use without modification. There are two advantages that we immediately enjoy as a result of this decision. First, because we do not make changes to these packages, we automatically incorporate any improvements or upgrades that the open-source community has contributed. Secondly, by choosing open-source components that are common to most freely available Linux distributions, Eucalyptus can run in pre-existing Linux installations without the addition or modification of the installed software infrastructure.

In that same vein, we had already worked with local system administrators to maintain a number of different grid testbeds. From these experiences it was clear to us that the installation and maintenance of a software platform like Eucalyptus had to be made as easy and transparent as possible. Thus we designed the system to install and behave more as a Linux "tool" (from the system administrator's perspective) rather than a separate platform.

Finally, we recognized that the cloud platform itself should be modularized so that it could support multiple APIs and virtualization environments. Thus while the initial versions of the system supported the AWS APIs and Xen hypervisor platform, Eucalyptus is designed to support multiple APIs and virtualization environments simultaneously, in the same cloud.

After scoping these requirements in the context of developing a cloud infrastructure that would prove useful in a production data center setting, we began coding against a detailed design in early February of 2008. The first release of Eucalyptus with only an EC2 interface was on May 29th, 2008. We made several stability-enhancing releases and then added S3 support in December of 2008. After we added support for Elastic Block Storage (EBS) and KVM, Ubuntu released the Ubuntu Enterprise Cloud (powered by Eucalyptus) on April 23, 2009.

From its inception, it was clear to us that Eucalyptus as a research project would need to transition to a new phase in the spring of 2009. VGrADS, as a project, would be terminating and the release of Eucalyptus through Linux distribution channels would generate support activities that are outside the scope of University research. Thus, in early January of 2009 we began the process of commercializing the Eucalyptus project as an open source company. The original authors of the Eucalyptus software were unanimous in their desire to see the project continue to have impact on the open-source community and the interest from both public and private sectors in seeing Eucalyptus persist beyond its University origins have made the transition possible.