With Ubuntu 12.04, Canonical has delivered a much improved product that spans desktops, servers and the cloud in a bid to become the cross-platform mainstream product that Apple's Mac OS might have been had Apple not abandoned the server market.
Dubbed Precise Pangolin (an anteater-like mammal), the latest version of Ubuntu sports a new feature called "machine as a service," or MaaS, which allows network admins to quickly distribute the operating system to desktops, servers or cloud resources.
Precise Pangolin reaches across many platforms, although not to IBM's Power processor-based server family. Few will grumble, we believe, as IBM's Power server family is statistically comparatively small. There are two basic ports for Ubuntu 12.04, a 32-bit and a 64-bit. There are also variants for 32-bit ARM processors.
Despite the ARM support, 12.04 is somewhat experimental on tablets, as OEM hardware makers are required to work directly with Canonical, much like Microsoft plans no retail-installable versions of Windows RT. Few Ubuntu ARM-based tablets have been seen in the wild and none were officially released at the time of our testing. Our port of Ubuntu onto a zombie HP tablet was as simple as the last time we tried it.
Unity interface evolves
The Unity interface, which Gnome users love to hate, has improved a step or two from when we last visited its updates on Ubuntu 11.04/11.10. Unity now strongly features Ubuntu One personal cloud resources, and we were only mildly miffed that it took four authentications to play a music sample from the Ubuntu One media store. It must install a proprietary Fraunhofer IIS MP3 license for the codec that translates MP3 digital files to audio output. That's unless you thought of that at initial installation; most won't, we believe, because they're not used to making choices of free vs. closed (yet financially free) choices at installation time.
Those running Ubuntu 10.04+ and Linux Mint 10+ will find that an upgrade installation isn't difficult. Just remember that if you're already joyously happy with your current user interface (especially Gnome), Unity will likely be installed right on top of that favored user interface if you're not careful; a fresh, bare-metal installation with subsequent restoration is recommended. But we feel Unity has evolved to the point where there's not much difference between a skinned Unity UI and one from KDE or Gnome.
Much care has been taken to retain compatibility with Debian, which is a conservative implementation of Linux, GNU and other applications. But that's where existing users won't complain. It's the installation of Canonical's Unity user interface that provides a radical change, and users of prior editions had flipped out. There's much less to loathe now; Unity performs well and supports two monitors, if the supporting hardware does.
Even more changes were found in Ubuntu server cloud support, which has seemingly waffled between support for Eucalyptus stacks, then Puppet and Chef, and now leans towards Juju, MaaS and OpenStack as its cloud-control infrastructure. Ubuntu is strongly intertwined in the OpenStack spec, and Ubuntu's 12.04 LTS version will have five years of Long Term Support, in contrast with prior LTS versions, which had two.
Nonscientific measurements of performance showed us that the 12.04 client has slightly better user experience graphics performance, and we can vouch for slightly faster disk performance. Ubuntu 12.04 uses the 188.8.131.52 Linux kernel, where power settings now work and depending on BIOS and machine support, power consumption can be tailored (where virtualisation isn't present) to a fine degree.
Upping Ubuntu Server
The server edition comes ready to distribute or replicate. Our initial downloaded ISO cut of the 12.04 Server edition started an initial installation of Precise Pangolin Server that booted in seconds to a screen allowing MaaS distribution. Juju, a package distributor and configuration app, then seeded the resulting server instances with pre-configured application payloads -- unless we distributed pre-configured server instances en MaaS -- so to speak.
The MaaS package selection creates an Ubuntu Server instance infrastructure that can then (somewhat rapidly) provision a master server to be used (via PxE boot or initial boot-time access to the MaaS server) to provision large quantities of servers. Building the master server is blissfully simple and several different master-type instances can be built, virtualized, and brought into play to distribute multiple servers via DHCP rapidly after the master server "cut" (actually replicable instance).
We chose from Ubuntu Server's initial installation menus to create a MAAS/MaaS server, then chose to create an optional encrypted home directory. We were asked if we wanted to partition the disk and set up optional LVM (Linux Virtual Machine infrastructure) or optional encrypted LVM infrastructure or just do the base setup manually. If you don't need the containers that LVM provides, or have other plans, skip LVM.
We were then given the choice of the encryption seed (with a verification) to use. There is no recovery or decryption without the chosen seed, we found. You can choose insanely long seeds; the longer the seed, the tougher the encryption.
We then set up an HTTP proxy so that we could allow MaaS system controlled access to internal or external network resources. We could then tell the MaaS system how to get updates automatically, manage it externally (or with the Landscape application Canonical prefers), or prevent updates from the Internet or proxy source we'd entered.
Sparse instances could be brought up in as little as a minute, 20 virtualized instances at a time, and we weren't pushing or optimizing. Better times could be achieved with faster CPUs, more optimized (e.g. smaller payload) instances, and by running multiple concurrent MaaS servers.
Initial product loads using MaaS then required a boatload of automated updates, something we find frustrating with Canonical. Each version has an initial load, and then, even on release day, has a truckload of updates needed to bring it current, which all must be downloaded then installed. This means releases aren't really releases, they're just releases of baseline code that mandate (sometimes quite lengthy) updates after initial installations before an actual in-house "cut" or version freeze that was current as of the release date can be made. It's like buying an encyclopedia, but for 1994.
The upside to the MaaS system is that administrators can "version" instances after the initial finger-drumming update exercise, then have a patch-level confidence among the MaaS master server versions. Waltzing around the update step would prove desirable when many virtualised instances must be brought up for non-persistent use, ostensibly with Juju-serviced preconfigured application payloads.
Canonical has placed large emphasis on Ubuntu's LVM compatibility, but also is touted to work admirably on Xen, Citrix XenServer and VMware, and is said to be newly optimised for Microsoft's Hyper-V. The optimisation for working with hypervisors generally means special, para-virtualized device drivers enabled between a virtualised operating system instance and the hypervisor - which sits logically between the OS instance and the bare metal that's being virtualised. Tests performed on an HP ProLiant DL580 16-core server showed that Ubuntu performance with SPECjbb was essentially the same, with or without Microsoft's Hyper-V 2.1 hypervisor, so the optimizations were judged very good.
Ubuntu 12.04 features many iterative improvements. Canonical is sticking with Unity as its UI, but we've seen Linux Mint and others "improving" Ubuntu editions for comparative "old school" Ubuntu users. The issue is rapidly becoming moot as Canonical assuages even hardcore Gnome and KDE users. And like Microsoft and Apple, the UI "branding" becomes important across targeted devices.
But we liked the server updates even more, and if you enjoy cloud, Ubuntu is the one to beat. This fact is likely to become even stronger as Ubuntu has made replicating and installing Ubuntu easier still, this allowing rapid "why not?" questions to be easily answered.