interesting blog entry:
What is your opinion about CentOS? I generally have heard good things about it, we're actually running it, but how does it compare -in your opinion- with other options, e.g. the server versions of OpenSuse, Debian, or Ubuntu?
I do not have any experience with linux other than OpenSUSE (with a smattering of SLES) and Ubuntu Server, and then mostly as a web server, with the occasional high availability cluster. So if I make any factual errors in what I state below, please correct me =).
I have read up a bit on CentOS, and it seems like the CentOS maintainers aim for stability over the latest and greatest packages. Though the RedHat model for making money is to sell subscription services for their various flavors of RedHat, which they then provide the source to the world. The CentOS maintainers then repackage the source for CentOS, without any support or assistance from RedHat. Since CentOS is purely community driven, it will always be a "best effort" kind of project.
Ubuntu Server on the other hand, is directly supported, and given resources by Canonical. Canonical's model is give away Ubuntu, but offer paid support services. Ubuntu also tends to be more on the cutting edge with their available packages (not counting 3rd party repositories). There is a higher risk that you will run into odd conflicts with Ubuntu (which I thankfully haven't run into yet), but I CAN say that I have run into a case where I needed a package that wasn't available on SLES, which has a similar conservative packages model to RedHat and CentOS.
I'd say Ubuntu Server is the better short to mid term (1-3 year) choice as a server OS. Though I will admit that CentOS has served many people very well. Wikipedia claims that 30% of linux webservers run CentOS, so they must be doing something right.
As with RedHat there are positives and negatives. The big plus is that stability is a high priority. Redhat are very conservative about what goes into a release of RHES. They focus very tightly on security and bug fixing and leave the versions where they are. That means you can deploy patches to the test environment with high confidence that they won't break things, and that code you write now (or software you use) will continue to work for the duration of the products life cycle (5 years I think it is?)
CentOS aims to be a 100% clone of RedHat, but doesn't quite manage it, but it's close enough that it doesn't really matter. I'd rather have stability in a server environment than bleeding edge, and especially not have to worry so much about 0-day exploits (something I've suffered from at a previous job)
The big negative of that stability focus is that its way behind and that can be a hassle (Python 2.4, Glibc < 2.0), sometimes requiring you to compile your own packages rather than rely on the repositories.
For a little while late last year and into this year there was getting to be quite a delay on patching, CentOS was failing to keep up with RedHat's patches. We're also now several months after RedHat 6 was released and we're only just approaching release of CentOS 6. On and off I wonder about the wisdom of continuing to use CentOS and the possible value of a RedHat subscription.
For myself, I use Ubuntu on my VPS, but that's a fiddle box as much as anything, I make sure to keep it regularly patched and I want more up-to-date versions of the software. For a proper production environment I think I'd prefer to go with Debian. I rather dislike SuSE myself. It often seems if there is a non-standard way to do it, SuSE will do it that way and it drives me crazy at times. I can jump between RedHat, Debian, Slackware, Gentoo etc. etc. with minimal effort. Doing stuff on SuSE just gives me headaches.
Whatever you choose about the strongest thing I can suggest is "be consistent". A lot of environments end up being a mix of things and whist you'll have been playing to the strengths of various distros, it adds to complexity of management, and automation. What seems like a good idea ultimately results in more work and hassles for a sysadmin!