Canonical and the Ubuntu Project have done great things to help bring Linux to the mainstream desktop. But what about the server edition? If Ubuntu can bring the same level of polish to its server offerings, it should be a formidable competitor to Microsoft and other Linux vendors. Looking at Ubuntu Server 10.04, aka “Lucid Lynx,” there’s a lot to like and also some disappointments.
Is Ubuntu Server as polished as its desktop cousin? In a word, no. The software is solid, and the package selection for Ubuntu Server is fairly deep and comprehensive. For organizations looking for a Debian-like OS with a much more predictable life cycle and the option of support, Ubuntu 10.04 LTS (Long Term Support) may be a good choice. All things being equal, I’d probably choose Ubuntu Server over another community server distribution like CentOS, but I prefer Debian-like systems for servers.
Ubuntu doesn’t offer the same kind of management tools that you’ll find with Red Hat Enterprise Linux (Anaconda and other tools) or SUSE Linux Enterprise Server (YaST). If the options are RHEL, SLES and Ubuntu LTS, the choice is a bit tougher. The documentation and management tools, barring Landscape, aren’t yet on par with the other enterprise counterparts.
Once set up, Ubuntu LTS is a solid system. It’s an especially good choice for Web servers, mail servers and so on. I like the depth of packages that are offered via the Universe repositories, but I’d like to see better management tools in future releases.
Ubuntu 10.04 Server Edition is available for free download. Canonical offers paid support for the distribution, priced at $750 per system per year for 9/5 support, and $1,200 per system per year for 24/7 support.
Getting started
Installation is fairly bare-bones, with a text-mode installer that offers two main choices: Ubuntu LTS Server or the cloud edition of Ubuntu Server. For the most part the installer is simple enough to use, but has a few rough edges. This is especially true when it comes to partitioning. The text-based partitioner is a bit confusing to use and doesn’t handle nonstandard partitioning schemes as well as it could. Lynx also lacks a good option for automated installation, though it’s possible to use FAI (Fully Automatic Installation).
To put Ubuntu Server through its paces, I installed it on several systems, from a dual-Xeon machine with 8GB of RAM to a Atom-based netbook with 1GB of RAM. Though the netbook isn’t suitable for any mission-critical deployments, you can actually run a decent LAMP (Linux, Apache, MySQL and PHP/Python/Perl) system for a local network off a netbook with 1GB of RAM. I do like the preconfigured selection of software. Ubuntu LTS offers nine software collections, including DNS (Domain Name System) server, LAMP, PostgreSQL, OpenSSH server (which should be installed anyway), Tomcat and Samba. It’s also possible to select software manually during the server installation, if you need to.
It’s worth noting that this is the first LTS to offer the option of encrypting the partitions and home directories for users. I tried Lynx with and without disk encryption and didn’t notice a significant performance hit with encryption.
Exploring Ubuntu Cloud, Landscape
Ubuntu Cloud
I spent a great deal of time working with the Ubuntu Cloud install, partially because I was really interested in having my own personal cloud, and partially because it took a great deal of time to slog through the docs and actually get a working configuration.
You can set up the cloud services manually by installing the packages needed, or simply select the cloud install from the server CD installer. At a minimum, you’ll need two machines for a cloud system, and at least one will need to be a newer system with virtualization extensions to run KVM. This dashed my hopes of having an inexpensive cloud cluster with several nodes, as many of the servers I have handy are missing the VT extensions.
Ubuntu’s Cloud implementation is Eucalyptus, a private cloud implementation of AWS (Amazon Web Services), specifically EC2 (Elastic Compute Cloud) and S3 (Simple Storage Service). Ubuntu offers a couple of sets of management tools for the cloud services, command line tools and the ElasticFox Firefox plug-in for working with the services. You’ll need to do a fair amount of command line work to get the cloud controller and clients up and working, but things seem to go fairly smoothly after everything is installed.
The cloud configurations for Lynx are interesting and if your shop is trying to set up a private cloud, I’d recommend looking into Lynx. But unless you or your staff are already familiar with Eucalyptus, it’s going to take a bit of time to become competent at setting up the systems and managing them effectively.
Note that you can also easily run Ubuntu LTS on AWS as well. The images are already available in the AWS store and can be fired up in just a few minutes if you have an AWS account.
Landscape and management
You can streamline system management with Ubuntu’s Landscape, assuming your organization is willing to pony up for the fee of $150 per node, per year. Landscape is also included with Canonical’s optional server support contracts. The Landscape offering is fairly good, but the costs can rack up pretty quickly if you’re working with tens or hundreds of nodes.
One of the hopes I had for Ubuntu when the first server edition was announced was that Canonical would invest in some open-source management tools to make Ubuntu Server as easy to use as the desktop edition. That has not happened, however. Many of the operations you’ll want to perform require old-school editing of configuration files, rather than using simpler management tools like YaST or Anaconda.
One option is to install the eBox packages and use the platform’s Web-based interface, but I’d really like to see better client-side tools as well and not just Web-based administration tools.
I am slightly concerned about Landscape and hosting all my management tools with a third party. If Canonical has an outage, suddenly my management tools go away. This isn’t to say Canonical is going to have rampant downtime, but it’s a concern.
Documentation
The Ubuntu community documentation for the desktop is relatively good, as community distros go. Coupled with the fact that the desktop is fairly straightforward and easy to use, Ubuntu docs tend to be sufficient for the desktop.
But Canonical needs to invest much more in its documentation on the server side, and soon. The server docs are scant and often unclear. The docs for configuring the cloud services, for example, assume a fair amount of knowledge and tend to be muddy in places. They do tend to be accurate, but fairly skeletal in nature.