LWN.net Logo

Ubuntu 9.10: the koala is facing the cloud

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

Software Center

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.

Cloud Store

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)

Ubuntu 9.10: the koala is facing the cloud

Posted Dec 3, 2009 15:30 UTC (Thu) by nix (subscriber, #2304) [Link]

[Ubuntu One] is ideal for people that have an Ubuntu netbook or laptop that they use regularly in their garden or on a terrace.
Not unless your connection to your ISP is a hell of a lot faster than mine it isn't (and if *that's* true, it's probably metered). For this application a simple wifi network and a frontend to rsync are surely preferable.

Where cloudy things, er, shine is the ability to sync possibly many systems to many other systems that are a lot further away than your garden, without needing to set up authorization between all the sources and all the targets. This doesn't really strike me as a terribly common use case, but then I don't even use gmail so I'm obviously stuck in the past with a bizarre desire to keep my private data private on systems I control. :)

one or more nodes (servers with a KVM hypervisor running virtual machines).
Given that, it's a shame that, in x86-64 Ubuntu 9.10, at least one of the video drivers normally best suited for KVM (vmware) carries out SSE2 operations (at least it's probably the vmware driver). It's quite entitled to do that (SSE2 is part of the x86-64 ABI), but KVM doesn't emulate SSE2 instructions yet, so kicking up an Ubuntu 9.10 instance leads to massive CPU consumption and logflooding with 'emulation failed' messages (thankfully ratelimited or there'd be hundreds of thousands of them a second).

Ubuntu 9.10: the koala is facing the cloud

Posted Dec 3, 2009 15:39 UTC (Thu) by johnflux (guest, #58833) [Link]

I just wish Kubuntu wasn't such a second class citizen. For the things listed, how do these fit in with Kubuntu?

Ubuntu 9.10: the koala is facing the cloud

Posted Dec 3, 2009 17:37 UTC (Thu) by rfunk (subscriber, #4054) [Link]

Agreed.

I just did a post-karmic update recently that somehow broke things so badly
that kdm wouldn't start -- no Kubuntu login screen. Yet gdm starts up just
fine. (Seems to match launchpad bug #485700, if anyone cares.) If Kubuntu
were a first-class citizen I doubt that would've happened.

Ubuntu 9.10: the koala is facing the cloud

Posted Dec 3, 2009 18:44 UTC (Thu) by zooko (subscriber, #2589) [Link]

*and* you can "sudo apt-get install tahoe-lafs". :-)

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds