What is Eucalyptus
In the previous article, Learn about cloud computing we introduced the basics of cloud computing and we discussed how clouds are classified according to service offerings or “styles” (i.e., IaaS, PaaS, SaaS) and “types” (i.e., public, private and hybrid). In this article we introduce the Eucalyptus cloud computing platform.
Eucalyptus enables the creation of on-premise private clouds, with no requirements for retooling the organization’s existing IT infrastructure or need to introduce specialized hardware. Eucalyptus implements an IaaS (Infrastructure as a Service) private cloud that is accessible via an API compatible with Amazon EC2 and Amazon S3. For more information on our API see our Developer’s Corner. This compatibility allows any Eucalyptus cloud to be turned into a hybrid cloud, capable of drawing compute resources from public cloud. And Eucalyptus is compatible with a wealth of tools and applications that also adhere to the de facto EC2 and S3 standards.
Here are some of the characteristics that make Eucalyptus the most widely deployed cloud platform for the private (on-premise) cloud:
- Open Source
- Eucalyptus is open source: if you want to modify it, contribute to it, assess its security or just learn from it you can download it and have the source code at your fingertips. The Eucalyptus development process is in the open, as are bug reports, community contributions and security advisories.
- Eucalyptus’ design is modular. The Eucalyptus components have well-defined interfaces (via WSDL, since they are web services) and thus can be easily swapped out for custom components.
- Eucalyptus allows its components to be installed strategically close to the needed/used resources. For example Walrus can be installed close to the storage, while the Cluster Controller can be installed close to the cluster it will manage.
- Designed to Perform
- Eucalyptus was designed from the ground up to be scalable and to achieve optimal performance in diverse environments (designed to overlay an existing infrastructure).
- Eucalyptus is flexible and can be installed on a very minimal setup. Yet it can be installed on thousands of cores and terabytes of storage. And it can do so as an overlay on top of an existing infrastructure.
- Eucalyptus is compatible with the most popular and widely used Cloud API currently available: Amazon EC2 and S3. Eucalyptus’ design allows for any other API to be implemented, but to date no other real Cloud API contender is as complete and as requested as Amazon’s.
- Hypervisor Agnostic
- Eucalyptus is designed to easily support most available and future hypervisors. Currently Eucalyptus fully supports KVM and Xen. Additionally, the Enterprise Edition supports the proprietary VMware hypervisor.
- Hybrid Cloud
- All of the above characteristics makes Eucalyptus easy to deploy as an hybrid cloud. An hybrid cloud combines resources drawn from multiple clouds, typically one private and one public. Eucalyptus compatibility with Amazon’s EC2 API allows for a natural hybrid cloud with the biggest public cloud available.
History of Eucalyptus
Eucalyptus was born as a University project in the MAYHEM labs of the Computer Science Dept. at UC Santa Barbara. The MAYHEM team’s experience in Grid Computing, HPC, and massively scalable systems (Rich Wolski’s team of NWS and EveryWare fame) made it the natural place for the birth of Eucalyptus.
The name EUCALYPTUS is an acronym and stands for Elastic Utility ComputingArchitecture for Linking Your Programs To Useful Systems. A brief description of this period can be read here. This is of course no coincidence as UCSB is a leading University in Cloud Computing research.
In 2009, the Eucalyptus team started a company (Eucalyptus Systems Inc.) to commercialize Eucalyptus. Currently there is Eucalyptus, the open source project, and Eucalyptus EE (Enterprise Edition), which is the commercial version of Eucalyptus.
Our talented development team has made installing Eucalyptus easy, but some planning is still required (e.g., Where is the storage for Walrus/S3? What about the storage and network for EBS? How many public IPs can Eucalyptus use? Is there a private network for the Node Controllers? How big will my cloud grow?). These questions are a normal part of the planning process that IT goes through in order to appropriately size the infrastructure for a deployment. Before embarking on a full-scale deployment we suggest familiarizing yourself with Eucalyptus by:
- TestDrive our community cloud (ECC);
- Reserve few machines, and follow our documentation in particular the administrator’s guide, to install Eucalyptus on your favorite distribution.