In a press and analyst briefing a few months back, Microsoft CEO Satya Nadella put up a slide proclaiming “Microsoft ♥ Linux”. Wow! What a great slide and what a change for Microsoft! The trade press picked up on this slide in a major way, with a number of articles echoing this new approach to Linux and open source within Microsoft. And they’re right!
But you may ask “Why is Microsoft working with Linux and open source?”, or “What’s Microsoft’s plan going forward?”, or “What does ‘Microsoft ♥ Linux’ mean for me as a customer?”
At the core, “Microsoft ♥ Linux” is driven by what we’ve heard from you as customers. You run workloads on Windows. You run workloads on Linux. You run these workloads in your on-premises datacenters, hosted at service providers, and in public clouds. You just want it all to work, and to work together regardless of the operating system. We hear you, and understand that your world is heterogeneous. Bottom line, this is a business opportunity for Microsoft to offer heterogeneous support — both Windows and Linux workloads – on-premises and in a public cloud. Microsoft can add real value in a heterogeneous cloud.
It may come as a surprise, but Microsoft has been working with Linux for a number of years. System Center Operations Manager has offered Linux and UNIX monitoring since 2009. Drivers for running Linux guests on Hyper-V became widely available for a number of distros in 2010, and we even have drivers for running FreeBSD guests on Hyper-V. Microsoft Azure offered Linux VMs on “day 1” of the Azure IaaS general availability in 2013.
We’ve built a significant customer base that is using Linux with Microsoft products. Several hundred thousand Linux and UNIX servers in production usage today are managed by System Center, with the largest customers managing nearly 10,000 Linux servers. Customers such as Ancestry.com, Equifax, the United Kingdom government FCO Services, and Europcar operate Microsoft clouds on-premises running Hyper-V and System Center with many VMs running Linux. More than 20% of the VMs in Azure IaaS are running Linux. Azure is offering the HDInsight (Hadoop) service running on Linux in addition to running on Windows. And if you look more broadly, Microsoft offers key productivity software such as Office365, Skype, and RDP clients on Linux-based and BSD-based client operating systems such as iOS, Android, and Mac OS X.
What does this all add up to? Working with Linux isn’t new at Microsoft. In fact, Linux is already a sizable commitment for Microsoft that is now getting a higher public profile. We see executing on that commitment as a critical part of what we offer customers.
Linux in your datacenter
Microsoft is making huge investments in the foundational cloud technologies that are described in other entries in this blog series: Compute, Networking, and Storage. These investments are informed by our experience with the hyper-scale Azure public cloud. They are also independent of the guest operating system, so they work for both Windows and Linux. Great features like storage quality-of-service, network virtualization, and super-fast live migration using RDMA work for Linux just like they work for Windows. In the product development teams, when we envision and design new capabilities for the cloud foundation, we ask “How does this work for Windows?” and we ask “How does this work for Linux?” As a result, the Microsoft offering for on-premises datacenters is fundamentally heterogeneous, able to run Windows and Linux guests in a unified fashion.
Of course, some capabilities require the cooperation of the guest OS. For these capabilities, Microsoft developers write the Linux device driver code for Hyper-V and participate in the Linux community to get the code into the upstream Linux kernel at kernel.org. Then we engage with distro vendors like Red Hat, Canonical, Oracle, and SUSE to enable full support on Hyper-V for these distros that you are probably running. As a result, Linux runs great on Hyper-V!
We also invest in the management layer. We are announcing that the first version of Powershell Desired State Configuration (DSC) for Linux is now available. With DSC for Linux, you can do consistent configuration management across Windows and Linux. On Linux you can install packages, configure files, create users & groups, and set up services. DSC for Linux is also an open source project, available on GitHub.
Our enterprise management functionality in System Center Operations Manager, Configuration Manager, Virtual Machine Manager, and Data Protection Manager manages Linux right alongside Windows so that you can have a single systems management infrastructure for your heterogeneous datacenter. We’ve taken System Center management beyond just the Linux operating system, and into open source middleware such as Tomcat, JBoss, Apache Web Server, and MySQL. Also, we have extended our hybrid services to include Linux — for example, Azure Site Recovery between on-premises datacenters (or service providers) and Azure.
Linux in Microsoft Azure
As we’re doing for the on-premises datacenter, Microsoft is making huge investments in the Azure public cloud. Again, our goal is that everything in Azure works for Linux VMs just like it works for Windows VMs. Capabilities like the huge “G” series VM sizes, Premium Storage, and Azure Backup for VMs are available for both Windows and Linux, as is a range of extensions for custom scripting, regaining access, and OS patching. Some capabilities, such as integration with Docker, Chef, and other open source projects, are available to you on Linux before they are available on Windows.
Azure offers a range of enterprise-ready Linux distros in Azure: SUSE Linux Enterprise Server, openSUSE, Ubuntu Linux, Oracle Linux, and Core OS, as well as community distro such as CentOS. Or you can upload your own custom Linux image.
If you are consuming Azure services, you want flexibility to access those services from a Windows computer, or from a Linux or Mac OS X computer. For starters, you’ve probably used the Azure portal, which is an HTML5 web application that works in browsers running on Windows as well as browsers on Linux and Mac OS X. But as your usage progresses, you may want to integrate Azure into your operational processes. On Windows, Powershell is the primary scripting and automation interface. For Linux and Mac OS X (and Windows), Azure offers a node.js-based package of commands for scripting and automating the full lifecycle of Azure services.
In Azure datacenters, Microsoft personnel are now operating PaaS services based on Linux as well as services based on Windows. The HDInsight (Hadoop) service is the first to be available on Linux, and it makes good business sense for other services using “born on Linux” open source projects to just run on Linux rather than being ported to Windows. Internal tools for monitoring, diagnosing, patching, and meeting compliance requirements have been extended to include these Linux-based services.
Summary
Microsoft is doing a lot of work with Linux – for on-premises datacenters and services providers, as well as in the Azure public cloud. We know you run workloads on both Windows and Linux. We’ve made running and managing Linux workloads a fundamental part of our product offering so that the result is well integrated and just works. Go to www.microsoft.com/open to learn more about the investments we’re making. Remember, “Microsoft ♥ Linux”!