[Eucalyptus Beginner’s Guide – UEC edition] Chapter 1 – Introduction to UEC and its components
Installation & Configuration
Cloud Computing is a computing model, where resources such as computing power, storage, network and software are abstracted and provided as services on the Internet in a remotely accessible fashion. Billing models for these services are generally similar to the ones adopted for public utilities. On-demand availability, ease of provisioning, dynamic and virtually infinite scalability are some of the key attributes of Cloud Computing.
An infrastructure setup using the cloud computing model is generally referred to as ‘Cloud’. The following are the broad categories of services available on the ‘Cloud’:
- Infrastructure As A Services (IAAS)
- Platform As A Service (PAAS)
- Software As A Service (SAAS)
This ‘Cloud’ is generally available as service to anyone on the Internet. However, a variant called ‘Private Cloud’ is increasingly becoming popular for private infrastructure that has some of the attributes of the ‘Cloud’ as mentioned above.
Amazon Web Services is one of the major players providing IAAS. They have 2 popular services – Elastic Compute Cloud(EC2) and Simple Storage Service(S3). These services are available through web services interfaces. The client tools can use EC2 and S3 APIs to communicate with these services. The popularity of these APIs have encouraged other Cloud products to provide support for them as well.
Eucalyptus is a software available under GPL that helps in creating and managing a private or even a publicly accessible cloud. It provides an EC2 compatible cloud computing platform and S3 compatible cloud storage platform. Eucalyptus has become very popular and is seen as one of the key open source cloud platforms. Since Eucalyptus makes its services available through EC2/S3 compatible APIs, the client tools written for AWS can be used with Eucalyptus as well.
Ubuntu Enterprise Cloud (UEC)
Ubuntu Enterprise Cloud, UEC for short, is a stack of applications from Canonical included with Ubuntu Server Edition. UEC includes Eucalyptus along with a number of other open source software. UEC makes it very easy to install and configure the Cloud. Canonical also provides commercial technical support for UEC.
Components of a Eucalyptus (UEC) based Cloud
Node Controller (NC)
A UEC node is a VT enabled server capable of running KVM as the hypervisor. UEC automatically installs KVM when the user chooses to install the UEC node. The VMs running on the hypervisor and controlled by UEC are called instances. Eucalyptus supports other hypervisors like Xen apart from KVM, but Canonical has chosen KVM as the preferred hypervisor for UEC.
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.
NC queries the Operating System running on the node to discover the node’s physical resources – the number of cores, the size of memory, the available disk space and also to learn about the state of VM instances running on the node and propagates this data up to the CC.
- Collection of data related to the resource availability and utilization on the Node and reporting the data to CC
- Instance life cycle management
Cluster Controller (CC)
CC manages one or more Node Controllers and deploys/manages instances on them. CC also manages the networking for the instances running on the Nodes under certain types of networking modes of Eucalyptus. More on this in later chapters.
CC communicates with CLC on one side and NCs on the other side.
- To receive requests from CLC to deploy instances
- To decide which NCs to use for deploying the instances on
- To control the virtual network available to the instances
- To collect information about the NCs registered with it and report it to the CLC
Walrus Storage Controller (WS3)
WS3 provides a persistent simple storage service using REST and SOAP APIs compatible with S3 APIs.
- Storing the machine images
- Storing snapshots
- Storing and serving files using S3 API
WS3 should be considered as a simple file storage system.
Storage Controller (SC)
SC provides persistent block storage for use by the instances. This is similar to the Elastic Block Storage (EBS) service from AWS.
- Creation of persistent EBS devices
- Providing the block storage over AoE or iSCSI protocol to the instances
- Allowing creation of snapshots of volumes.
Cloud Controller (CLC)
The Cloud Controller (CLC) is the front end to the entire cloud infrastructure. CLC provides an EC2/S3 compliant web services interface to the client tools on one side and interacts with the rest of the components of the Eucalyptus infrastructure on the other side. CLC also provides a web interface to the users for managing certain aspects of the UEC infrastructure.
- Monitor the availability of resources on various components of the cloud infrastructure, including hypervisor nodes that are used to actually provision the instances and the cluster controllers that manage the hypervisor nodes
- Resource arbitration – Deciding which clusters will be used for provisioning the instances
- Monitoring the running instances
In short, CLC has a comprehensive knowledge of the availability and usage of resources in the cloud and the state of the cloud.
Installation & Configuration