Ubuntu 11.04 (nicknamed Natty Narwhal) marks a decided change in direction for the Linux-based operating system. The biggest change is that Canonical, the organizer of Ubuntu, is replacing the Gnome/KDE desktop environment with a new user interface called Unity.
This is a market response by Canonical to the perceived superiority of the MacOS and Windows 7 user interfaces. While Linux has always been a “what’s under the hood” rather than “sleek styling” operating system, Unity immediately draws comparisons to Windows 7 and MacOS.
You might like it and you might hate it, but Unity provokes. It’s a radical departure for a Linux desktop distribution to eschew both Gnome and the KDE desktop environment — although both are available for those that must use them for application or hardware compatibility reasons.
Canonical also changes direction with the latest Ubuntu server version, although not quite as radically. Several important FOSS (free and open source software) components have been added or changed, and with them, the tone and direction of Canonical’s server operating system towards clusters and cloud use.
Canonical also added AppArmor (which we first reviewed in SUSE Linux) to its server editions, which helps bring Ubuntu server into wider roles where application sandboxing is needed.
The Unity desktop is a beautiful, if occasionally frustrating, change from the old default Gnome environment. Unity comes in two- and three-dimensional versions. The 3D version is more beautiful, and requires advanced resources — not any old slug laptop or VM will do.
The Unity 2D version is the backstop and it’s easy on the eyes after one gets over figuring it out. On several machines that we tested, drivers or the Unity2D version itself had to be obtained from repositories. Gnome is used if hardware graphics display drivers can’t be found.
The features of Unity combine both MacOS and Windows 7 user interface-like layout. There’s a vertical task management panel dubbed “the launcher” that’s similar to the MacOS dock. The application iconography represents applications, but not instances of the applications (which are re-instantiated along the launcher in a list).
Unity also searches and finds files and internal data quickly, and worked with many applications — the default launcher supports the recently updated LibreOffice suite — but the menu bar does not.
There is also a global menu bar very similar to MacOS global menu bar placed across the top of the screen area. Its context will change depending on what app we used.
We also saw non-production (the dreaded “advanced look”) primitives for Unity-based touch pad controls, including multi-touch — which seems poised towards a pad or tablet device. We can’t comment on its potential usefulness, only its potential competitiveness. The Unity 3D user interface is most preferred, and in future editions might give Apple a run for its user interface money. Full Linux with Unity on an advanced tablet might give Android a competitor, too.
As LibreOffice 3.3.2 is included as the default “office app suite,” Ubuntu changed a few accessory components, as well. RhythmBox has been replaced by Banshee. Firefox 4.0 is included. All of these work with Unity’s window arrangement, except as noted.
Server, cloud and images
The server editions include many components that poise Ubuntu Server towards cloud environments, largely blurring server differentiations into cloud and VM use profiles. Ubuntu Server focuses on multiple instance deployment, use, and management as a virtual machine, or member of a larger set of server instances.
After we downloaded our review copies of Ubuntu Server and Enterprise Cloud versions of 11.04, Canonical announced that it’s going to move away from its primary cloud management toolkit, OpenEucalyptus, which we enjoyed using in our first look in Ubuntu Enterprise Cloud (UEC) in the Ubuntu 10.04 release.
OpenStack, a collection of applications we’ve seen before, will be the direction that Ubuntu supports in the future. We had decided difficulties with the Eucalyptus commercial versions for cloud control and openEucalyptus will continue to be supported while OpenStack is ramped up.
OpenStack is a pure FOSS set of “non-denominational” (meaning hypervisor agnostic) app suites sanctioned by NASA (among others) to manage cloud resources, be they internal or externally used.
OpenStack competes with the Open Virtualization Alliance. On Canonical’s side in OpenStack are NASA, Rackspace, Dell, Cisco, Citrix, and other organizations promising FOSS code and components. On the Open Virtualization Alliance side are Attachmate/Novell/SUSE, Red Hat, Intel, IBM, HP, BMC, Eucalyptus and others — some of who are FOSS and not FOSS purveyors.
UEC cloud images can be comprised of instances that are containers under a Linux kernel paravirtualization feature known as LXC. The containerized images can run at the speed of a kernel module, rather than as an application; there is no traditional Unix “fork and execute” overhead when applications/instances are used in this way.
While it’s seemingly dangerous, properly constructed, modules have less overhead and have a decided speed advantage — at the cost of being an essential root kit as processes run inside the kernel essentially as root — although the processes are in a “jail”.
Along with OpenStack comes another server management component, the MCollective. The MCollective is a framework that controls parallel task execution through a communications infrastructure that’s highly extensible. Using Ruby, large numbers of systems can be set within the framework to become members of a broadcast domain.
MCollective-controlled servers listen for instructions, and execute via a server-side message filtration system. It reminded us of a legitimate “bot” control system, but with open programming features. The MCollective can do things like provisioning large groups of servers almost simultaneously, start them, send monitoring information, all via Ruby scripts. We were fascinated.
The Ubuntu 11.04 server load also includes cobbler, an application that makes deploying multiple Ubuntu (or other Linux) instances simpler. It can be used for virtual machines over hypervisor structures using KVM, Xen, qemu, or physical machines. Cobbler is similar to a combination of components used to build servers, like PXE boot, dhcp, DNS, all in one deployment package. Cobbler can be combined with “kick-start” files to have a fully automated install complete with packages, pre-configured settings, all ready to roll.
The cloud-init package is updated and it handles early initialization cloud VM instances for Amazon UEC or EC2 image use. Cloud-init wraps metadata information for cloud instance deployment including things like establishing the VM’s default locale, hostname, SSH key generation, mounting points, and other characteristics.
Other server component changes in 11.04 include PowerNap, which uses new methods to reduce power consumption, but also to report on other hardware states (CPU load, activity, and process I/O), and network activity (wake-on-LAN settings, and specific port I/O activity).
Overall, the server and virtualization/cloud components are becoming blurred and server features are now highly poised towards multiple instance use — whether on physical machines, or as virtualized or cloud-resident instances. In turn, the instances might be on an internal cloud or in a third-party hosted cloud — especially Amazon’s.
Canonical has pushed Ubuntu along, and teased us with potential tablet offerings. In the server space, where things are more serious, Ubuntu now deploys more quickly and sensibly into a variety of virtualized instances and joins one of two prominent cloud organizational camps. Ubuntu wants to be taken seriously for cloud use, but also for desktop use.