Among the hundreds of Linux distributions out there, a small number
stand taller than the others. These are the distributions on which others are
built. Of those, one of the most well-known and well-regarded is Red Hat Enterprise
Linux. But Red Hat doesn't exist by itself. It lives in a symbiotic relationship
between CentOS and Fedora. Call it a Linux love triangle if you will. Now these
three complement each other, but they also kind of compete for your attention.
So of the three, which should you use?
Welcome back to The Pro Tech Show - the place for tech, tips, and advice for IT
Pros and decision-makers. I'm going to apologise for something in advance
here. I'm almost certainly going to use the name "Red Hat" to refer to both the
company "Red Hat Incorporated" and the product "Red Hat Enterprise Linux". Sorry
about that. Hopefully it doesn't confuse you too much!
Now we're comparing three distributions within the Red Hat family, so the obvious
place to start is with the big dog - Red Hat Enterprise Linux.
As the name suggests, Red Hat Enterprise Linux is serious Linux for serious
business, and that's firmly where it's aimed. Unlike most Linux distributions,
Red Hat isn't free - you have to pay for it. Now wow, hang on, isn't Linux
supposed to be free? Well... sort of. I mean there's a difference between the Linux
kernel, and a Linux distribution like Red Hat;
but even so, Red Hat is completely open source. You can go and download the
entire source code for it and it won't cost you a penny. When you install the
Red Hat software though, you also get access to enterprise grade support. You
can think of it that the software itself is free, and what you're really paying
for is that support that comes bundled with it. Red Hat is designed for the
needs of large enterprises where downtime means lost revenue. That readily
available access to professional support? That mitigates the risk of lost
productivity due to a software problem. The other thing large enterprises tend to
demand is rock-solid reliability in the first place; and Red Hat delivers that. It
is an incredibly stable platform. There is a little bit of a trade-off for that
stability. Red Hat doesn't tend to be the most
up-to-date Linux distribution. A lot of vendors these days are taking a "move
fast and break things" approach. Red Hat on the other hand seems to take a "take
your time, and do it properly" approach. Now that means the updates might be a
while until they get there, but when they do arrive they should be pretty reliable.
On the opposite end of the scale you've got Fedora. It is very much the "move fast
and break things" child of the Red Hat family. Fedora gets a new release every
six months, and its releases only get thirteen months worth of updates. Compare
that against Red Hat's ten years of support. Fedora is managed by Red Hat,
but it's something of a community effort and it's completely free. Fedora is for
the benefit of the community, but it's also for the benefit of Red Hat. With Red
Hat focusing on stability over shiny things, there is a risk they get left
behind. That's where Fedora comes in. Fedora
focuses on having access to the absolute latest Linux technologies. After six
months it's too old, so let's have a new one. When it comes time to develop a new
version of Red Hat, they start with Fedora. They don't take their existing
operating system and try and bolt on newer technologies. They take whatever
shiny but rough-around-the-edges version of Fedora happens to be around, and they
start working on it to bring its security and stability up to Red Hat
standards. Over time, that version of Fedora will slowly morph into the next
version of Red Hat Enterprise Linux. By the way, if you find this sort of content
useful then go hit that subscribe button for future videos. Now let's talk CentOS.
So Red Hat is slow-moving, very stable, and expensive. Fedora is fast and free,
but not necessarily that stable. What if you want stable and free? Red Hat is open
source, right? So you can download its source code. What's stopping you just
downloading all of Red Hat's source code, compiling it yourself, and having Red Hat
for free? Well, that's pretty much what CentOS. Is it's a Linux distribution
built from Red Hat's source code, and it's completely free. You just don't get the
support, obviously. There are a few tweaks, but the main one is they have to remove
Red Hat's branding; because it might be open source, but that doesn't mean you
can use their trademark. Other than that, it's pretty much Red Hat. You might be
wondering what Red Hat thinks of that. I mean, they're a commercial company and
CentOS are basically ripping off their product, right? Well...
Red Hat got in touch with CentOS, and they said... How can we help?
That might seem strange - especially if you come from a commercial, proprietary
software point of view; but hey, this is open source. Open source projects live or
die with their communities. and Red Hat didn't release the source code and
expect nobody to use it! CentOS is now the semi-official, free, community version of
Red Hat Enterprise Linux. In fact, several of CentOS' governing board members
actually worked for Red Hat. CentOS is good for Red Hat. Let's face it,
there are plenty of free Linux distributions. If Red Hat had tried to crush
CentOS, they'd have lost the support of the community, and they wouldn't forced
anyone to buy Red Hat - they've just went and used a different free Linux
distribution. This way everyone who uses CentOS is joining in the Red Hat
community; and if one of those people goes and deploys a critical application
that warrants professional support, where do you think they're going to go? They know
CentOS, so they know Red Hat. They know their application works on CentOS, so
they know their application works on Red Hat. CentOS is good for Red Hat, and
Red Hat is good for CentOS.
As of the release of Red Hat Enterprise Linux 8, there's a new distribution
called CentOS Stream. This warrants its own section, because it has a different
purpose, and it's arguably closer to Red Hat than it is to CentOS. CentOS Stream is
the next version of Red Hat Enterprise Linux that's still in development. Hang
on, isn't that what Fedora's for? No. Fedora's more of a technology playground.
Whilst' it's true that Red Hat is based on Fedora, they do follow their own
development paths. Take Red Had 8 for example. It was based on Fedora 28,
but by the time it was actually released, Fedora was already on version 30. Red Hat
7 was based on Fedoras 19 and 20, which means that between Red Hat 7 and Red Hat 8
there were seven versions of Fedora that weren't used by any version of Red Hat.
So where does CentOS Stream fit? When a version of Fedora is selected as the
basis for the next version of Red Hat, and work starts to improve its security
and it's stability; that development path from Fedora to Red Hat - that is CentOS
Stream. In terms of currency and reliability it should sit somewhere
between the two. As time progresses it will move away from Fedora and closer to
Red Hat's standard.
So which of these distributions is best for you? Well, as always it depends; so
let's run a few scenarios. The default answer for business is going to be Red
Hat Enterprise Linux. If I'm looking at this for work, that's where I'm gravitating
unless there's a reason to make me look elsewhere. If you're deploying something
critical that gives you the rock-solid reliability and professional support. If
it's maybe less critical and you're willing to take a risk on the support,
or if you simply can't afford Red Hat; then CentOS is a good bet that won't
cost you a penny. CentOS inherits Red Hat's rock-solid reliability. You don't
get any support other than from the community, so if it's something critical you
might be better off with Red Hat; but if you've got really a strong in-house Linux
team then CentOS might be fine. If you just want to play with the latest technologies
then Fedora is where it's at. Now bear in mind you're going to be upgrading a lot, and
being a cutting-edge distribution it does come for a few more niggles. So
don't expect as easy a ride as you might get with Red Hat or CentOS. I wouldn't
recommend Fedora for production. The relative lack of stability compared with
Red Hat and CentOS coupled with that short lifespan? That's asking for trouble.
A while back I ran a Fedora server at home. The idea was it give me something
shiny to play with, and if it went down it only really impacted me. Now that
server (after the initial issues) did run fairly well... until I ran "yum update". And basically
every time I patched that thing, there was a 50/50 chance of it
collapsing in the burning heap. Now once I fixed it, it would run well again... until
I patched it; and the cycle would start over. After a year I just got fed up
with it, and I replaced it with CentOS. Since then, I've not had a single issue.
It gets patched every single week as part of an automated schedule, and it's
never once gone down unless I've chosen to reboot it. Now I don't know if that
experience is representative of everyone else's, but that is the risk you take
with bleeding edge software. If you're using Fedora in production, then feel
free to comment below and let us know how it's going.
The closest I've got to seeing it in proper production was at University. That
was a while ago and, yeah, that wasn't a great experience either.
On the upside, it didn't work with the print management software, so I get free
printing. "Yay" for silver linings. If your R&D
needs are a little bit more specific than just playing with the latest shiny
thing, then CentOS Stream is probably a good idea. If you want to see what the next
version of Red Hat is going to be like, or you want to test that your
application is going to work on it; then that is exactly what it's there for.
Unlike most versions of Fedora, CentOS Stream will become the next version of
Red Hat; so that's where you should be looking for your roadmap. Should you use it
in production? Well... I wouldn't unless there was a very, very specific reason. It's
intended as a development build, not a production one. Hopefully that gives you
an idea of where to use each of the different Red Hat distributions. Feel
free to comment below with your own thoughts - I'm sure some of you have more
experience than I do, and Linux is about sharing, right? On
that note, I've got a couple of videos I'd like to share with you, right here!
See what I did there? If you enjoyed this video then please give it a thumbs
up before you go, and don't forget subscribe for future videos. Thanks for
watching, guys. See you next time!