Eucalyptus


Eucalyptus Open Source Private Cloud




Eucalyptus is a Linux‐based open Source software architecture that Implements efficiency enhancing private and hybrid clouds within an enterprise’s existing IT Infrastructure.

Eucalyptus is an acronym for “Elastic Utility Computing Architecture for Linking Your Programs to Useful Systems”.

A Eucalyptus private cloud is deployed across an enterprise’s “on‐premise” datacenter infrastructure and is accessed by users over enterprise intranet.


Source: http://www.eucalyptus.com/eucalyptus-cloud/iaas
Technology

Eucalyptus was designed from the ground up to be easy to install and as non intrusive as possible. The software framework is highly modular, with industry standard, language‐agnostic communication. 

Eucalyptus is also unique by providing a virtual network overlay that both isolates network traffic of different users and allows two or more clusters to appear to belong to the same Local Area Network (LAN). 

The external interface to Eucalyptus can also be leveraged to become compatible with multiple public clouds (Amazon EC2, Openstack, etc.).

Eucalyptus Components

Each Eucalyptus service component exposes a well-defined language agnostic API in the form of a WSDL document containing both the operations that the service can perform and the input/output data structures. 

A brief description of the components within the Eucalyptus system follows (See figure below:):



Eucalyptus Cloud Components
 Fig: 1
CLOUD CONTROLLER

Cloud Controller (CLC) is the entry-point into the cloud for administrators, developers, project managers, and end users.

The CLC is responsible for querying the node managers for information about resources, making high level scheduling decisions, and implementing them by making requests to cluster controllers. 

The CLC, as shown in Figure 1, is also the interface to the management platform. In essence, the CLC is responsible for exposing and managing the underlying virtualized resources (servers, network, and storage) via a well-defined industry standard API (Amazon EC2) and a Web-based user interface.


CLUSTER CONTROLLER 

Cluster Controller (CC) generally executes on a cluster front-end machine, or any machine that has network connectivity to both the nodes running NCs (Node Controllers) and to the machine running the CLC. 

The CC manages the virtual instance network and participates in the enforcement of SLAs as directed by the CLC. All nodes served by a single CC must be in the same broadcast domain (Ethernet).


NODE CONTROLLER

Node Controller (NC) is executed on every node that is designated for hosting VM instances. A Eucalyptus Cloud node is a VT enabled server capable of running KVM, XEN as the hypervisor.  The Enterprise version of Eucalyptus even supports VMware ESXis as Node Controllers.
Node Controller runs on each node and controls the life cycle of instances running on the node. The NC interacts with the OS and the hypervisor running on the node on one side and the CC on the other side.


STORAGE CONTROLLER

Storage Controller (SC) implements block-accessed network storage (e.g. Amazon Elastic Block Storage -- EBS) and is capable of interfacing with various storage systems (NFS, iSCSI, etc.). 

An elastic block store is a Linux block device that can be attached to a virtual machine but sends disk traffic across the locally attached network to a remote storage location. 

An EBS volume cannot be shared across instances but does allow a snap-shot to be created and stored in a central storage system such as Walrus, the Eucalyptus storage service.


WALRUS

Walrus (put/get storage) allows users to store persistent data, organized as eventually-consistent buckets and objects. It allows users to create, delete, list buckets, put, get, delete objects, and set access control policies. 

Walrus is interface compatible with Amazon’s S3, and supports the Amazon Machine Image (AMI) image-management interface, thus providing a mechanism for storing and accessing both the virtual machine images and user data. Using Walrus users can store persistent data, which is organized as buckets and objects.


EUCA2OOLS

Euca2ools are command-line tools for interacting with Web services that export a REST/Query-based API compatible with Amazon EC2 and S3 services. The tools can be used with both Amazon's services and with installations of the Eucalyptus open-source cloud-computing infrastructure.

Software architecture


Eucalyptus is compatible with Amazon APIs so that users can leverage Eucalyptus commands to manage Amazon or Eucalyptus instances. 

Cloud users can also move instances between a Eucalyptus private cloud and the Amazon public cloud to create a hybrid cloud.


REFERENCES

TUTORIALS