December 2, 2009
This article was contributed by Koen Vervloesem
Ubuntu 9.10, called Karmic Koala, brings a lot of small improvements and
a couple of bigger features. GRUB 2 has become the default bootloader in Ubuntu
9.10, at least on a fresh install. Ext4 also got a promotion: it is the
default file system now. The audio preferences give access now to the
advanced possibilities of PulseAudio, such as an audio volume per
application. And then there are prominent new applications like Ubuntu
Software Center and Ubuntu One. But most of all, the distribution has
shifted its focus to cloud computing: Eucalyptus has grown to maturity.
An encrypted home directory
The Ubiquity installer doesn't show much difference between Karmic and
Jaunty, the previous release of Ubuntu. This is a sign of the maturity of
Ubiquity, which is one of the most user-friendly operating system
installers. But if we look more closely, there are some differences in the
details. For example, in one of the last steps, users can enable an option
to encrypt their home directory with their user password. This evolved from
the Encrypted
Private Directory feature in Ubuntu 8.10, which introduced an encrypted
directory ~/Private within a user's home directory using eCryptfs. Ubuntu 9.04 extended
this feature to cover the entire home directory, but it was only offered as
an option in the alternate install CD.
As of Ubuntu 9.10, the option is available in the normal desktop
installation as part of the user setup step. During a desktop session, the
encryption and decryption of the user's home directory works almost
completely transparently. However, there are a few caveats. If the user's
encrypted home directory is not already mounted, then ssh public key
authentication, cron jobs, and other programs that require access to data in
the home directory will fail. Also, the encrypted file system does not yet
work on top of a remote network file system such as SSHFS, NFS, or
Samba.
A new software installer
A more visible "new kid in town" is Ubuntu Software Center,
which replaces the "Add/Remove Applications" application to locate, install,
and remove applications. Ubuntu Software Center introduces a new intuitive
interface which, despite its simplicity, is already better than the
previous one in a number of ways. For example, the user doesn't have to
tick an application and click on Apply anymore, but is able to install
an application in one click. Furthermore, while an application is
installing, the user can continue browsing available software and select
other applications for installation, which wasn't possible with
"Add/Remove Applications".
Canonical's aim is to extend the functionality of Ubuntu Software Center
gradually. The roadmap mentions
some key goals. In Ubuntu 10.04 LTS, Software Center should be a viable
alternative to Synaptic, allowing the same fine-grained package control and
handling of error cases. Ubuntu 10.10 will provide the ability to purchase
software from within Software Center and the ability to add PPAs (Personal
Package Archives with user-contributed software packages). Ubuntu 11.04
will fine-tune the possibilities, for example with specialized interfaces
for browsing and installing fonts, screen savers, or other particular
classes of packages.
Empathy
After years of discussion, the Ubuntu developers have decided to change
the default instant messaging client. Users of Ubuntu 9.10 will find that
Pidgin has been replaced by Empathy. This application has been
the official IM client of the GNOME desktop since version 2.24, and is
built upon Telepathy,
a universal messaging platform. Empathy supports all messaging protocols
that Telepathy supports, such as MSN, Jabber, AIM, Yahoo!, IRC, etc. Even
voice and video chats via Google Talk are possible.
The downside is that Empathy is still not on par with Pidgin with
respect to functionality. While Pidgin offers a lot of preferences, options,
and plug-ins, Empathy's preferences are rather spartan. The user just
cannot personalize a lot in Ubuntu's new default IM client. For example, if
someone sends a message, the notification icon at the right of the top
GNOME panel shows an icon, on which the user has to click to see the window
with the message. There is no possibility to have this message window pop
up automatically on an incoming message. That may be fine for the average
user that just wants to chat occasionally, but your author will stay with
Pidgin for now.
Ubuntu One
With the Ubuntu One web service,
Canonical has added the possibility to synchronize different Ubuntu
computers. This is ideal for people that have an Ubuntu netbook or laptop
that they use regularly in their garden or on a terrace. They can
synchronize their mobile Ubuntu environment with their Ubuntu desktop at
home. The first time a user launches Ubuntu One in the GNOME menu
"Applications / Internet", the user gets referred to the Launchpad web site
to create a free account. Then the computer gets added to the Ubuntu One
account.
The free account gives access to 2 GB storage space on the Ubuntu One
server (with proprietary server side software). By paying a monthly fee of
$10, this is extended to 50 GB. After registration, an Ubuntu One applet
appears in the top GNOME panel and Nautilus shows a directory Ubuntu One
inside the home directory. Every file transferred to the Ubuntu One
directory gets uploaded transparently to the Ubuntu One servers and
synchronized with other Ubuntu computers added to the account. All in all,
this seems to work, but there are alternatives that cost the same and
provide the same functionality, while also supporting other platforms, such
as Dropbox (though its server side
is also closed source). With a bit of effort,
Ubuntu One also synchronizes Tomboy notes, Evolution contacts, and Firefox
bookmarks. Synchronization of these types of data is based on the open
source document-oriented database CouchDB.
Ubuntu Enterprise Cloud
In Ubuntu 9.04 (Jaunty Jackalope), Canonical started focusing on cloud
computing. For this purpose, the company collaborated with the Eucalyptus
project, which brought an Amazon EC2-style private cloud within the reach
of every Ubuntu user. Eucalyptus made it possible to investigate cloud
possibilities inside a company, without the need to deploy the applications
on external servers at Amazon. Half a year ago, we took a look at the development of Eucalyptus and
how to create a private cloud in Ubuntu 9.04.
However, Eucalyptus was still a technology preview in Jaunty and it had
some rough edges. Your author set up a private cloud with Eucalyptus on
Jaunty successfully, but it was a rather laborious and not a trivial
task. With Karmic Koala, Eucalyptus has been integrated neatly into the
distribution and has received the name Ubuntu Enterprise Cloud
(UEC). Users can even install Ubuntu Enterprise Cloud machines directly
from the server CD with the option "Install Ubuntu Enterprise
Cloud" in the boot menu. This install has to be done on at least two
systems: a cluster (the master server that implements the virtual network
and the EC2 and S3 APIs) and one or more nodes (servers with a KVM
hypervisor running virtual machines). The server install asks the user
about the type of UEC installation. When the cluster is already installed,
the installer on the node should detect the running cluster and select
"Node" as UEC installation type automatically. This is much more
user-friendly than before.
While users had to build their own images for Jaunty, Ubuntu 9.10
includes the first official release of Ubuntu Server
images for UEC. In addition, these images also run on Amazon EC2 and
have been published to Amazon EC2, where they can be used immediately with
no need to download anything. Canonical has even opened a "Cloud
Store". From within the web interface of a UEC cluster, the administrator
can check a list of official images that Canonical makes available to run
on Ubuntu Enterprise Cloud. At the moment, this is limited to
32-bit and 64-bit versions of Ubuntu 9.10 RC Server and a MediaWiki Demo
Appliance. An image can be downloaded and installed right from within the
web interface.
The growing Eucalyptus tree
Eucalyptus Systems, the company
that the Eucalyptus developers founded right after the release of Ubuntu
9.04, has been working closely with Canonical for the development of Ubuntu
Enterprise Cloud. As UEC layers Ubuntu-specific technologies atop the
generic Eucalyptus cloud platform, much of the collaboration from the part
of Eucalyptus Systems focused on helping members of the Canonical UEC
development team understand the mechanics of the system. Eucalyptus Systems
CTO Rich Wolski gives an example:
For Karmic Koala, one of the goals Canonical had was
to improve the "user experience" for the system administrator who installs
Eucalyptus. Because Eucalyptus consists of several cooperating web services
that must be able to authenticate each other when they exchange messages,
building an automated installer requires a fairly detailed understanding of
how the entire platform bootstraps. Moreover, at release 1.6, we have made
it possible to run the internal services on separate machines, while the
previous release 1.5.2 required some components to be co-located. We worked
closely with Canonical to help them develop the UEC installer for
Eucalyptus, particularly with respect to the registration protocol we added
at 1.6 for distributed installation.
However, Eucalyptus Systems doesn't shut out other distributions. They
have been working with the Debian community recently to get Eucalyptus into
their next release "Squeeze" (6.0). They have also spoken with some of the
people
associated with openSUSE, Wolski said, adding:
We also get a lot of positive feedback from CentOS
users, but we haven't yet made contact with someone involved intimately
with the distribution yet, although we would like to do so. In general, we
would like to work as closely as we can with all of the distributions. Our
intention is not to foist Eucalyptus on them, but rather to continue to
package for all of the major distributions, to invite collaboration from
all of them, and to engage where it is offered.
External contributions
Earlier this year Wolski said that the developers
were restricting external contributions to bug fixes, because they wanted
to keep the code base stable in that early phase of development. Because
the project's wiki still mentions this
restriction, your author asked
Wolski when they would accept more external contributions. He answered that
they are not quite there, but almost:
We would like to accept contributions, but we have
been releasing software so frequently that by the time a contribution has
been vetted, the code it references is either deprecated or obsolete
internally. We certainly do not wish to waste the community's resources
working on obsolete code. With this background in mind, we finished the
Amazon API in Eucalyptus 1.6.1, which came out in May, and we plan to do a
bug fix release early next year. After this release, it is our intention to
move to a six-month release cycle and to accept core contributions.
Some people
have criticized Eucalyptus for a perceived unwillingness to work with
outsiders, unless they are Ubuntu. However, Wolski, who stresses that he is
speaking for himself and not for the project, strongly objects to this
criticism:
We do work with outsiders constantly. A quick check
of the discussion forum shows something like 5100 postings to the
support
category. These are not postings between Eucalyptus "insiders" but
rather our attempt to work with "outsiders" no matter who they are. We also
work through IRC, again to try and work with the open source community
regardless of its origin or affiliation. In fact, because we have been
moving the code base ahead so rapidly, and because we can't accept feature
contributions to the core, and most bug fixes are obsolete before we get
them, I believe we need to support the code as aggressively as possible by
working with "outsiders" through these support channels. Thus, from my
perspective, we take our obligations to the open source community very
seriously, and we spend a great deal of time thinking about and working
with "outsiders" every day.
Canonical's future in the cloud
It's clear that Ubuntu Enterprise Cloud is a central feature in the
Server Edition of Karmic Koala. Beginning with this release, Canonical adds
consultancy, online training, support, and management tools. So there's no
shortage of professional services for people that want to implement Ubuntu
Enterprise Cloud in their company. There are even commercial images on the
roadmap for the Cloud Store. This whole cloud ecosystem is one way in which
Canonical wants to monetize Ubuntu. However, the basics can all be done for
free. Ubuntu One has the same business model: users have a basic storage
capacity for free, and can pay for more.
Half a year ago, your author wrote "Canonical wants to do for
cloud computing just the same thing it has done with its desktop operating
system: make it work out-of-the-box and make it easy to deploy.",
and expressed the hope that the technology would be mature in Ubuntu
9.10. With Ubuntu Enterprise Cloud, this hope is definitely fulfilled: it
couldn't be easier to install. And thanks to the excellent online documentation, your
author only needed a couple of hours to run an experiment with his own
private mini-cloud with two Ubuntu machines.
(
Log in to post comments)