June 10, 2014
When the first Linux distributions based on the 3.0 kernel were released almost a year ago, I was struck by how far Linux had advanced. The latest turn of the crank for Linux, in the form of Red Hat Enterprise Linux 7 (RHEL 7), reinforces this opinion. Built primarily on recent versions of the Linux 3.0 et seq kernel available to the entire Linux community, including SUSE, Red Hat, Cannonical and others, RHEL 7 continues the progress of the Linux community toward an OS that is fully capable of replacing proprietary RISC/UNIX for the vast majority of enterprise workloads. It is apparent, both from the details on RHEL 7 and from perusing the documentation on other distribution providers, that Linux has continued to mature nicely as both a foundation for large scale-out clouds as well as a strong contender for the kind of enterprise workloads that previously were only comfortable on either RISC/UNIX systems or large Microsoft Server systems. In effect, Linux has continued its maturation to the point where its feature set and scalability begin to look like and feel like a top-tier UNIX.
In addition to the required low-level plumbing – schedulers, memory management and file systems capable of keeping up with both high-volume transactions and operating effectively in large distributed clusters – Red Hat has also focused on features to improve the installation and management experience, thus directly reducing cost of ownership, following in the footsteps of other modern OS development trajectories.
Among the enterprise technology that caught my eye:
- Scalability – The Linux kernel now scales to 4096 x86 CPUs and up to 16 TB of memory, well into high-end UNIX server territory, and will support the largest x86 servers currently shipping. At this point, with RHEL 7 and other Linux distributions running on large Xeon E7 V2 servers, there seems to be little to choose between UNIX and Linux in terms of high-end scalability except in those very few cases where monolithic SMP runtime environments exceed 96 cores. The only thing holding Linux back from the very largest commercial applications is the inherent conservatism of the I&O professionals who run large UNIX transactional environments, and as Linux accumulates additional customer evidence, the migration of UNIX workloads to x86 Linux will continue.
- I/O – The Linux kernel now includes a wide range of file systems, ranging from an improved ext (the most widely used Linux file system) to XFS (for very large file systems up to half a Petabyte) and a beta version of btrfs (a geeky contraction of “Better File System"), an open source file system that promises much of the scalability and feature set of Oracle’s popular ZFS file system including checksums, snapshotting, advanced logical volume management including thin provisioning and others. RHEL 7 also includes advanced features like geoclustering and remote data replication to support advanced HA topologies.
- Virtualization – In addition to the built-in KVM virtualization, RHEL includes containers, a lightweight virtualization abstraction similar to Solaris Containers and Resource Zones. This provides a virtualized OS image that has very low overhead, and (both a great strength and a great weakness, depending on use case) generates all virtual OS Images from a single root OS image, so there is only one set of files to update to patch all OS Images.
- Clustering and HA – Supported by file replication features, the latest kernel distributions include the ability to set up geographically distributed clusters of physical and virtual servers with either automated or manual failover.
- Keeping it simple and running efficiently – RHEL 7 contains a range of improvements to make it simpler to install and lower overhead to manage, including in-place upgrades of existing RHEL system, rollback capabilities, and templatized deployment via “profiles,” which allow configuration definitions to be specified for specific workloads and deployed on demand. After the installation, the distribution contains a vastly improved set of runtime management and monitoring capabilities to enable optimal runtime performance.
Everything about the RHEL 7 announcement reinforces my earlier contention that modern Linux is, at this point, essentially a functional clone of available proprietary UNIX, with the latest round of additional capabilities in RHEL 7 giving parity with many of the high-end features that have distinguished enterprise-grade UNIX variants such as Solaris and AIX. While both Oracle and IBM have continued to invest, and have added further features to their UNIXs that offer differentiation from Linux, the difference continues to shrink and the number of workloads that cannot be effectively served by Linux on x86 systems also continues to shrink. This convergence is further catalyzed by the continual improvement in the underlying hardware platforms, with the recent announcements of systems based on Intel’s Xeon E7 V2 providing platforms for Linux that offer performance envelopes overlapping all but the very largest single RISC/UNIX system, and with better economics in most cases.[i]
Given time for the new Linux distributions to prove their stability, the future is bright for Linux to inherit the majority of the remaining RISC/UNIX enterprise workloads. UNIX will not die, but its absolute decline will continue, and its share of net new workloads will shrink even more dramatically.
[i] The performance advantages of the largest UNIX systems is largely unused in any event, since the majority of very large UNIX systems are run in a partitioned mode, with each partition being well within the performance envelope of even modestly configured 4- and 8-socket Xeon servers.