When it comes to Linux distributions, DevOps engineers have lots of choices. From major commercial Linux distributions like Red Hat to community-supported flavors like Debian to North Korea's official Linux distribution, Red Star OS, the Linux ecosystem is large and diverse.
With so many choices available, you might wonder: Which Linux distribution is best for DevOps? Let's explore in this article. (Spoiler: Red Star OS is not on our list of recommendations.)
Two DevOps Use Cases for Linux
Answering the question "Which Linux is best for DevOps?" is difficult because there are really two main use cases for Linux if you're a DevOps engineer.
The first is involves operating systems for DevOps workstations. In this case, you'd be looking for a Linux distribution that makes it easy to develop software and run management tools for systems that you administer. You probably also want the ability to virtualize other operating system environments--including alternative Linux distributions, as well as Windows--easily for testing purposes.
The other major DevOps use case for Linux is as a deployment platform for production server workloads. For that purpose, you'd want a Linux distribution that is very stable, well supported and designed for security. The ability to support different deployment paradigms--bare metal, virtual machines, containers or whatever else your heart desires--is important, too.
There are other reasons why a DevOps team might want to set up a Linux environment, of course, such as building custom networking hardware or setting up a private cloud. Those use cases are not quite as common, though, so in this article we'll focus on the two main DevOps use cases for Linux described above.
Best Linux Distribution for a DevOps Workstation
Let's start with the question of which Linux distribution you should choose for a DevOps workstation. Good options include the following.
Although there is no official source of statistics for Linux distribution market share, Ubuntu is probably the most widely used Linux distribution in the world today. That is one factor in Ubuntu's favor as a DevOps workstation platform because it means that it is very easy to find DevOps tools and documentation that were designed for Ubuntu. Pretty much every Linux-based development or management tool that you could ever want is a quick apt-get away on Ubuntu.
Ubuntu also offers the advantage of a strong support community, as well as the ability to obtain commercial support if you want it. Few other Linux distributions can compete with Ubuntu in this respect.
If you spend a lot of time supporting Red Hat Enterprise Linux (RHEL) servers and software, but don't want to install RHEL on your workstation, CentOS is a reliable alternative. CentOS is essentially a community-supported version of RHEL; developers take the freely available RHEL source code and compile it into CentOS, which, unlike RHEL, is available without licensing fees.
While CentOS tends to be designed with server workloads a bit more prominently in mind than workstations, it's perfectly functional as a DevOps workstation operating system.
Another DevOps workstation option for RHEL-minded folks is Fedora. Unlike CentOS, Fedora is not exactly a clone of RHEL. But because Red Hat supports Fedora development, and uses Fedora as a proving ground for technologies that are eventually incorporated into RHEL, there is a great deal of compatibility between RHEL and Fedora. And using Fedora is a good way to get a preview of up-and-coming tools that will make their way into RHEL.
Linux Distributions for DevOps Servers
And now onto DevOps-friendly Linux distributions for enterprise servers.
Ubuntu is not just for workstations. Although Ubuntu is most famous as a popular Linux distribution for desktops, it's also an excellent choice for the types of enterprise server workloads that DevOps teams would want to host.
That is true in part because Canonical, the company behind Ubuntu, has been aggressive about supporting technologies like Kubernetes and OpenStack on Ubuntu. Plus, if you want to try more obscure deployment technologies, like Canonical's LXD container platform, Ubuntu is the place to do it.
If you like Ubuntu's design and philosophy, but want an enterprise server operating system that is designed with stability first and foremost in mind, Debian might be a better choice. While Debian tends to lag behind Ubuntu in integrating new software packages and tools, it does so because it prioritizes stability over innovation, which is not necessarily a bad thing on servers.
Plus, Debian--which is the foundation upon which Ubuntu was built--has an even larger library of software than Ubuntu and supports more hardware architectures. You probably don't need your DevOps Linux distribution to support IBM System/390 mainframe hardware, but it can if you want it to.
- Red Hat Enterprise Linux
As a server operating system for DevOps workloads, RHEL is another excellent option. Red Hat has done a great job in recent years of ensuring enterprise-class support for the latest DevOps tools, such as Docker containers and Kubernetes via platforms like OpenShift.
RHEL's main drawback, at least for some users, is that it is a commercial Linux distribution that costs money. But if you're looking to host enterprise workloads, that may not matter; hopefully, your boss is not so cheap as to refuse to pay for operating systems.
In parting, let me point out the obvious: There is no single "best" Linux distribution for anything; your mileage will always vary depending on your needs and preferences. Plus, part of the point of Linux is to enable endless customizability, so if you don't like the Linux options available to you today, you can go build your own Linux distribution.
With that said, if you want a Linux distribution that is ready to support DevOps workstation or server workloads out of the box, the options above are a good place to start.