2012-09-23
How we handle Ubuntu LTS versions
In a recent entry I noted that we have production machines running all three currently supported versions of Ubuntu LTS (8.04, 10.04, and 12.04). This might strike people as a little bit peculiar, so I'll describe how we handle Ubuntu LTS versions.
Machines that people actively log in to, such as our login and compute servers, always run the current LTS version so that people can get the latest software versions and shiny bits. We don't upgrade right away when a new LTS release comes out, because it takes time to update our install system for the new release, test it, fix the inevitable problems and glitches, and then schedule the actual machine upgrades (well, reinstalls). But we do try to upgrade before too long and we usually manage it; for 12.04 it came out in April and we were upgrading our login and compute servers in mid August, which is pretty fast by our scale.
(Here's an embarrassing admission: I only recently realized what the numbering scheme for Ubuntu releases is. Now that I know, it's much easier to see when they came out and how old they are.)
Other server machines are often not worth constantly upgrading to the latest and greatest LTS release. If what they're running works and there aren't any additional features or improvements that we want from a new LTS release, we generally don't bother upgrading them every time; it's a bunch of work for no real gain (especially given the testing we usually need to do). Instead we only upgrade when we're forced to, and what forces us is when a LTS release is going to stop being supported. With a LTS release very two years and a five year support period for LTS releases, this means that servers generally skip every second LTS release.
Given this, you might wonder why we have 10.04 machines at all. There are several reasons. First, some of our servers were initially 6.06 machines; they skipped 8.04 and were upgraded to 10.04. Second, some of the servers were built for the first time during the 10.04 era (just as some servers were built for the first time at 8.04). Third, sometimes we do feel that there are advantages to upgrading machines that don't strictly need it; for example, new versions of Samba and our IMAP server can be useful enough to prompt an upgrade by themselves.
(There's also advantages to making sure that all machines that run some software are running the same version, so that eg we might upgrade all machines that run Exim to 12.04 to synchronize versions.)