Introduction to Private Cloud Computing with Ubuntu Enterprise Cloud

In this article I will introduce the reader to private cloud computing while discussing 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 aspects that sets private clouds apart from a commercial public cloud is where the infrastructure is implemented and how it is 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 a 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 a public cloud. It provides an Amazon EC2 compatible computing 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.

architecture diagram

Eucalyptus Component Model [1].

Component Model

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. It interacts with the OS and the hypervisor running on the node, while on the other hand it also interacts with the Cluster Controller (CC). It 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.

Salient features are:

  • 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 manage 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! It communicates with CLC and NCs as a managed middle tier.

Salient features are:

  • 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.

Salient features are:

  • 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.

Salient features are:

  • 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.

Salient features are:

  • 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.

Here we have pointed out the points that you need to tackle to get the UEC experiment completed. For more details please visit Ubuntu UEC Community and Beginners Guide to UEC.

Shahbaz Khan is a research and development engineer in the field of usage control and trusted computing for distributed applications. His research and development interests include evolving model driven system and security engineering focusing mobile platforms and service oriented architectures. He has a masters in Computer Networks and Communication and he is serving Security Engieering Research Group, IM|Sciences, Peshawar for the past 3 years as a research engineer. He maintains his web blog at http://shazkhan.wordpress.com

Leave a comment

2 Comments.

  1. sir i am new to cloud computing i just wana know that can we run microsoft azure application on eucalyptus kindly help me in this regard

  2. Shaz, this one’s for you.

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">