Among the different criteria for classifying Linux distributions, from the point of view of choosing a system for a server, the most successful division seems to be between non-commercial and commercial solutions. Priorities such as stability, scalability, security always stay for a while in the background when we decide to pay for support or not. Which Linux is optimal for an administrator and which one for a business?
There are at least a dozen business Linux distributions on the market that can be successfully deployed in enterprise environments. This large variety is a bit confusing, so at the very beginning a division should be made between community developed distributions (Debian, CentOS, Ubuntu), and distributions with commercial support from the major players (Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Oracle Linux). This division is a bit of a simplification, since Red Hat and SUSE have their roots in the open source projects Fedora and openSUSE, which, by the way, finance themselves, while Canonical offers commercial support for the famous Ubuntu. As with Ubuntu, Oracle Linux, you can download, use and upgrade for free, you only pay for technical assistance with quick problem resolution, and access to additional management and cluster software features.
From an operating system perspective, the differences between the individual Linux distributions are very subtle. The core of any solution is a kernel and a set of servers, services, libraries, tools and useful applications, essentially developing under an open license. So we are dealing with a specific set of the same software, which can be organized somewhat differently, just within a Linux distribution.
This refers to the configuration of the system, including the startup manager settings, the startup scripts and directory system in the file system and the format and package management mechanisms used (deb, RPM, TGZ). Each distribution has a set of standard software associated with it, though there are usually several servers, services, tools and libraries to choose from. For example, Debian includes over 43,000 packages, including several web servers, including Apache, nginx or Lighttpd, which installs in minutes and runs from a reconfigured software package.
What to look for when choosing Linux for a server? Individual distributions differ not only in security policies and rules for providing updates, but also in business support for different architectures – hardware and software, commercial product support, and technical tools for centralized management, certification systems and training.
But let’s start with something completely different, which is the question of the experience, skills, and habits of the administrators working in the organization. It is important to provide them with a work environment that they know and feel good about. Let’s illustrate this with two examples.
Debian and Ubuntu are based on deb packages, while Red Hat, SUSE Linux, Oracle Linux and the CentOS distribution use the RPM package format. This requires the use of different package managers that allow you to install, uninstall and update the programs in the system. In the case of Debian and Ubuntu it is APT (Advanced Packaging Tool). In turn, the native manager in the SLES distribution is YaST, while the other distributions listed here use Yum by default.
All of these tools work very well but each of them is supported in a slightly different way (calling syntax). You will also notice some subtle differences in the format and the way the package repository is organized. The deb repositories are better organized and APT itself produces good mechanisms for managing dependencies between packages. This doesn’t change the fact that all these tools work very well and allow administrators to create their own packages and plug in external repositories to install software and libraries from other sources. What’s the catch? It is the experience, skills, and habits in using them.
The second example: in Debian and Ubuntu the Apache web server package is called apache2, while in the competitive Red Hacie and its open source CentOS branch you will find the httpd package. In both cases, there are differences in directory names and configuration files. The server settings of this web site are stored in /etc/apache2 and /etc/httpd, respectively.
Let’s keep it that way. Debian and Ubuntu have administration tools that make it easy to enable and disable web server configuration (a2ensite/a2dissite) and Apache server modules (a2enmod/a2dismod). Given that these are tools specific to both these distributions, they are not present in competing solutions, we go back to square one.
When we rent a VPS server, a dedicated server, or an instance in the cloud, we often have a limited choice of software to install on it. For its part, the Azure Marketplace offers a rich collection of applications that run on Linux and images of the system itself, including Ubuntu Server, CentOS, OpenSUSE and SUSE Linux Enterprise Server. Hundreds of other images, including Debian and FreeBSD systems for the Azure public cloud, have been prepared by the community and are in the VM Depot.
In production environments, stability and security are two of the most sought-after features of IT systems. Both of these features are closely related to the distribution bulletin cycle. Debian develops in three parallel branches: stable, test and unstable. The release process for the stable version consists of a testing freeze. During the transitional period until testing, no new packages are added, only detected bugs are removed. When the system is considered mature, the testing version will be released as a stable release. This takes about two years. This approach ensures compatibility with existing systems as well as the stability and security of the built solutions in production environments.
The Ubuntu publishing cycle is shorter. Subsequent versions of the system appear on the market every six months, but every two years a version is issued denoted by the suffix LTS. This is short for Long Term Support. The current term is 5 years for both the workstation and server versions.
And what about the rest of the rest of the distributions? Red Hat Enterprise Linux, SUSE Linux Enterprise Server and CentOS are as conservative as Debian when it comes to the speed of adoption of new technologies and software versions. Fedora and openSUSE, on the other hand, are considered more or less quick to update. What about Ubuntu? It follows its own path and, paradoxically, you don’t have to wait at all for the release of the next version, marked LTS, to build a stable, reliable server. Choose Ubuntu if your Internet projects require the latest versions of PHP or MySQL. Alternatively, you can try one of the unofficial repositories with packages for these distributions.
In the context of selecting a Linux distribution for a server, it is important to consider the needs and business requirements of the organization. This choice must be consistent with the IT management and development strategy of the enterprise.
A company may try to implement systems based on Debian if they employ someone with knowledge of Linux. Otherwise, it is worth choosing a commercial solution, and sending staff for training as well as giving them access to technical support and to monitor efficiency use linux time tracker. Red Hat, Novell (SUSE), Canonical (Ubuntu) and Oracle provide technical support for their products, third-party hardware and software system certifications, and certification and training programs that allow administrators to earn the theoretical and practical knowledge confirmed by certification.
Commercial distributions provide a good balance between the freedom of management provided by Linux and the ability to use the support and certification mechanisms offered in the commercial enterprise IT market. An extensive specialist certification program is offered by Red Hat. Although it does not enjoy the same reputation as the Cisco or Microsoft certifications, Red Hat Certified System Administrator (RHCSA), Red Hat Certified Engineer (RHCE) and Red Hat Certified Architect (RHCA) are a certification path that is well-recognized in the marketplace and validates administrator knowledge.
The commercial distributions Red Hat and SUSE are well suited for enterprise LAN infrastructure, although in many cases open and free solutions such as Debian or Ubuntu are sufficient. The Linux itself has all the tools to set up a fully functional file server (Samba), remote access (OpenVPN), network access control server (dhcpd, FreeRADIUS) or directory services (OpenLDAP).
In the hosting environment, the CentOS distribution is extremely popular, if only because of the support from the cPanel web control panel. There is not much choice if you only want to use it with cpanel, since the software is only compatible with CentOS and commercial CloudLinux as well as Red Hat Enterprise Linux.
By the way, the number of configuration tools Debian has pales in comparison with its competitors, except for the modules, settings available in KDE or Gnome graphical environments, which are not installed on production servers in principle anyway. On the other hand, many software and server packages are provided preconfigured and ready to use right after installation. SUSE Linux Enterprise Server and suse include the proprietary et Another Setup Tool (YaST), which allows you to install software, configure your server, network and hardware, and deploy network services. YaST is used to manage a single server.
Of course, some distributions are better suited to handle certain workloads than others. Sometimes they contain features and tools that competitors do not have or are not implemented as standard. Oracle Linux includes several important new features and innovations, such as the btrfs system, the ability to load new kernel versions without having to reboot the server using the author’s Ksplice solution or the DTrace real-time diagnostic mechanisms.
The lack of centralized management solutions in free Linux distributions should be considered a major barrier to implementing this type of system in production environments. Oracle delivers centralized enterprise-class Linux management tools, including Oracle Enterprise Manager 12c, which enables deployment, patching, monitoring and administration of Linux servers and Oracle Enterprise Manager Ops Center 12c, it also extends these features and mechanisms to manage system changes and configuration, firmware updates, and performance monitoring.
SUSE provides the SUSE Manager tool that allows you to automate management tasks on-premises and in the cloud. The software provides centralized mechanisms for delivering updates, security patches and configuration to monitored servers. It supports all hardware platforms, from x86 through IBM System z, VMware, Xen, KVM and Hyper-V virtual environments, as well as OpenStack or Amazon EC2 cloud platforms. SUSE Manager makes it easy for administrators, while also allowing you to complete enterprise rules and policies for change management, monitoring systems or enforcing security settings on them.
In the area of centralized management Ubuntu offers the Landscape tool that automates processes, updates and management of physical servers, virtual machines and instances hosted in the cloud through a single administrator console. Landscape includes a number of enterprise-grade features in software management and IT deployment, monitoring and inventory. For example, an administrator can define a maintenance window where updates will be deployed as well as define version requirements for packages in use to avoid problems with the operation of business-critical applications.
The choice of Oracle Linux may be dictated by the desire to use comprehensive solutions delivered by a single vendor in the field of applications, such as databases, operating system, middleware, management tools and hardware, all covered by a single point of contact (technical assistance).
Oracle has a portfolio of high availability solutions based on Oracle Linux and an OCFS2 file system cluster. Oracle Clusterware is a component of the Oracle Grid Infrastructure solution, which enables deployment of servers in a high availability configuration. In principle, this mechanism is used to provide continuity of applications, including database instances (on-demand switching, control) based on Oracle Real Application Clusters (RAC) technology, although it may well be used for clustering of third-party applications.
Red Hat’s portfolio includes the Red Hat Enterprise Virtualization (RHEV) platform, based on Red Hat Enterprise Linux and middleware solutions, Red Hat JBoss, and a comprehensive solution for building private and hybrid cloud environments in IaaS and PaaS models based on OpenStack, OpenShift Enterprise and Red Hat CloudForms software.
In private and hybrid cloud environments, Ubuntu, SUSE and Red Hat support solutions built on the OpenStack platform. Ubuntu Server in version 14.04 LTS supports an OpenStack implementation codenamed Icehouse. New features in this release include support for automated deployment mechanisms, queuing and notification mechanisms, integration with database-as-a-service, and compatibility with a Platform as a Service (PaaS) platform called CloudFoundry. The program has been certified by the Server Virtualization Validation Program (SVVP) to run with Windows Server 2008 R2 and Windows Server 2012.
Red Hat delivers specialized versions of Red Hat Enterprise Linux Server certified for high performance systems (HPC), real-time data processing systems, IBM Power Systems and IBM hardware platforms with Os, and SAP and SAP HANA business applications. Red Hat Enterprise Linux for SAP Applications simplifies the deployment of database and SAP applications in a production environment, in the area of software infrastructure required to serve this type of workload. SUSE offers a similar set of custom solutions based on the SUSE Linux Enterprise Server operating system.