With a lack of any license fees and a focus on cloud features from its primary sponsor, Canonical, Ubuntu has flourished in the cloud, becoming a popular guest operating system on Amazon EC2 and other infrastructure-as-a-service options.
While Linux-based operating system Ubuntu has been closely associated with
the desktop, the project's server variant has grown more prominent in recent
years, particularly in the context of cloud computing.
With a lack of any license fees and a focus on cloud features from its
primary sponsor, Canonical, Ubuntu has flourished in the cloud, becoming a
popular guest operating system on Amazon EC2 and other
infrastructure-as-a-service (IaaS) options, and the reference OS of choice for
the OpenStack and Cloud Foundry projects.
Based on my tests of Ubuntu Server 11.10, the project's cloud-attractiveness
shows no sign of abating. The new version, which shipped alongside its
desktop-oriented sibling this week, is packed with tools for building,
orchestrating and running on clouds, both private and public.
Version 11.10, also known as Oneiric Ocelot, is one of the project's
fast-moving, short-support-term releases, and includes more than a few rough
edges in its new features, which I hope to see smoothed out for the next Long Term
Support (LTS) edition of Ubuntu, set to arrive in the spring.
In particular, I found lacking the documentation for 11.10's key new
features, such as for deploying OpenStack private clouds. For now, most Ubuntu
private-cloud documentation refers to the now-deprecated Ubuntu Enterprise
Cloud feature based on Eucalyptus' open-source EC2 workalike.
With that said, Ubuntu Server 11.10 has me looking forward to the spring's
LTS version, and I've been impressed enough with the current state of its
management tools to keep an instance of it running in our lab to help with
server and middleware installs for our tests. For production purposes, I
recommend sticking with the previous LTS edition of Ubuntu Server, version
Ubuntu Server 11.10 is available for free download here
, in separate versions tailored
for the x86 and x86-64 processor architectures.
Ubuntu Server in the Lab
I tested Ubuntu Server 11.10 on a white-box server powered by AMD
Opteron 4000 series processors on Amazon EC2 and on a handful of VirtualBox
virtual machines (VMs) running on my desktop. I used that handful of VMs to
test Ubuntu Server's automatable network-installation toolkit, Orchestra,
following along with the tutorial here
Orchestra brings together a few pre-existing open-source projects, chiefly
the Cobbler installation and Nagios monitoring servers, to provide an automated
way of deploying Ubuntu servers on bare metal or VMs. Ubuntu wraps these
components into a single install command; I was able, in short order, to bring
up an Orchestra server and install a managed Ubuntu instance via PXE boot.
Next, I turned my new Orchestra server toward a pairing with a second new
system deployment feature in Ubuntu Server, JuJu, a facility aimed at
streamlining the process of deploying multi-component workloads. For instance,
a Wordpress blogging instance is comprised of database and Web server
components. JuJu enables administrators to store the deployment steps for
particular components for fast, consistent reuse in recipes called Charms.
The process for deploying services with JuJu call to mind the procedures for
using a platform as a service (PaaS). Deploying Wordpress, for instance,
involves deploying database and Wordpress application components, and then
adding a relation between them.
I set up JuJu environments for Amazon EC2 and for the Orchestra server I'd
set up. The EC2 process is better-documented (and simpler overall, as Amazon
handles the VM provisioning parts of the process), but after spending a few
hours debugging my Orchestra-JuJu installation, I was able to deploy services
on that foundation as well.
As it stands now, JuJu is a fairly server-hungry affair-a simple Wordpress
installation requires three servers: one for the MySQL database, another for
the Web server and a third for controlling the JuJu environment. Work is
underway to use JuJu alongside the Linux Container (LXC) functionality built
into Ubuntu Server. LXC, which is similar to the Solaris Containers feature,
provides a way to divvy up a single VM or physical machine among OS instances
that are lighter-weight than a full VM.
Also on the cloud computing track, I tested Ubuntu Server's OpenStack
private cloud functionality by installing a single-node OpenStack deployment in
our lab. The install went smoothly, although not quite as smoothly as with my
OpenStack tests with the purpose-built StackOps distribution earlier this year.
I missed the StackOps configuration helper, particularly when setting up the
networking for my private cloud.
In my search for OpenStack on Ubuntu Server documentation, I noticed
references both to installing OpenStack via JuJu and via Orchestra. In addition
to the fuller documentation I'd like to see in place before the Spring LTS
release of Ubuntu Server, I hope to see a simpler OpenStack installation option
made available. Ubuntu's earlier Eucalyptus-based effort benefited from an
install disc menu option for spinning up a new cloud-it'd be great to see a
similar option for OpenStack.
The most mature element of the Ubuntu Server cloud-computing feature list
involves the product's suitability as a guest OS for cloud or virtual
environments. For Amazon EC2 users, there's a handy AMI
locator for finding Ubuntu images in the version and regional zone one desires,
and the cloud images available here
within most virtualization platforms.
Ubuntu Server is also the reference OS for VMware's Cloud Foundry project,
and the client packages required for using Cloud Foundry are now available in
the 11.10 repositories. The server packages for Cloud Foundry haven't yet made
their way into the release's official repositories but are available in a
Personal Package Archive (PPA) here