Canonical is making a serious run at the cloud, client, server and smartphone markets
Ubuntu is moving into the rarified class of operating systems that cover x86/x64 clients and servers, ARM-based tablets/smartphones, and commodity cloud instances. Meaning that it’s taking on everybody from Microsoft to Red Hat to Apple and Google.
On the cloud front, Canonical’s announced compatibility with OpenStack APIs for both internal, Ubuntu-hosted or external clouds speaks to Canonical’s attempts to make Ubuntu instances a default choice. (Watch a slideshow version of this story.)
On the client side, Ubuntu’s Unity GUI starts to go places where Ubuntu-derivative/associated distros like Linux Mint cannot: onto smartphones and tablets. It took pains for us to obtain a smartphone that would run Ubuntu 13.10, but the Nexus 4 we used is essentially identical in functionality to installations we put on notebooks and virtual machines.
The server version is targeting enterprise scale-out as well as scale-up implementations. Ubuntu server editions are still Debian with Canonical clothing, but thanks to attention paid to hypervisor compatibility and leadership in both the OpenStack compatibility and Amazon Web Services EC2 worlds, 13.10 Server wants to rock rapid rollout and play everywhere, with every hypervisor. That includes stacking application instances inside of itself for what Canonical calls “compactness”.
+ ALSO ON NETWORK WORLD Ubuntu 13.10: The good, the bad and the ugly +
It works, and there are aids to rolling out 13.10. But the stability of OpenStack will be a target for criticism as various vendors tilt and mangle OpenStack towards their own pursuits and goals.
Ubuntu 13.10 client
Dubbed Saucy Salamander, the 13.10 client has changed very little from the previous version, although the GUI plumbing underneath is in transition. This may be the last version of Unity that uses X.org underpinnings, as Canonical transitions to the windowing/GUI system Mir and its X.org-Mir translator.
The support life for this OS is only nine months and the next version, 14.04, will be a five-year supported version that might contain the debut of XMir and Mir — which would be somewhat radical for Canonical in an Long Term Support release.
The Ubuntu Dash dashboard has been upgraded to allow opt-out searches through the Ubuntu One cloud storage service. Queries sent when opted-in are sent to Ubuntu One, and Canonical serves as a proxy information broker among the current 50-plus third-party providers, listed here, sending the results back to the user. Call it: Answers-As-A-Service, or AaaS.
On one hand, this allows searches across numerous providers, and hopefully, the Canonical parsing engines are smart enough to pick suitable answer-providers from among the third-party supporters. This also means that as Canonical ostensibly anonymizes user information and privacy policy prevents Big Data ad engines from coming into play. This will please privacy advocates.
The other hand is that Canonical does store the query and account information associated with the search transactions by Ubuntu One accounts. This information is stored and can be the subject of a subpoena or other order, hence possibly revealing user/query information — to the chagrin of privacy policies and mandates.
The Dash update, however, is deceptively handy. Yes, Amazon is featured prominently in searches for products. A sampling of various queries was enlightening, and OCD query searchers will become rapidly addicted to the amount and variety of results, when using the uprated Dash. It’s perhaps the key secret sauce that makes this edition useful.
Inside this version are updates of the Linux kernel (3.11), Firefox (24), and when we tried to update SAMBA 4.04, it cratered the instance, even though a prior version was installed. The second time was a charm.
Ubuntu Server 13.10
Through installation, we saw no real server changes on the surface. We could choose to install Open SSH, DNS, LAMP, Mail, Print, SAMBA, Tomcat, and/or virtual machine hosts or add a Postgre database. Or our own manual package selection from the installation menu. We tried various combinations in several instances.
Oddly, Canonical still packages MySQL as its default LAMP database, where many in the industry have gone to MariaSQL, a fork of MySQL. Perhaps it’s been retained for compatibility sake — and the fact that Oracle can be hired to make it work.
Part of the reason we like Ubuntu Server 13.10 is the ability to use Juju to spawn app instances into Linux Containers/LXC. Our problem with this is that LXC isn’t due to go to production (a 1.0 version) until February of 2014. If you’re adventurous, and we were, it’s possible to use a Juju charm to deploy applications into containers that are similar to Oracle/Sun’s original idea of a container — with a few additions, such as a bridge with network address translation and unique IP addresses (only IPv4 for now), and other walled-instances that remind us of how SELinux and other neo-virtualization systems can place significant walls around app instances within servers.
The LXC components start with a shared bridge, and several other adaptations that define kernel name space, and kernel addressing — but not those found in full bare-metal hypervisors, rather, the kind championed by Parallels in their Virtuozzo kernel-sharing scheme. Instances aren’t necessarily unique, and they’re not as simple as chroot, which redefines user space for partitioning an application.
Prior to 13.10, Juju’s behavior was to dutifully launch applications into their own instance, which was fast, but wasn’t very efficient, and made a lot of revenue for cloud providers, as they often charge by the instance. It’s possible, using the pre-production LXC method, to launch apps into their own containers, and provision the containers on the fly with comparatively simple commands. But this is alpha code, and is still experimental in nature, rather than more mature products whose rules and qualities are comparatively well known.
Ubuntu
The LXC setup contains templates that can be used, although some are experimental. We chose to boot a simple application (a WordStar-like text editor) into an AppArmor shell. SELinux barriers and constructs are also supported. We set up an LXC bridge, provisioned it, then stuffed the application inside the container. It takes about 10 lines of code from initial start until the app is deployed, all of which can be built into a script with arguments to provision many containers simultaneously, much as the popular Puppet instance controller product provisions OS instances through a communications bus. Everything can be setup to boot at once, by dependency choice, and/or at restart time. File system mounting is easily supported, and one needs to be careful that file locks don’t thwart multiple app instance access.
Best Microsoft MCTS Certification, Microsoft MCITP Training at certkingdom.com