We’ve been using CentOS here at Meebo since we started. Sandy chose it because it was “basically Red Hat Linux… but free.” Over the years, we’ve upgraded from CentOS 4 to CentOS 5, and through each minor version up to 5.5.
It has served us well, but the distro is starting to show its age. On a daily basis we try to do something in Python that doesn’t exist in 2.4. libpurple will stop supporting our version of glib in the next month or three. And having to build our own packages for cgicc, django, gnutls, gsasl, a plethora of Python libraries, etc. is time consuming.
If we’re going to upgrade, we might as well look at all our options, right?
The Contenders
- Fedora – Released every 6 months. Only supported for 13 months. This is only a valid option for us if we’re willing to do “rolling updates.” By rolling updates, I mean upgrading a server to the next major release without reinstalling from scratch.
- Red Hat Enterprise Linux (“RHEL”) – Released every 2 to 3.5 years. Supported for 7 years, which is crazy long. But it seems expensive ($350 per server at the cheapest? Yikes!). To be fair, we haven’t asked them about site licensing.
- CentOS 6 – Based on RHEL, so has similar release and support life cycle. Over the years it seems as if the vibrancy of the CentOS project has faded. We’re concerned that the project isn’t as active as it once was. For example, RHEL6 has been out for 5 months already and one of the core CentOS maintainers thinks it will be 2-3 more weeks before CentOS 6 is out. There is also some concern on one of their mailing lists that the project could be more transparent to the public—which isn’t horrible, but also not an encouraging sign.
- Scientific Linux 6 – Based on RHEL, so has similar release and support life cycle. They seem very open/transparent. Their website lists all the changes they’ve made to Red Hat’s packages and the reason for each change, which is really cool.
- Debian Stable – Released every 2 years. Usually supported for 1 year after a new major version is released. Packages only get updated if there are major security or usability fixes. This support life cycle is scary… we would be obliged to upgrade all our servers within a year’s time. Only a valid option for us if we’re willing to do rolling updates.
- Debian Testing – Packages that will become the next stable release of Ubuntu. Packages have only been lightly tested… probably not a good idea when stability is a requirement.
- Ubuntu Server – Released every 6 months. Supported for 1.5 years. Only a valid option for us if we’re willing to do rolling updates.
- Ubuntu Server LTS – Released every 2 years. Supported for 5 years (some packages, anyway—other packages are only supported for the normal 1.5 years).
And just to be clear, we’re not upset with any of the above distros for having a slow release cycle, or for not supporting old versions long enough. We very much appreciate the work of open sources developers around the world. But we must chose the distro that we feel will work best for us at Meebo.
The Decision
Historically, we haven’t done rolling updates at Meebo. If you’re ok with rolling updates, or if you’re ok with re-installing all your servers from scratch once a year (we don’t even restart our servers that often!), then Fedora, Debian, and Ubuntu Server (non-LTS) are valid options. If you’re not willing to commit to this amount of work then the support lifecycle is too short for these distros to be considered.
That leaves two options:
- Scientific Linux
- Ubuntu Server LTS
They’re both great!
One inconvenient trait of Scientific Linux is that major releases are infrequent. The next one might not be until 2014. Some packages might be quite stale by then. For example, we could still be using Python 2.6 three years from now :-(
Some of us prefer dpkg, apt, and Debian/Ubuntu’s packages and package repositories over rpm, yum, and Fedora/Red Hat/EPEL’s packages and package repositories. We feel like we’ve had fewer annoying dependency problems with Debian/Ubuntu.
Open questions:
- When packaging our own software, is it easier for us to use rpm or dpkg?
- What kind of updates does Ubuntu provide to Ubuntu Server LTS? Does it only provide security and critical bug fixes? Or does it provide updates for new features, too?
We’re going to test both Scientific Linux and Ubuntu Server 10.04 LTS and see how it goes. We’re curious to hear from other companies about this issue. What distro do you use? Have you thought about switching? Do you find yourself building a lot of your own packages?
— Mark
[ comments ] [ past blogs ]
Follow us on Twitter


