What makes CentOS "enterprisey" compared to "generic" distributions like Ubuntu?

When I say "enterprisey" I actually mean "better for server deployments". Just a general question, because I was thinking of hosting a web application on my computer (which runs Ubuntu) and came upon a page that said that CentOS had 30% market share for servers. Of course, that doesn't exactly indicate that it's better in anyway, so I just wanted to ask.

Edit

There's another thing I really fail to understand ... most of these distributions, use the same applications, have the same package manager, and all of them are powered by the same kernel. Where's the difference, then?

4 Answers
4

One of the things that RHEL/CentOS (and other Enterprise Linux products) provides that other distros don't provide is API/ABI stability. This is a frustration to a lot of people who are new to RHEL, because all they see is that the versions available are all older than the latest releases found in the latest release of Ubuntu/Fedora/Gentoo/Whatever. But, if you're supporting a product that was deployed on an RHEL box, you don't have to worry about the underlying technology the product uses having it's API change (with new versions of apache, php, perl, python, glibc, whatever). This even applies to most kernel modules provided for RHEL.

As an example, if I've developed a web application that runs on RHEL 5.0, I can be fairly certain that it will continue to run on RHEL 5.6 two years later, all the while the RHEL system has been getting security updates and bug fixes the whole time.

To answer the "more secure" question: Because RHEL backports security fixes to the released version they provide, you can continue to have a stable API to release software on without worrying about the security of the underlying system.

...except when they do change something. Like the glibc change in 5.4 that hoses VMware Server 2.0.x.
–
David MackintoshFeb 9 '11 at 4:48

@David: Sure, but let's be fair, VMware is partly at fault there. They could have released a VMware 2.0.3 to fix this, but because they wanted to kill off VMware Server, they forced everyone to one of three poor alternatives: roll back glibc, return to VMware 1.x, or move to ESXi.
–
Warren YoungAug 22 '11 at 20:54

@Warren true, but I built on RHEL for stability, not VMware for currency. The lure of RHEL was no major changes -- and they failed. The fact that I got caught up in VMware's marketeering as a side-effect is irrelevant to me.
–
David MackintoshAug 22 '11 at 21:24

In the world I work in, the CAD tools used all require RedHat Enterprise be used — some with a specific kernel version and build numbers — or the vendors won't support their products.

The reason why they do this is obvious. There are just too many distributions and potential kernels and library combinations for them to be able to reproduce every possible environment to either validate their product or reproduce errors that customers are seeing. Requiring RedHat means both that they can use their reference platform to reproduce customer errors; and that the customer has a support contract with RedHat to increase the likelihood that any real problem traced to the RedHat reference environment will actually get fixed.

When you are spending multiple-000 $ per seat per year on some CAD tool, the RedHat support costs are rounding noise.

That said, what most of my customers do is have only one or two genuine RedHat systems, and run most of their computers on CentOS, which is a free rebuild of RedHat. If a problem is found, it is reproduced on the RedHat systems, and the vendor will happily support the issue from there.

This really depends on your situation. Ubuntu has a sever and even LTS (long term support) version that in a lot of ways is just as good as RHEL/CentOS. I work in a mixed environment. Generally using Fedora or Ubuntu for desktops, use FreeBSD, Gentoo and such for appliances and for servers I stick mainly to CentOS but manage a lot of Ubuntu servers as well.

I won't say that either is better or worse than the other, just different goals. Both offer paid support and really, CentOS is just RHEL rebuilt to be free so we're really comparing RHEL to Ubuntu

Ubuntu server is usually more current on new features than RHEL if you want to do an install and have the latest and greatest version of PHP, MySQL or other programs, you're gonna want Ubuntu. You can get them on RHEL, but it's a pain. So it really boils down to how you'll be using it. If this server is going to sit in a closet, alone and you run mainly off the shelf programs and have plenty of time to work on it, pick Ubuntu. In this case updates to this box aren't going to be a problem. If an update breaks something, you can have it fixed in a few minutes. I have an Ubuntu server sitting in a rack right next to my chair, it is on the non LTS Ubuntu and isn't a problem to do dist upgrades or security updates.

If however you are going to be managing a lot of servers and using a lot of non standard software or other custom setups on the box, please pick RHEL/CentOS. I have never had an update break anything on RHEL/CentOS. I have boxes several hundred miles from me with very limited access that happily run automatic security updates and have never caused an issue with my customizations. Can't say the same for Ubuntu.

Spend time with both, see what you like and what fits with your specific needs.

CentOS is a free derivative of Red Hat Enterprise Linux, which is targeted at the "enterprise" market, so it is specifically design for deployment on a variety of platforms such as servers, etc. To target that market, the distribution is probably going to focus more on older, stable versions of packages rather than including anything bleeding-edge. Security will also be a focus.