Linux and open source have been on the rise for Microsoft users for more than 10 years after Microsoft open sourced ASP.NET back in 2009. It could be deemed in fact that Linux’s success lies in the open source development model itself.
When Scott Guthrie, Microsoft’s executive vice president of the cloud and enterprise group, was quoted last year stating, with regards to Azure “Every month, Linux goes up” and, “Native Azure services are often running on Linux. Microsoft is building more of these services. For example, Azure’s Software Defined Network (SDN) is based on Linux.” It revealed that both core services and usage of Linux within the Azure platform may have been more than you might have expected.
This summer, Sasha Levin, Microsoft Linux kernel developer, requested that Microsoft be allowed to join a Linux security list, and among other points, noted that Linux usage on Microsoft Azure cloud has now surpassed Windows.
For me, the rise in popularity and use of Linux distributions is as a result of several combining factors, but one of the key ones could be the increase of serverless and PaaS offerings available within Azure with an OS-agnostic approach to how these services can be provided.
The way we were
In the not too distant past, when systems were designed and planned for corporate use such as MSSQL database services, it was reasonable to find architects and consultants only able to recommend Windows-based server operating system as a platform for service hosting. Then, leaning on application services provided by MSSQL to form the core service requirement for that host. Now, services like Microsoft SQL Server are available on Linux.
It was also common to find web services hosted on Windows Server OS utilising Internet Information Services (IIS) to provide the platform for the web app.
These days, with ever more Azure Platform and Software-as-a-service offerings, not necessarily dependent on a specific server OS platform per se, has meant that the back-end technology used to provide these services can be truly agnostic. And, if a platform is not dependent on the underlying operating system but on the service itself, not only could Linux provide a cheaper alternative, it could in many ways be a better fit.
When we create a new .NET Core Web App in Azure, we have the option to select a runtime stack based on the availability for that operating system. Since .NET Core is cross platform, you could select an option here fit for your app service regardless of the underlying OS. This could mean taking advantage of cheaper Linux pricing.
In this case above, when your application does not require a Windows OS, and the Linux Operating System is cheaper, a prudent project might elect to use the Linux option.
An app service in UK South using the Windows operating system, in a standard tier S1 instance at the time of writing would cost £68.01.
The same on a Linux OS would only cost £54.41. Multiply this by various app services using multiple instances and pricing tiers and you could find a justifiable saving even at this level.
When it comes to container-based workloads, Linux also has a head start. It’s cheaper runtime costs, small footprint and fast start up times has led to a surge in containerisation, all made possible through the accessibility of Linux. For more information on understanding containers in Azure, you can take a look at my colleague Ben Briggs’ blog here.
The Microsoft Distro
There are now at least eight Linux distros available on Azure. And that’s not counting Microsoft Azure Sphere. Azure Sphere is a software and hardware stack designed to secure edge devices, which includes what Microsoft president Brad Smith declared a custom Linux kernel.
Microsoft’s Sasha Levin also made the claim recently that Azure Sphere, a Linux-based IoT solution, could be considered a Linux distro in its own right. This purpose-built OS built by Microsoft shows that they are not averse to seeking out and embracing the right tools for the job, combining security innovations pioneered in Windows, a security monitor, and a custom Linux kernel to create a highly-secured software environment and a trustworthy platform for new IoT experiences.
Linux VMs in Azure
From an IaaS perspective, Azure supports the most common Linux distributions, including Red Hat, SUSE, Ubuntu, CentOS, Debian and CoreOS – with more on the way.
A comparison cost of an example D2v3 Instance VM in UK South with Windows Server, start with a base of £113.17 per month (excluding Hybrid Use Benefit). The same VM instance and tier running CentOS or Ubuntu, for example, come in at £63.11.
You can create your own Linux virtual machines (VMs) or choose from hundreds of preconfigured images available in the Azure Marketplace. And for distributions currently not available in the Marketplace, you can upload your preferred Linux image as a “non-endorsed” operating system.
To improve the security of Linux virtual machines in Azure, you can now integrate with Azure Active Directory (AD) authentication. When you use Azure AD authentication for Linux VMs, you can login using your Azure AD credentials and centrally control and enforce policies that allow or deny access to the VMs.
Azure Active Directory authentication is currently in public preview and is therefore at this time provided without a service level agreement, but For Microsoft, we can see that when it comes to Linux, the options available and their continued development are far from limited with Azure.
What next for Linux in Azure?
Whether it be exploring Linux options in new App Services or migrations, or Azure hosted Linux VMs, let Silversands help you with that transition. Simply get it touch using the form below and we’ll get back to you as soon as we can.
You can also join one of our regular workshops, seminars or webinars, providing the latest updates and expert advice about Microsoft 365, Cloud and Hybrid IT, User Adoption and the Power Platform. We also pots regular blogs so please do follow us.