Red Hat blog
The operating system (OS), which runs applications on top of physical infrastructure, has served as the foundation of traditional IT for decades. The OS has since emerged as the cornerstone for new technology innovation, transforming enterprise IT and enabling robust applications that deliver a more personalized experience, are accessible from a wide variety of devices, and are used by more users around the world.
Despite the innovation it is driving, the OS has had a tough recent history. Over the past five years, naysayers have touted the demise of the OS, saying it would become totally irrelevant, and not needed for any use case.
It is safe to say this prediction has not materialized, and Linux continues to gain market share and grow against a number of measures.
Linux is the original cloud OS. Its popularity as a cloud architecture remains high today, and we expect it to continue to be the cloud OS. Unlike competing OSes, Linux was born on the Internet, making it a natural fit for cloud.
Today, Linux is the primary platform for a majority of cloud-based applications. As a case in point, an October 2012 Wired magazine article cited a report by Newvem which illustrated Linux's dominant position, particularly pertaining to Amazon Web Services:
At Wired’s request, Newvem — a company that sells management services to Amazon cloud customers — took at look at about 41,000 cloud machines run by several hundred customers. Its conclusion: Linux is twice as popular as Windows on Amazon Web Services. It was running on 67 percent of machines, compared to Windows’ 33 percent.
With Linux as the go-to OS for many cloud users, we are also seeing workloads migrate to Linux for public, private, and hybrid clouds because of efficiency and flexibility of deployment. Companies at the cutting edge of cloud computing and the Internet are choosing Linux and open source, and often choose Red Hat Enterprise Linux. In fact, Red Hat Enterprise Linux alone powers many of the world’s largest clouds.
But why? Let’s explore this by considering some of the attributes that are important in the cloud.
Red Hat Enterprise Linux is portable.
The cloud promise is built on the premise that users/developers/managers of applications have complete freedom to move, expand, replicate, and decommission those applications. The ability to run applications on any cloud or move between and across multiple cloud infrastructures requires more than distinct offerings for each category of cloud – i.e., public, hosted, and private cloud.
Portability of the operating system requires many things:
1. Architectural support that transcends specific hardware vendors.
2. A commitment to maintaining stability across a long product lifecycle – stability for the application binary interface (ABI), and for the application programming interface (API).
3. Deployment flexibility that means you can provision an application instance on a physical server for development and testing, and can also easily move the instance to a virtual datacenter or even a public cloud.
When Linux was born in 1991, it never aspired to achieve portability. Ultimately however, Linux did exactly that, and the resulting portability drove Linux to grow and expand, predominantly based upon the adoption of industry standard x86 architectures. Red Hat Enterprise Linux embraced this portability – and has been delivering on its commitment to "any app, anywhere, anytime" for more than five years. Red Hat Enterprise Linux has been powering and enabling applications to consume compute, storage and network resources on a broad range of virtualization solutions and cloud services from many vendors, with a commitment for stability over a ten year lifecycle.
Red Hat Enterprise Linux is consistent.
Portability is further enabled by consistency. That is, the ability to deploy applications and web services in the cloud that can truly be ubiquitous is contingent on a target operating system and platform that creates consistent underlying infrastructure. Just ask the ISVs who create the applications customers use, and they will validate the design goal of having a single target that works across all cloud environments. Since Red Hat Enterprise Linux is the same regardless of where you deploy it, the portability of applications into the cloud is made easier because a consistent target operating system exists.
Red Hat Enterprise Linux is a platform for applications.
A prominent role of the OS is to provide an application platform and runtime environment. This requires libraries, APIs, and runtime components for applications. This role doesn't go away in the cloud or in Platform-as-a-Service (PaaS) models where the operating systems are part of the underlying foundation. Specifically with OpenShift, Red Hat’s PaaS offering, Red Hat Enterprise Linux serves as the underlying operating system. In the application platform for the cloud, the operating system and its associated tools and components are critical.
You can automate Red Hat Enterprise Linux to scale.
Cloud-scale deployments require automation, which can mean many different things. In the context of the operating system, this means having the tools and utilities that allow for automation applied to provisioning, deployment, and management tasks. Only through this capability can cloud-scale deployments be built and managed with efficiency.
Automated tasks for servers are often tackled through the use of shell scripts, APIs, and access to the command line interface (CLI). Red Hat Enterprise Linux has had scripting and shell capabilities from the beginning, as well as a powerful CLI that can be used for remote management. These tools and capabilities have always been an advantage for Linux. This has helped make Red Hat Enterprise Linux the default platform for some of the most demanding scale-out and large-scale, mission critical applications. This capability for automation has also made Red Hat Enterprise Linux a popular choice for cloud deployments.
You can virtualize Red Hat Enterprise Linux and pool resources.
Virtualization is the technology underpinning of any cloud, and gets to the heart of how resources are managed on the underlying physical infrastructure. When it comes to hypervisors, kernel virtual machine (KVM) is leading the industry with its performance, scalability, and hardware support. KVM is part of Red Hat Enterprise Linux, backed by hundreds of companies in the Open Virtualization Alliance, and is the foundation of Red Hat Enterprise Virtualization.
Red Hat Enterprise Linux is open and standards-based.
The OS for the open, hybrid cloud should be be ubiquitous. Multiple examples exist across disciplines that the best ideas are not built by one or few, but by many. Linux is the strongest proof that the open source model works, and it has resulted in many of the world’s most useful and innovative products such as Apache Web Server, JBoss Application Server, and others.
We see the cloud also moving in this direction. OpenStack is quickly gaining support. Activity associated with OpenStack has increased between 15 and 35 percent percent for commits, file touches, repos and committers in the past five months alone.
Linux and subsequently Red Hat Enterprise Linux have been open from the very beginning. This starts with the Linux kernel, where Red Hat is the leading corporate contributor as of April 2012. The openness continues with hundreds of independent upstream projects like GCC, Python, LVM, KVM, GNOME, IPtables, SELinux, and continues with disciplined and innovative efforts inside of Fedora. These activities have been driven by active communities involving hundreds of thousands of individuals and entities whose ultimate mission is to deliver better technology. Through this transparent and open development model, and by embracing open standards, a flexible and interoperable platform was born.
You can manage and measure your resources with Red Hat Enterprise Linux.
In cloud environments, where shared services are provided to either internal or external customers (depending upon whether the cloud is public or private), the ability to provide measurement and metering is critical. Successfully managing resource pools that exist in cloud infrastructure depends on the ability to isolate, control, and measure various resources at a granular level. Red Hat Enterprise Linux makes available several tools to accomplish this: Control groups (cGroups) and Linux Containers (LXC) provide the foundation for resources to be monitored and reported, therefore allowing for billing and chargebacks to the service consumers:
cGroups provides the ability to allocate the various system resources like CPU, memory, and network I/O (or a combination of these resources) to the many processes running on a system. With cGroups, the system administrator can monitor, configure, and adjust dynamically the system resources on a running system.
LXC is a lightweight, low-footprint, virtualization technology which is currently available as a preview feature within Red Hat Enterprise Linux. With LXC the system administrator is able to take advantage of Linux process management but with the added benefit of process isolation. This isolation allows administrators to share file system hierarchies between containers, and also can be an ideal vehicle for providing security to the isolated process. Linux Containers provide the compelling architectural building block for multi-tenant cloud infrastructure.
Red Hat Enterprise Linux is flexible and customizable.
Cloud providers are building highly complex, next generation services and often require source code access as well as the ability to modify the base code to their highly specific needs. Linux has gained
traction among cloud providers because of its ability to be customized in this way.
Additionally, cloud architects require a deep set of capabilities that can build flexibility into the platform. Specifically, these architects require multi-tenancy and security for the applications. Features like SELinux and Linux Containers previously described are great examples of capabilities that empower the architect with flexibility. Platform offerings like OpenShift run in a multi-tenant model not only at the hypervisor level but also at the OS level. This provides tremendous benefit, from portable security for application to improved operational efficiency. These ultimately lower the costs for cloud infrastructure based on Red Hat Enterprise Linux.
At the end of the day, the operating system is a critical component of the cloud. And in the cloud, that operating system has often been Linux. Red Hat Enterprise Linux has emerged as a compelling platform for the cloud as it offers a consistent, stable environment that delivers the flexibility to use the same Red Hat Enterprise Linux platform in physical and virtualized deployments whether on-premise, hosted or in hybrid environments. This offers customers unique freedom of choice, rooted in the transparency and collaborative nature of its development model and its commitment to open standards.
The cloud demands choice and flexibility, and we believe that’s what will maintain Linux and specifically Red Hat Enterprise Linux as the cloud operating system well into the future.