I have been using Ubuntu for more than two years, and as I check more and more web servers I'm discovering that they are using CentOS.
Is there any particular reason why this is the case?
I have been using Ubuntu for more than two years, and as I check more and more web servers I'm discovering that they are using CentOS.
Is there any particular reason why this is the case?
CentOS is line-for-line the exact same code as Red Hat Enterprise Linux, except RHEL costs $$ to purchase and CentOS is free. Basically, you get one of the most widely respected enterprise-class operating systems with security updates for free, sans a support contract.
While many GNU/Linux based servers do use CentOS, many still use other options, professionally I use Debian for workstations and servers. Other suitable options would be Ubuntu Server (LTS), ArchLinux, or Slackware.
One reason that my employer didn't go with CentOS, was it wasn't around then, and White Box Linux which was available appeared based on a small group of contributors. At the time Ubuntu didn't have a server edition as far as I recall, and hadn't launched their Long-Term-Support releases, so we went with the long time stable, albeit slow release process of Debian.
The major rationale behind using CentOS or Red Hat Enterprise Linux (versus Fedora Core), or Ubuntu Server LTS or Debian stable (versus Ubuntu desktop latest) has to do with release schedules, and support (updates) lifecycles.
With the deployment of a large number of systems, in particular a large number of servers where uptime and availability is of prime important, doing a major version upgrade every six months is a lot of work, particularly is you have servers co-located, or a widely dispersed (e.g. nationally across the US, Canada, and/or India) network. So one of the goals becomes maintaining support over a longer period of time, while being proactive with security updates, and trying to strike a balance in regards to supporting new devices (e.g. new CPU model, new motherboard chipset) that newer systems may be based upon. A lot of companies have taken to life-cycling enterprise hardware ~3-4 years, which matches the longest regular manufacturer & OEM's warranty term. Of course, some try to combine new hardware purchase with new OS upgrade if possible to reduce effort. Thus GNU/Linux distributions with longer support periods tend to win in usage preferences.
I believe one reason that CentOS is commonly found in the server environment, is that is work-alike to Red Hat Enterprise Linux, which many 3rd-party training courses base their Linux training upon, so system administrators are familiar with RHEL and CentOS specific configuration file layout and included configuration GUI front-ends.
I hope that answers some alternatives distributions that you will also find on servers, as well as some of the rationale behind the decision process in general.
Short answer: CentOS is a free recomplilation of Red Hat Enterprise Linux (RHEL) from the source Red Hat provides.
Background:
RHEL is regarded as a good choice of Linux in a corporate IT environment because:
RHEL, within a major release, doesn't change kernel version, library versions, or versions of many different services (e.g. apache httpd). Security fixes are actively back-ported to these "old" versions of code. That goes a long way to counter perceptions of Linux as being unstable, while still addressing security concerns.
Red Hat has been around a loooong time (in Linux land), and have actively maintained their code base. They also sell support. From a corporate perspective, paid support means less downtime, and reduces accusations of negligence from disgruntled shareholders.
RHEL targets Enterprise customers - see the above points. Beyond that, the management tools they write target corporate needs, e.g. the integrated Clustering features.
Given the corporate adoption of RHEL, 3rd-party software companies started writing code to run on it - which led to a closed loop (more software, more adoption of RHEL, larger market, more software...)
Interestingly, Red Hat maintains a corporate attitude of respect for the GPL spirit, which means that, although they are aware of CentOS, they didn't complain much except to request that all Red Hat logos, etc, be removed from CentOS - perhaps to prevent CentOS users/admins from asking for support from Red Hat. Red Hat isn't interested in providing support for individuals or low-budget organizations. Maybe it's not cost-effective for them.
So:
Also, many admins use CentOS because it plays nice with Server Management tools such as cPanel, Plesk, DirectAdmin, etc.
There are different priorities for desktop OSes vs Server OSes, and admins are picking based on which one they think is the best choice for the particular job. And probably also to some degree which one they know best - and RH has been around longer than Ubuntu.
Red Hat is one of the most popular business Linux distros. Fedora is nice, but Fedora is bleeding edge. There are bugs and issues that you'll have to deal with there that you'd never have to deal with with RHEL. Enter CentOS, which attempts to achieve the stability of RHEL with the openness of Fedora.
Just as a note, there's no harm in using Ubuntu Server. If you're familiar with Ubuntu on the desktop then you will be familiar with the server version, too (using apt-get
, filesystem conventions et al) and it is actually pretty stable/reliable. I've been using Ubuntu on a few servers for quite a while now, and I must say I'm pleased. And you also have great (unofficial) support and (official) security updates.