Exploring Ubuntu cloud tools


Cloud computing, promising manageable, quickly deployed, virtual machines in large networks, is so appealing in a world where everyone is trying to cut costs. Ubuntu Enterprise Cloud Services (UEC) is Canonical's entry into the cloud market.

When Canonical released Ubuntu 9.04 a couple or years ago, they took their first step into the rapidly growing business of cloud computing. As I write, Ubuntu's Natty Narwhal, release 11.04 is just around the corner, and Ubuntu Enterprise Cloud Services (UEC) is an increasingly important and maturing part of Canonical's business.

OpenStack Developments

With Ubuntu 11.04 "Natty Narwhal," Canonical will be including the latest OpenStack cloud management software in its repositories. This has led to speculation by some that Canonical is abandoning Eucalyptus in favor of OpenStack, the RackSpace/NNASA project that has been rapidly growing in popularity. It's not that unusual for Ubuntu, or other distributions for that matter, to include and support new and promising technologies in their releases and this is true with Ubuntu and OpenStack.

At this time, and certainly for the near future, Ubuntu is still very much behind Eucalyptus Systems, their partner in Ubuntu Enterprise Cloud. OpenStack is a newer and certainly an exciting product, but Eucalyptus, whose APIs are built on Amazon EC2 (and soon, EC3), is more mature. Indeed, Eucalyptus tools are used by OpenStack as well. Trying to decide when, or if, Ubuntu Enterprise Cloud will choose to align itself with OpenStack rather than Eucalyptus is pure speculation and anybody's guess. My guess is that Canonical likely will offer both.

At the core of UEC is the Eucalyptus cloud computing framework from Eucalyptus Systems, an open source implementation of the Amazon EC2 API (but see the "OpenStack Developments" box). Amazon's EC2 continues to be one of the most popular cloud computing services; consequently, Ubuntu Enterprise Cloud and Eucalyptus play well with EC2 and can take advantage of Amazon's resources as well. I mention the latter because Canonical and their partner Eucalyptus, are encouraging the implementation and management of private clouds, allowing companies to use resources that may be sitting idle, thereby saving money on hardware and additional physical resources. When needed, however, your private cloud can reach out and grow into Amazon's public cloud.

The name "Eucalyptus" is an acronym for Elastic Utility Computing Architecture Linking Your Programs To Useful Systems – possibly one of the longest acronyms in an industry that loves acronyms. Eucalyptus cloud services works with both the KVM and Xen virtualization frameworks, but since Ubuntu supports KVM, I'll concentrate on this virtualization option in my examples.

Ubuntu Enterprise Cloud is a set of management tools (created by their partner, Eucalyptus Systems) that let you view all those bits of hardware as a single set of resources. Eucalyptus knows where to deploy virtual machines in this set of resources using a cluster controller (a cluster is a collection of machines). The cloud "knows" about node-level resources, and the node controllers (running on the machines that make up the cluster) report this information. Eucalyptus is about rapid, and relatively pain free, deployment and management of virtual machines in your private cloud.

Cloud Computing Explained

A cloud is just a fancy word for somebody else's network or network resources. Those resources generally refer to all the servers (or hardware) that an organization owns. That means processors, memory, and so on. Of particular importance, if you're going to deploy virtual machines, is disk space. Your network might not be on par with Google or Amazon, but many organizations have plenty of extra hardware and spare CPU cycles. Hence, the interest in private clouds.

Generally two types of people use computing resources. Users don't care where all this magic takes place, so long as they can do their work without having to wait on the machine. Admins care deeply about where these virtual machines live, and, of course, they probably want individual node control.

Getting Started

Your private cloud, a la Ubuntu Enterprise Cloud, consists of at least one master front-end system and one or more clients – or nodes, if you prefer.

To make all this work, you need a few different packages: eucalyptus-cloud, eucalyptus-cc, and eucalyptus-nc. Each client machine, or node, needs only the last package. To install the required packages on the front-end controller, select the packages in Synaptic (Figure 1) or execute:

apt- get install eucalyptus- cloud eucalyptus- cc eucalyptus- walrus eucalyptus- sc
Figure 1: Seach on "eucalyptus" in Synaptic.

Although the additional packages here are not necessary for a basic installation, the eucalyptus-walrus and eucalyptus-sc packages provide Amazon S3-like network storage services. Synaptic reveals a number of other packages to expand Eucalyptus as well.

A great many supporting prerequisite packages will be installed, too. As the packages install, you may be asked one or more questions regarding configuration. One of these asks that you configure Postfix for mail delivery (use internet delivery). The next question, from eucalyptus-sc, the storage controller component, asks you to provide a name for the cluster on this machine. The default is cluster1.

You'll also be asked to specify a range of IP addresses for the virtual machines on this network. For example, you might enter

Buy ADMIN Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus