||This article appears to be written like an advertisement. (September 2012)|
|Developer(s)||Eucalyptus Systems, Inc.|
|Initial release||1.0 May 29, 2008|
|Stable release||3.2.2 (April 1, 2013[±])|
|Written in||Java, C|
|Operating system||GNU/Linux, can host Linux and Windows VMs|
|Platform||Hypervisors (Xen, KVM, VMware)|
|Type||Private and hybrid cloud computing|
|License||GPLv3 (only), with Proprietary relicensing.|
Eucalyptus is open source computer software for building Amazon Web Services (AWS)-compatible private and hybrid cloud computing environments marketed by the company Eucalyptus Systems. Eucalyptus enables pooling compute, storage, and network resources that can be dynamically scaled up or down as application workloads change. Eucalyptus Systems announced a formal agreement with AWS in March 2012 to maintain compatibility.
The software development had its roots in the Virtual Grid Application Development Software project, at Rice University and other institutions from 2003 to 2008. Rich Wolski led a group at the University of California, Santa Barbara, and became the chief technical officer at the company headquartered in Goleta, California before returning to teach at UCSB. Eucalyptus software was included in the Ubuntu 9.04 distribution in 2009. The company was formed in 2009 with $5.5 million in funding to commercialize the software.
Eucalyptus commands can manage either Amazon or Eucalyptus instances. Users can also move instances between a Eucalyptus private cloud and the Amazon Elastic Compute Cloud to create a hybrid cloud. Hardware virtualization isolates applications from computer hardware details.
Eucalyptus uses the terminology:
- Images - An image is a fixed collection of software modules, system software, application software, and configuration information that is started from a known baseline (immutable/fixed). When bundled and uploaded to the Eucalyptus cloud, this becomes a Eucalyptus machine image (EMI).
- Instances - When an image is put to use, it is called an instance. The configuration is executed at runtime, and the Cloud Controller decides where the image will run, and storage and networking is attached to meet resource needs.
- IP addressing - Eucalyptus instances can have public and private IP addresses. An IP address is assigned to an instance when the instance is created from an image. For instances that require a persistent IP address, such as a web-server, Eucalyptus supplies elastic IP addresses. These are pre-allocated by the Eucalyptus cloud to an instance. An elastic IP persists whether the instance is running or not. In other words, if you stop an instance and restart it hours, days, or weeks later, the instance still binds to the same elastic IP address it was assigned to.
- Security - TCP/IP security groups share a common set of firewall rules. This is a mechanism to firewall off an instance using IP address and port block/allow functionality. At TCP/IP layer 2 instances are isolated. If this were not present, a user could manipulate the networking of instances and gain access to neighboring instances violating the basic cloud tenet of instance isolation and separation.
- Networking - There are three networking modes. In Managed Mode Eucalyptus manages a local network of instances, including security groups and IP addresses. In System Mode, Eucalyptus assigns a MAC address and attaches the instance's network interface to the physical network through the Node Controller's bridge. System Mode does not offer elastic IP addresses, security groups, or VM isolation. In Static Mode, Eucalyptus assigns IP addresses to instances. Static Mode does not offer elastic IPs, security groups, or VM isolation.
- Access Control - A user of Eucalyptus is assigned an identity, and identities can be grouped together for access control.
- The Cloud Controller (CLC) is a Java program that offers EC2-compatible interfaces, as well as a web interface to the outside world. In addition to handling incoming requests, the CLC acts as the administrative interface for cloud management and performs high-level resource scheduling and system accounting. The CLC accepts user API requests from command-line interfaces like euca2ools or GUI-based tools like the Eucalyptus User Console and manages the underlying compute, storage, and network resources. Only one CLC can exist per cloud and it handles authentication, accounting, reporting, and quote management.
- Walrus, also written in Java, is the Eucalyptus equivalent to AWS Simple Storage Service (S3). Walrus offers persistent storage to all of the virtual machines in the Eucalyptus cloud and can be used as a simple HTTP put/get storage as a service solution. There are no data type restrictions for Walrus, and it can contain images (i.e., the building blocks used to launch virtual machines), volume snapshots (i.e., point-in-time copies), and application data. Only one Walrus can exist per cloud.
- The Cluster Controller (CC) is written in C and acts as the front end for a cluster within a Eucalyptus cloud and communicates with the Storage Controller and Node Controller. It manages instance (i.e., virtual machines) execution and Service Level Agreements (SLAs) per cluster.
- The Storage Controller (SC) is written in Java and is the Eucalyptus equivalent to AWS EBS. It communicates with the Cluster Controller and Node Controller and manages Eucalyptus block volumes and snapshots to the instances within its specific cluster. If an instance requires writing persistent data to memory outside of the cluster, it would need to write to Walrus, which is available to any instance in any cluster.
- The VMware Broker is an optional component that provides an AWS-compatible interface for VMware environments and physically runs on the Cluster Controller. The VMware Broker overlays existing ESX/ESXi hosts and transforms Eucalyptus Machine Images (EMIs) to VMware virtual disks. The VMware Broker mediates interactions between the Cluster Controller and VMware and can connect directly to either ESX/ESXi hosts or to vCenter Server.
- The Node Controller (NC) is written in C and hosts the virtual machine instances and manages the virtual network endpoints. It downloads and caches images from Walrus as well as creates and caches instances. While there is no theoretical limit to the number of Node Controllers per cluster, performance limits do exist.
Amazon Web Services compatibility
Organizations can use or reuse AWS-compatible tools, images, and scripts to manage their own on-premise infrastructure as a service (IaaS) environments. The AWS API is implemented on top of Eucalyptus, so tools in the cloud ecosystem that can communicate with AWS can use the same API with Eucalyptus. In March 2012, Amazon Web Services and Eucalyptus announced details of the compatibility between AWS and Eucalyptus. As part of this agreement, AWS will support Eucalyptus as they continue to extend compatibility with AWS APIs and customer use cases. Customers can run applications in their existing data centers that are compatible with Amazon Web Services such as Amazon Elastic Compute Cloud (EC2) and Amazon Simple Storage Service (S3).
The Eucalyptus User Console provides an interface for users to self-service provision and configure compute, network, and storage resources. Development and test teams can manage virtual instances using built-in key management and encryption capabilities. Access to virtual instances is available using familiar SSH and RDP mechanisms. Virtual instances with application configuration can be stopped and restarted using encrypted boot from EBS capability.
IaaS service components Cloud Controller, Cluster Controller, Walrus, Storage Controller, and VMware Broker are configurable as redundant systems that are resilient to multiple types of failures. Management state of the cloud machine is preserved and reverted to normal operating conditions in the event of a hardware or software failure.
Eucalyptus can run multiple versions of Windows and Linux virtual machine images. Users can build a library of Eucalyptus Machine Images (EMIs) with application metadata that are decoupled from infrastructure details to allow them to run on Eucalyptus clouds. Amazon Machine Images are also compatible with Eucalyptus clouds. VMware Images and vApps can be converted to run on Eucalyptus clouds and AWS public clouds.
Eucalyptus user identity management can be integrated with existing Microsoft Active Directory or LDAP systems to have fine-grained role based access control over cloud resources.
Eucalyptus supports storage area network devices to take advantage of storage arrays to improve performance and reliability. Eucalyptus Machine Images can be backed by EBS-like persistent storage volumes, improving the performance of image launch time and enabling fully persistent virtual machine instances. Eucalyptus also supports direct-attached storage.
|Eucalyptus 3.2||December 19, 2012|
|Eucalyptus 3.1||June 27, 2012|
|Eucalyptus 3.0||February 8, 2012|
- Amazon EC2
- Cloud computing comparison
- Nimbus (cloud computing)
- Cloud computing
- Ubuntu One
- "Eucalyptus Open Source Software License Agreement".
- "Amazon Web Services (AWS) and Eucalyptus Partner to Bring Additional Compatibility Between AWS and On-premises IT Environments". News release (Eucalyptus Systems). March 22, 2012. Retrieved June 1, 2013.
- Daniel Nurmi, Rich Wolski, Chris Grzegorczyk, Graziano Obertelli, Lamia Youseff, and Dmitri Zagorodnov (September 1, 2009). "The Eucalyptus Open-source Cloud-computing System". 9th IEEE International Symposium on Cluster Computing and the Grid: 124–131. doi:10.1109/CCGRID.2009.93. Retrieved June 1, 2013.
- "Rich Wolski". Faculty web page. University of California, Santa Barbara. Retrieved June 1, 2013.
- Cade Metz (April 29, 2009). "Ubuntu's Koala food hits open-source supermarket: Eucalyptus in a can". The Register. Retrieved June 3, 2013.
- "Eucalyptus Enterprise Software". NIST Combined Synopsis/Solicitation. NIST. April 9, 2012. Retrieved June 1, 2013.
- Jonathan Gershater (August 24, 2012). "Examining Excellent Eucalyptus". Cloud Computing Journal. Retrieved June 1, 2013.
- Md. Imran Hossain Shaon (November 26, 2011). "Eucalyptus and it’s components". shaon's Blog. Retrieved June 1, 2013.
- Yohan Wadia (2012). "The Eucalyptus Open-Source Private Cloud". cloudbook. Retrieved June 1, 2013.
- "Eucalyptus Cloud Roadmap". Eucalyptus Systems web site. Retrieved June 1, 2013.
- "Eucalyptus Systems Extends Lead in AWS-Compatible Services From a Private Cloud". News release. April 29, 2013. Retrieved June 1, 2013.