Linux is everywhere. Truth be told, if it weren’t for Linux, most businesses wouldn’t be near the agility they have today. We wouldn’t have containers, the cloud, IoT, edge computing, big data, or such a wide variety of programming languages and frameworks.
Enterprise-level businesses have been employing Linux for some time now. They depend on it and anyone developing for large companies is either familiar with Linux or understands that it has become a must-use.
The writing is on the wall. At some point, your developers will have to make use of Linux as a server operating system. When that happens, your teams will need to know which distribution of Linux is best suited for their work.
But which distribution?
Let’s dig in and see if we can find a match.
What is Linux and What is a Distribution?
The first question is simple to answer. Just like macOS and Windows, Linux is an operating system. The biggest difference between the 3 is that Linux is the only operating system that is open-source. Because of that, Linux is much more flexible than proprietary offerings. You can download the source of the Linux kernel or any of the included tools and alter them to perfectly fit your needs.
But what is a distribution? Think of it this way: How many different brands of running shoes can you think of? Each of those brands has a different take on what they offer, but their product is still a running shoe, so they serve the same purpose. A Linux distribution is similar to that. Every distribution of Linux is still Linux, it just might offer subtle (or not-so-subtle) differences from the competition.
The biggest difference between some of the distributions is the package manager (a system to install and manage software) used. For example, Ubuntu uses the apt package manager, while Red Hat Enterprise Linux uses dnf, SUSE uses zypper, and Arch uses pacman. Each package manager has its strengths and weaknesses, but all of them are fairly straightforward.
There are also Linux distributions specifically designed to be used for servers or desktops (and although you could effectively interchange them with a bit of work, it’s not recommended).
So now that you understand what Linux and distributions are, let’s find out which server distribution is best for your developers.
It Starts With Cost
Your choice of Linux server distribution will most likely start with cost. Why? Because some Linux server distributions are free, while others have an associated cost. Some of the Linux server distributions you can use for free are:
- Ubuntu Server
- Rocky Linux
- Fedora Server
- openSUSE Leap
The Linux server distributions that require a subscription to use include:
- Red Hat Enterprise Linux
- SUSE Enterprise Linux
- Oracle Linux
One of the biggest benefits of using a subscription-based distribution is that they generally come with enterprise-grade support. But if you’re having to deploy a large number of instances for your developers, that cost can add up. Yet, support is an attractive feature for most companies.
That’s not to say you can’t purchase added support for the likes of Ubuntu. In fact, Canonical (the company behind Ubuntu) offers Ubuntu Advantage.
This is another important question you must ask. Chances are pretty good your developers won’t be focused on an in-house data center. Modern development tends to occur within the cloud. Because of this, you’ll need to find a distribution your cloud host supports. Fortunately, most third-party hosts support a good number of Linux server distributions.
However, the Linux distribution most widely-deployed in the cloud is Ubuntu Server. The reason for this is that Ubuntu tends to be the most user-friendly of all the Linux variants. This will be important, as you onboard new developers into the world of Linux.
One thing that holds some of the other Linux server distributions back from being so widely adopted within the cloud is that some make use of security layers that can become a bit of a hindrance. For example, any Linux server distribution that makes use of SELinux has a steeper learning curve for new developers. Although SELinux is a very powerful system, it will get in the way of applications functioning properly, especially if your developers don’t know how to work with it.
SELinux is used in most of the server distributions that are based on RHEL, which includes:
- Rocky Linux
- Oracle Linux
- Fedora Server
That doesn’t mean you should avoid those distributions. However, if you opt to go with an SELinux-based operating system, make sure your developers know their way around it.
Easily Installable Tools
Every Linux server distribution enjoys a vast array of tools that can be installed. However, some distributions make this task considerably easier. Why? Linux server distributions such as Ubuntu make those tools more readily available and easy to install. This is partially because Ubuntu-based distributions include a wider scope of pre-configured software repositories.
With RHEL-based distributions, you might have to add or enable a third-party repository, to install some tools that are available on Ubuntu without the extra steps. That doesn’t mean the tools aren’t available, it just means they aren’t as easy to install.
Take, for instance, the LAMP (Linux Apache MySQL PHP) server, which is one of the most popular software stacks on the planet. On Ubuntu Server, you can install that full-stack with the single command:
sudo apt-get install lamp-server^ -y
To install that same stack on an RHEL-based server distribution, you’d need to install the tools one at a time.
The conclusion here is pretty simple to make: If simplicity is what you’re after, Ubuntu Server is the distribution you want. If heightened security and support (and don’t mind a steeper learning curve), Red Hat Enterprise Linux or SUSE might be the perfect fit.