Ubuntu 11.10 has some jagged edges and documentation isn't easy to locate, but Canonical is certainly dreaming big with this latest update, dubbed Oneiric (dreamy) Ocelot.
The dreamy part is in the fact that Canonical is brushing aside criticism over its recent move to replace Gnome with the new Unity interface, and is forging ahead with ambitious plans to take the Ubuntu open source desktop OS to the cloud, the server, the tablet and the smartphone.
We're starting to get used to Unity, and we found it works on many more display adapters and display types than the previous version, but the exact types that are compatible are still a moving target. In our testing, we couldn't find a machine that wasn't Unity compatible — including as a virtual machine on MacOS and Parallels. However, we wish that Canonical would publish a Unity compatibility list.
We were able to hack Unity into two tablets, an Android-based Motorola Xoom and a WebOS HP TouchPad, but it took a bit of work. We believe that Ubuntu is likely to be seen on commercially marketed tablets soon.
A quotient of formerly passionate Ubuntu users have expressed deep dismay over the Unity UI, although it's not that difficult to swap it out for the familiar Gnome UI-window/program manager.
To the server and smartphone
Ubuntu 11.10 features server support for the ARM family of processors. Canonical has an engineering department known as Ubuntu Core that ostensibly supports TI, Marvell and Freescale ARM, along with x86 families of processors.
While ARM is known for small, often low-power devices, ARM CPUs are also the crux of very high CPU density, low-power servers. Organisations like HP have announced, and SeaMicro/Dell are delivering, high-density ARM server platforms — albeit in the 32-bit world that somewhat limits potential performance.
Apple uses ARM-based CPUs, and while mainstream servers used in virtualisation platforms are CISC based — and ARM is a RISC processor — there is much interest in multi-CPU ARM platforms — even in smartphones. Canonical seems to be covering the roulette table.
To the cloud
Ubuntu 11.10 has replaced the Ubuntu Enterprise Cloud construct with Ubuntu Cloud Infrastructure. The UEC strategy has taken several rapid turns since our review of Ubuntu 10.04, and Canonical introduces more amalgamation of efforts identified by Ubuntu Orchestra.
The Ubuntu Orchestra project combines four efforts into one initiative. We found the results are good, but mercurial. Canonical personnel have described the effort as purposefully lightweight, rather than enterprise — meaning complex, by their description.
Orchestra's four components are a provisioning server, management server, logging server and monitoring server. The four components are designed to be the framework for bare metal server provisioning on a fleet scale. Compared to other Linux releases, there are any number of components missing, however, some of the infrastructure can be combined with Puppet (found first in Ubuntu 11.04), along with other bits and pieces.
Orchestra builds servers using PxE boot services, which finds DHCP and TFTP servers (both required) to get images, which in turn, have bits sent to them as metadata to uniquely configure, or configure like-type servers (think Apache/Tomcat web servers) or those using pre-seeded server setups.
The server wakes up, gets an address, summons a pre-configured "remote program load" from the TFTP server. The Cobbler package builds servers, and "racks" them. The main difficulty is security; TFTP is an insecure (at best) protocol, and much isolation must be performed on the network that provisions the servers. TFTP uses no passwords.
The server portion of Ubuntu has more cloud components, and some of them are renamed components found in earlier editions, updated nonetheless. Juju is such a product effort, formerly known as Ensemble. Juju is an infrastructure platform that allows developers to build rapidly assembled prototyping or production platforms after spending a bit of time building relationship configurations.
Juju sets up relationships in and among server types, a level above what Orchestra imparts, to tie server instances together into working systems consisting of inter-related processes, like web apps getting data from database servers or from caching servers.
Sewn together, one uses Juju to relate individual servers together in meaningful ways using Ubuntu instance infrastructure to build related systems. An example we tried took Apache servers, tied to cache and database servers as mentioned above. The drill is to easily add-in an additional cache-server that's been pre-related to how the web and database server works (credentials, IP addresses, and other metadata of the "fill-in-the-blanks" type).
The Juju-based repositories were also the crux of our test to see if we could use the combinations against Amazon's Web Service EC2 under OpenStack. We spun up instances after arming Juju with our AWS credentials, and conforming them to our security requirements (which also includes adding them to our CloudPassage barn.)
The process, once Juju had been setup, took just a few moments to seed from our own servers to AWS. We encountered no errors, although taking down our cloud actually took longer than building it.
Ubuntu 11.10 has something for everyone, and has a highly entrepreneurial flavour that will excite developers. Ubuntu now has several classes of potential users, and both the user editions and server editions are changing quickly. Some of the changes have a loose-and-fast feel to them, rather than the staid organisational production feel that Red Hat applies to RHEL.
We found that Canonical's Ubuntu, compared to Red Hat and Attachmate/SUSE, seems scrappier, and has a lot of energy behind it. There's also a certain frustration in having to chase around to find documentation and finding that projects had been renamed, but not necessarily re-focused.
There's a lot of muscularity in 11.10 that's been building for a while, and Canonical gives the feeling that it can turn its boat much more quickly than Red Hat, SUSE, or even Apple and Microsoft. While it may be true that Canonical can address trends more quickly, that energy can also be trying, and seemingly directionless, even when it's not.