The Linux’s open-source nature means that there exists a downright staggering selection of various distros, each one was designed with slightly different purposes in mind. While one of platforms’ greatest strength points, it might also be considered as one of their most glaring weakness points, as new user could feel somehow overwhelmed by sheer volumes of choices available to him. This particularly holds true when user is trying to select a Linux distro for his dedicated server, as if he chose the wrong one, he might have dire consequences.
If any problem happens to be part of any enterprise with thousands, or even tens of thousands of users, the choice fairly seems an easy one: going mainstream. Red Hat Enterprise, Oracle, or SUSE Linux Enterprise are designed all with the enterprise users in their mind. Each of such distros also has support of a large and established vendor.
Mainstream is not always the best way to goas the smaller organizations and independent administrators might find it a bit difficult to foot bills for some of the above, while many others might find that mainstream server platforms do not really fit their administrative needs. If you are running on a unique hardware, working with a narrow target audience, or utilizing a dedicated server for specific app development, then community-driven solutions might be the best way to go.
In this article, leaders in server operating systems market are clear, at least for open-source platform web deployment, including Ruby, node.js, PHP, Python, Perl, or Go. Because there’re so clear market leaders, I’ll focus my attention on 3 Linux distros only: Debian, CentOS, and Ubuntu.
I will explain briefly why there’re only 3 distros which many people should be always considering for their server deployment, besides I’ll briefly mention few situations where you might need to branch out or consider other options.
It was developed in 1993 and considered as one of the oldest Linux distros which is currently in circulation. Although Debian is entirely community-driven, it is nevertheless supported by surprisingly organized networks of enthusiasts and professionals, who work together for keeping things up and running efficiently and smoothly, with all updates rolled out frequently fairly. It is versatile incredibly and is supporting a variety of numerous packages and is rarely requiring reinstallations which make it well-suited for running a dedicated server for applications.
Compared to many other distros in the market industry, Debian has 3 main disadvantages as following:
- It isn’t most assuredly best distro for the non-experts. If user doesn’t know his way around the Linux, I would advise strongly looking for another distro on which to run his dedicated server.
- Cost – but this is to be considered as disadvantage or not, entirely depends on users. Since Debian is a completely free system, it lacks naturally the option for the paid support. This effectively means that if user runs into a trouble, he’s looking to either his own team or the community.
- Debian tends to lag behind a bit in the software updates compared to other competitors.
CentOS is noteworthy for two main reasons:
- It’s basically the free version of the Red Hat Enterprise Linux which is considered the most widely-supported distro in the corporate IT which means, by association, that CentOS enjoys widespread enterprise support as well. Only this gives it a considerable clout, as well as effectively makes it only sensible choice if the user is looking for low-cost alternatives to one of mainstream server options. Working with CentOS means that user is building the right skills to work with RHEL (Red Hat Enterprise Linux).
- It is also one of the most secure, stable, and also hardened community-driven distros around. Such security makes it very good choice for anything that is Internet-facing, while CentOS’ reputation for its stability means that user can rest easy using it in order for running mission-critical servers.
CentOS, of course, is not perfect. Historically, the distro’s software repository was somehow disorganized and outdated, while the updates were both unreliable and eclectic. Given that the CentOS has now the official Red Hat support, however, such issues still seem a moot point.
Although Ubuntu is mainly a desktop Linux distro, also the brand includes one of the most powerful free server distros around. Ubuntu Server boasts a frequent and fast update cycle, as well as it comes bundled with a diverse and useful set of package groups. Besides, it also has got an option for the paid support that includes training as well as online services like Ubuntu One and Landscape.
One of the best feature of Ubuntu which makes it such a formidable choice is that it is featuring the unified package repository for all different versions. Such option gives it the unprecedented level of the versatility, which is allowing the administrators to switch easily between server kernels till they find the one which suits them.
Non-Long Term Support (Non-LTS) Ubuntu releases shouldn’t be considered for the server usage under any type of circumstances, because the lifecycle of 18 months is too short. Likewise, the Fedora Linux shouldn’t be considered for any server deployment as well.
Mainstream isn’t always the best option. Larger Linux distributions can offer more support and more power potentially, in addition they cost considerably more. If you’re a compact organization or under a tight budget, community-driven is probably the way to go. I have mentioned above 3 of the most effective in the industry, but they’re not even close to the only ones available, and also, since every server’s slightly different, some may not be worked by everyone.
Main Deciding Factors of Best Linux for Your Dedicated Server
If you compare due to the lifecycle of the distro, then CentOS is the winner by a 5 years landslide. If the user don’t know when he’ll have the time and inclination to upgrade his server operating system or move to new dedicated server, CentOS can be the perfect choice for his deployment, if the following deciding factors don’t sway him to something else as not having to think about the server upgrades till 2024 is really cool.
- Package Management
If you compare due to the package management for each distro, then it’s again CentOS, but by a small margin, if user plans to host his own package repositories. If user has no need for his own repos, or is already familiar with the apt, either as a developer or user, it is a tie.
- Package Selection
If you choose based on the package selection, then here we come to Ubuntu, especially if sheer number and the newness of the packages is very important. Or, maybe CentOS, again by a small margin, if the user prefers the stability over the newness, and prefers to ensure his software will never stop working based on the incompatible changes in the software that is running on the system.
If your choice is based on the upgrades, then welcome to Debian, for the reason that its long history of users who are upgrading via apt as well as its ideology of matching and mixing packages from different repositories, relying on the dependency metadata of packages in order for allowing them to reliably interoperate. Ubuntu also provides reasonable upgrade paths via using the same mechanism, and is very close second. CentOS isn’t in this game at all, and can’t be upgraded remotely through any reasonable mechanism.
If you choose according to the popularity, then welcome back to CentOS, but it doesn’t probably matter all that much. With a market share of 50%, you are most likely to find help that you need when any problem or question just arises. But, Debian and Ubuntu also have very active and large communities, and you are likely to find all documentation and help that you need for any of them.
If you choose based on the experience, then it’s only YOU! You have to choose from some of the most amazing feats of the software engineering ever exists, which are representing millions of hours of development by developers, and they are all free and open-source for you.
Now, let’s talk a little about the other distros out there. There are actually some excellent, but less popular distros, some of those distros even have reasonable lifecycles and good package managers with good package selections plus the upgrade process. I will not start naming them here now, as such list might grow quite very long. I think that if you have a Linux distro which you’re, more importantly, extremely familiar with, extremely fond of, and also the rest of your team shares the same experience and enthusiasm, you may be best off choosing what you really know, as long as you are researching and making sure that the lifecycle is reasonable as 3 years is a bit short, but most users would be Okay with a five years lifecycle, especially if the upgrading is painless reasonably.
There’re also a wide variety of special purpose distros out there in the market which may play an important role in the deployment, if the dedicated server’s purpose matches that of the distro. Some good examples are the Boot2docker or the CoreOS, which are so small distros that are mainly designed for just launching the Docker containers, and such containers might include more standard Linux distros.
If you’ve already made your choice, then congratulations! You know now that I like all the 3 of the most popular web server Linux distros quite a bit, and I also think that you will probably be happy with any of them. You also now know that the CentOS is possibly the “safest” option for new users, by the virtue of being so popular on the servers, but Ubuntu is also the second choice, especially if you are using Ubuntu on a desktop.