Microsoft: Linux Is the Top Operating System on Azure Today

In 2001, then-Microsoft CEO Steve Balmer complained that “Linux is a cancer.” The future Los Angeles Clippers owner was referring to how Linux’s open source license — The General Public License — necessitate all the software it is built on be transformed into open source as well.
His fears were overblown, but also prescient in a way he probably didn’t realize.
Twenty years on, it is Linux — not Windows — is the most widely used operating system on Microsoft Azure. But it was customer demand, rather than Richard Stallman‘s stern disapproval, that brought Linus Torvalds’ project to prominence in the Microsoft cloud.
These days, Microsoft expends considerable effort that Linux runs as smoothly as possible on Azure, according to a talk given earlier this year at the Linux Foundation Open Source Summit given by two Microsoft Azure Linux Platforms Group program managers, Jack Aboutboul, and Krum Kashan.
“Linux is the #1 operating system in Azure today,” Aboutoul said.
More than 60% of Azure Marketplace offerings are based on Linux, which is about 20,000 services overall, and more than 60% of VM cores are built on Linux.
“We started out as a Windows platform, and Linux is the number one OS being run on Azure today”
— Microsoft’s Jack Aboutoul.
And all must be supported in a way that Microsoft users have come to expects. Hence, the need for the Microsoft’s Linux Platforms Group, which provides support Linux to both the internal customers and to Azure customers.
These days, the duo of engineers explained, Microsoft knows about as much as anyone about how to operate Linux at hyperscale.
Linux at Hyperscale
It didn’t start out this way. When Microsoft launched Azure in 2008 (Codenamed “Red Dog”) it was to offer a .Net platform-as-a-service, primarily for running web applications. Customers kept asking for a Microsoft-hosted LAMP Stack, however, and by 2014, with the blessing of CEO Satya “Microsoft ❤️ Linux” Nadella, the first virtual machines (VMs) running Linux were offered on Azure.
As of today, there are hundreds of Azure and Azure-based services running on Linux, including the Azure Kubernetes Service (AKS), OpenAI, HDInsight, and many of the other database services.
“A lot of the infrastructure powering everything else is running on Linux,” Aboutoul said.
“They’re different flavors of Linux running all over the place,” Aboutoul said.
To run these services, Microsoft maintains its own kernel, Azure Linux, and in 2023 the company released its own version of Linux, Azure Linux.
But Azure Linux is just a small portion of all the other flavors of Linux running on Azure, all of which Microsoft must work with to support.
Overall, there are about 20,000 third-party Software as a Service (SaaS) packages in the Azure marketplace that rely on some Linux distribution. And when things go wrong, it is the Azure service engineers who get the help tickets.
The company keeps a set of endorsed Linux distributions, which include Red Hat Enterprise Linux, Debian, Flatcar, Suse, Canonical, and Oracle Linux and CentOS (as managed by OpenLogic, not Red Hat).
An endorsement does not mean a recommendation, Aboutoul explained, but each has a dedicated user base.
“If a distro is going to be endorsed, we want to make sure that people are actually want to use the distribution,” Aboutoul said.
Once a distro is endorsed, Microsoft must put some engineering time into making sure it runs well within Azure. Microsoft sets up a contractual relationship with the distributor. Periodically, Microsoft will meet with these companies to let them know of upcoming changes and ongoing issues.
Lastly, Microsoft goes to considerable lengths to ensure packages are updated in a timely manner, through the Azure Mirror Infrastructure.
“We want to make sure that when [a user] wants a package update, that it is right there, sitting within the same network as your compute,” Aboutoul said.
The Linux Guest OS Development Life Cycle

Microsoft Azure’s Linux Guest OS development lifecycle.
Overall, the company gets about 1,000 images a month from these endorsed partners alone. Many of the distributions have multiple images (Suse has a regular one, and another one for high-performance computing, for instance).
“The main challenge for us has been timing. Every distro has their own release cycle,” Aboutoul said. One, Oracle Unbreakable Linux, does not even have a set schedule.
“We’ll get an e-mail from them saying the there is a release coming and then we’re panicking for the next three days trying to line up all the … requirements for what needs to be done,” Aboutoul said.
Once a customer spins up a distro (within a VM) they need to get the updates. Many will choose the auto-update option, so, to be safe, Azure will test the updates before they go live on user machines to ensure they don’t break systems.
Over time, the company wants to standardize these safe patching routines into what Aboutoul calls the Azure Guest Patching Service (AzGPS).
Beyond the eight officially supported distributions, there are many edge cases, including those distros that are outdated, and those that are not officially supported at all.
“You can run whatever Linux you want in Azure. You can bring in your own image. You can build your VHD. We will even give you best-effort support,” Aboutoul said.
“Believe me,” he adds enthusiastically. “There’s nothing like running Gentoo in the cloud.”
How Microsoft Tests the Linux Azure Fleet
The company also “continuously monitors” the upstream kernel, the kernel under active development that will be the next release in the stable branch, Kashan said. It does its own build every 12 hours and posts the validation results back into the Linux kernel continuous integration database.
Microsoft builds its own kernel, the Azure-tuned kernel. optimized for performance and for the Azure hardware.
The Azure Linux Fleet is running millions of VMs across thousands of SKUs, with each SKU addressing a specific configuration or optimization for workloads: GPUs, storage, and high-performance computing. All the combinations — covering 40 areas such as performance, functional, stress and community testing — add up to about 5 million tests a month. This means any of the 20,000 images running various marketplace apps will run seamlessly in Azure.
To automate things, Microsoft developed the LISA (Linux Integration Services Automation) framework. A lot of these test cases, written in Python, have been released as open source.
“We try to have it as a one-stop shop. Once your image passes LISA, you are good to go,” Kashan said
The company’s next steps is to launch LISA as a self-service portal on Azure, to be called the Azure Image Test Service for Linux (AITL) allowing a third party to validate their own Linux builds for Azure, via an API, or through a GUI. Tests will be privately kept and can be integrated into your own continuous integration and delivery system.
You can enjoy the entire presentation here:
YOUTUBE.COM/THENEWSTACK
Tech moves fast, don’t miss an episode. Subscribe to our YouTube
channel to stream all our podcasts, interviews, demos, and more.
link