Introduction to Private Cloud Computing with Eucalyptus UEC
In this article I will introduce the reader to private cloud computing, while discuss the nature of a private cloud with UEC based Eucalyptus as a case study to maintain order.
Private Cloud
A private cloud is a cloud computing infrastructure implemented as a service provider rather using a public cloud as a consumer of the service.
The main thing that make private clouds apart from a commercial public cloud is where the infrastructure implemented and how it’s deployed and maintained. A private cloud is typically hosted on the company servers within their own network infrastructure and administrative domain.
The advantage with a private cloud is direct control over every aspect of the cloud’s design and implementation and most importantly the way security is implemented.
Ubuntu Enterprise Cloud
Ubuntu Enterprise Cloud (UEC) is a package stack of applications from Canonical (best with an Ubuntu server). UEC includes a number of open source tools to manage the infrastructure, apart from Eucalyptus. UEC makes cloud computing a set of friendly activities.
By default UEC uses KVM. You would want to consider Xen based setup if you do not have any VT extensions. It would be better to go for a pure Eucalyptus server configuration but still Xen based kernels are difficult to find these days! You might survive Xen based setup on Fedora12.
Eucalyptus
“Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems” is a GPL Licensed software, which provides tooling to create and manage a private cloud that can even be accessed as public cloud. It provides Amazon EC-2 compatible platform and S3 compatible storage platform. It makes its services available through EC2/S3 compatible APIs. Therefore the client tools for Amazon Web Services (AWS) can be used with it as well.
Features:
- Interface compatibility with EC2
- Simple installation and deployment using Rocks
- Simple set of extensible cloud allocation policies
- Overlay functionality requiring no modification to the target Linux environment
- Basic administrative tools for system management and user accounting
- Configure multiple clusters with private network addresses into a single Cloud
- Portability
Components of Eucalyptus
Eucalyptus has 3 major components:
- Cloud Controller (CLC): includes the front-end services and the Walrus storage system.
- Cluster Controller (CC): provides support for the virtual network overlay
- Node Controller (NC): that interacts with VT to manage individual VMs.
And for storage management the following two components are utilized:
- Storage Controller (SC): provide persistent block storage for the instances
- Walrus Storage Controller (WSC): provide persistent and simple storage service
Note: Packages provided by Ubuntu are: eucalyptus-cloud, eucalyptus-cc and eucalyptus-nc, eucalyptus-sc, eucalyptus-walrus.

Component Model: http://open.eucalyptus.com/book/export/html/4263
Node Controller (NC)
NC 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 that are controlled by UEC are called instances.
The NC 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, while on the other hand it also interacts with the Cluster Controller (CC).
NC queries the OS on the node to discover the node’s resources. These are the number of cores, memory, disk space. It also monitors the state of the VM instances running on the node to propagate this data to the CC.
Features:
- 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 to deploys and manages instances on them. CC also manages the networking for the instances running on the Nodes under certain types of networking modes of Eucalyptus.We will have to delay such advance topics for a while!
CC communicates with CLC and NCs as a managed middle tier.
Features:
- Receive CLC requests to deploy instances
- Select NCs for deploying the instances on
- Control virtual network availability to the instances
- Audit the registered NCs and report accordingly to CLC
Walrus Storage Controller (WS3)
It provides a persistent and simple storage service. WS3 uses REST and SOAP APIs, which are compatible with S3 API.
Features:
- Store machine images
- Store snapshots
- Store and serve files using S3 API
It should be considered as a simple file storage system.
Storage Controller (SC)
It provides persistent block storage for the instances. SC is similar to the Elastic Block Storage service from Amazon Web Services.
Features:
- Creates and manages persistent block storage devices
- Creates snapshots of volumes
Cloud Controller (CLC)
CLC is the front end to the entire cloud infrastructure. It provides EC2/S3 compliant web services interface to the client tools. It also interacts with the rest of the components of the Eucalyptus infrastructure. CLC also provides a web interface for users to manage delegated aspects of the UEC infrastructure.
Features:
- Monitor resources of the cloud infrastructure. This includes hypervisor nodes and the cluster controllers that manage the hypervisor nodes.
- Resource arbitration
- Monitor running instances
CLC has a comprehensive knowledge of the state of the cloud with respect to availability and usage of resources primarily.
—————————————————————————————————————
For more details visit http://open.eucalyptus.com/book/export/html/4263
In the next article we will cover installation and configuration.
Trackbacks