You still have the hardware components responsible for completing all the complex tasks, and you still have a storage device that records all the information. Last but not least, there’s an operating system without which the server wouldn’t be able to work at all.
CentOS is a popular operating system installed on servers all over the world, and the latest major release, CentOS 8, came out in September 2019. Today, we’ll have a look at what new features it brought, and we’ll figure out how they can help with your website’s reliable and stable performance.
What is CentOS?
CentOS is a free, open-source Linux distribution that was first released in 2004. It’s based on a commercial product called Red Hat Enterprise Linux (RHEL), and a few years ago, Red Hat, Inc., the company selling RHEL, announced that it had acquired the CentOS trademark.
This doesn’t mean that Red Hat is the entity developing CentOS, though. The distribution is still worked on by a community of developers and experts, and technical support is still available only through message boards and chat rooms.
The only thing Red Hat has committed to is to help with the governing of the project. Since RHEL is open source, the company doesn’t mind having it used as a base for the continuous development of CentOS.
Why choose CentOS?
It’s fair to say that CentOS has made a bit of a name for itself over the last 16 years. Usage statistics show that when it comes to web hosting servers, it’s the second most popular Linux distribution, only surpassed by Ubuntu, a distro that is well-known for its user-friendliness.
Server administrators and hosting companies prefer CentOS to the countless other alternatives because of the strong RHEL connection. As the name suggests, Red Hat Enterprise Linux is aimed at the commercial market and is best suited to work in complex environments that require special features and stable performance under some very specific conditions. Being based on it, CentOS has most of these features, and over the years, its developers have proven to the whole world that reliable performance is at the heart of the project.
There are quite a few similarities between the two distributions, but if you want to use RHEL in a production environment, you’ll need to pay for a subscription, and the costs could be significant. CentOS, on the other hand, is completely free to use on as many systems as you like.
Should you choose CentOS?
For all its advantages, CentOS is nowhere near as popular with users and server administrators as Ubuntu, and there are a few very good reasons for this. As we mentioned already, Ubuntu is famously easy-to-use, and over the years, its popularity has facilitated the growth of a massive community of users and developers that maintain a vast base of tutorials, helpful articles, and tips that can answer just about any question.
By contrast, being an enterprise-class operating system, CentOS is more complex and could be harder to install and set up correctly. Running it could be a challenge, especially for beginners, and the smaller community of experts that dedicate time to the project means that finding the right answers could be more difficult.
Things are easier in that respect with RHEL, which comes with a support team that can help you out. With CentOS, however, you can only rely on the open-source community, which is hardly ideal if your job is to keep a website accessible 24/7, and you’ve stumbled upon a problem you can’t fix yourself.
What’s new in CentOS 8?
The people running the project have decided that CentOS can provide server administrators with stable performance by incorporating proven, and not state-of-the-art, technology. As a result, you are unlikely to find the latest software packages included in the distribution by default. For example, CentOS 8 is built on kernel version 4.18, which came out a good two years ago.
The operating system’s graphical user interface is based on GNOME Shell 3.28, which was also released more than eighteen months ago. In CentOS 8, however, it uses the Wayland communication protocol and benefits from, among other things, more robust security and improved multi-monitor support. The old X.org server is also available for those who prefer it.
The iptables utility has been replaced by nftables as the primary framework for configuring the operating system’s firewall. With it, rules for filtering traffic from both IPv4 and IPv6 addresses are set from a single tool. CentOS 8 also uses TCP networking stack version 4.16, which results in more stability, better performance and scalability.
There are improvements in the way software is managed as well. CentOS 8 comes with Yum v4, a new version of the package management utility that is based on DNF (Dandified Yum) and offers a number of advantages, including increased performance, a stable API, and support for packaging files that are larger than 4GB.
Rather predictably, most of the software packages integrated into CentOS 8 are newer compared to the ones offered by the previous version. This time, however, the operating system also comes with out-of-the-box support for Nginx, which is a testament to the enormous popularity of the web server and makes the lives of administrators who want to use it a little bit easier.
The qemu-kvm 2.12 virtualizer gives CentOS 8 its virtualization capabilities and introduces a new sandboxing feature. The KVM virtualization can also support a 5-level paging feature that increases the physical and virtual address space that guest and host machines use. Support for IPVLAN virtual network drivers enables internet connectivity for multiple containers.
Docker is not included in CentOS 8, but you can utilize podman, buildah, skopeo, and runc to manage containers instead. These tools are inherited from RHEL and are fully compatible with Docker images.
Perhaps the biggest change is the added support for different CPU architectures. Up until CentOS 7, the distribution was built for x86_64 systems only, but the new version adds support for 64-bit ARM architectures, IBM power, and IBM Z systems.
All CentOS 8 features
The new architectures added even more versatility to an operating system that was already pretty feature-rich.
In addition to Nginx, CentOS comes with the Apache HTTP 2.4 web server out of the box. Some of the supported languages include PHP 7.2, which uses the FastCGI Process Manager (FPM) by default, Ruby 2.5, Perl 5.26, SWIG 3.0, Node.js 10.1, and Python 3.6. The database servers that can run on CentOS 8 are MySQL 8.0, MariaDB 10.3, PostgreSQL 9.6 and PostgreSQL 10, and Redis 5.
OpenSSL 1.1.1 and TLS 1.3 let administrators protect users’ data while it’s in transit, and the Anaconda installer, which supports LUKS2 disk encryption, along with the ability to set system-wide cryptographic policies, can ensure that it’s safe in storage as well.
The version control systems developers can use are Git 2.18, Mercurial 4.8, and Subversion 1.10.
CentOS 7 vs. CentOS 8
|CentOS 7||CentOS 8|
|GNOME Shell||N/A by default||3.28|
|Package Manager||yum v3||yum v4|
|Nginx||N/A by default||1.14|
|Postgre SQL||9.2||9.6 and 10|
|Redis||N/A by default||5|
What’s gone in CentOS 8?
As is always the case, CentOS’s latest version has received quite a few new features and modules that are supposed to improve it even more. Inevitably, some of the functionality that was present in CentOS 7 was left out of CentOS 8 either because it was deemed obsolete or because it was replaced by a better alternative.
For example, the virt-manager module that used to let server operators create, manage, and stop virtual machines on servers running CentOS 7 and earlier has been replaced by Cockpit, an easy-to-use solution that facilitates the completion of all these tasks, along with quite a few more, through a browser window. The move to a newer version of OpenSSL means that TLS 1.0 and TLS 1.1 are being phased out, and changes to the NetworkManager service have made networking scripts obsolete.
Of course, many other components have been replaced or modified. You can see that virtually every software package integrated into CentOS 8 is newer than the ones that were included in CentOS 7. The changes made to these packages are thousands, and it’s impossible to list them all. What we can say, however, is that they are all supposed to make CentOS 8 better than its predecessors.
Is CentOS 8 free?
Yes, it is. Although it’s based on Red Hat Enterprise Linux (RHEL), which is a paid product, CentOS is completely free to use, and you can install it on as many computers and servers as you want.
What makes CentOS such a good server operating system?
CentOS is based on RHEL, which is arguably the best and one of the most widely used Linux distributions in corporate environments. It uses proven technology, and for the last 16 years, it has been developed by a community of developers and experts to provide the best possible environment for hosting websites and web applications.
Why should I choose CentOS 8 over CentOS 7 for my server?
The wider range of supported CPU architectures means that, no matter how specific they are, CentOS 8 will likely meet your project’s requirements. At the same time, the multitude of new features, improvements, and updates can guarantee a safer, more reliable performance for your server.
Can I set up a CentOS server on my own?
Distributions like Ubuntu have shown the world that setting up and running a Linux operating system needn’t be difficult. CentOS is an enterprise-grade operating system, however, and its focus is stable performance rather than user-friendliness. As a result, setting up and maintaining a CentOS server could be quite a challenge for inexperienced users.
What sort of support can CentOS users get?
Being completely free and community-driven means that you don’t get a dedicated team of support agents to help you with any problems you may encounter while setting up the system. You have to rely on people who can answer your questions in their free time. That’s why most website owners prefer to use the services of hosting providers and experienced system administrators who know how to set up a website and are well aware of what they need to do should something go wrong.