Microsoft and Docker have been working together for over three years now, and this collaboration has led to the creation of LinuxKit and Moby Project.rn Today, supporting Linux is as critical to Microsoft as it is to Red Hat and SUSE. (Linux now runs on one out of three machines in Azure cloud.) Surprisingly, Microsoft is doing an incredible job showing how critical Linux is to Azure’s success. On the developer side, Microsoft worked with Canonical to build a subsystem for Linux so developers can use Linux utilities and tools natively on Windows 10 without having to make compromises with virtual machines or workarounds like Cygwin. On the server and cloud side, where everything is getting containerized, Microsoft is working closely with companies like Docker to bring the Microsoft world closer to the Linux world. Microsoft and Docker have been working together for more than three years now around adding Linux container support in Windows. One can see traces of Microsoft in many Docker products and projects, including Docker for Windows, Docker for Azure and the recently announced LinuxKit and Moby Project. SUBSCRIBE TO OUR NEWSLETTER From our editors straight to your inbox Get started by entering your email address below. Please enter a valid email address Subscribe “The genesis of LinuxKit, was all that work that we did on boot2docker project. All of the original work was done by the Microsoft Open Technologies group. They were contributing all that work they started to ensure that boot2docker as an image would work well under Hyper-V,” said Taylor Brown, lead program manager for Windows Server and Hyper-V Containers. Microsoft has been working with Docker for all these years helping the Docker team understand what pieces to use and how to better use Hyper-V as a platform. “That’s what got us to where the LinuxKit is today — a lot of boot2docker pieces, a lot of Moby pieces which lead up to that point,” said Brown. A two-way street Microsoft also borrowed some neat ideas from Linux containers. “Docker combines some complex kernel features into a simple-to-use, easy developer experience that we all love, and Windows teams wanted the same developer experience for Windows developers so they took the open source Docker engine, combined it with some complex Windows kernel features and created Windows Server Containers,” John Gossman, lead architect, Microsoft Azure team and a board member at the Linux Foundation told the audience at DockerCon, last week. Working in isolation However, Microsoft wanted to solve some more complicated problems. Whether it’s Windows Server Containers or Linux containers, they share the same kernel as the host operating system. There are instances where someone may not want to or can’t share a kernel. It could be that a developer is running a kernel on his or her development laptop that’s different from a specialized kernel running in production. Or perhaps a container requires a specific version of a kernel or driver that a developer wants to share with other containers. One way to achieve this is through a complex mix of containers and virtual machines, but then there is added complexity and lost performance, which kind of defeats the whole purpose. Gossman explained that Microsoft solved this problem by creating Hyper-V isolation for containers, which wraps a container in a very lightweight, optimized virtual machine designed to run nothing but containers. “Each container gets its own copy of the kernel for the isolation it needs and yet you get more performance advantage or that shared kernel container,” he said. This technology has been available in Windows Server 2016, which worked with Linux containers, but at DockerCon, Microsoft announced support for Hyper-V isolation to Linux containers running on Windows. That’s where LinuxKit also comes into play. Forthcoming versions of Docker for Windows and Docker for Azure will combine LinuxKit as Hyper-V isolation for the best possible experience running Linux containers on Windows. Customers will be able to choose whichever kernel they want to run inside that isolated box. There may be cases when someone wants a kernel from a particular vendor for their app, or a particular version of the kernel, or a particular driver. “APIs specify not only the container image you want to use, but the version of the Linux kernel you want to use in the scenario. We are working with all major Linux vendors to make sure that their kernel is available to operate in this mode,” said Gossman. “I expect to see a lot of heterogenous deployments, where customers will have some Red Hat images to support some components that they need next to container images that are running LinuxKit. There should be no difference, it’s just Docker containers,” said Brown, “The magic of the Hyper-V isolation is that you do ‘docker run’ and we just take care of the rest of it for you.” Related content opinion These are the most exciting Linux powered devices Did you know that Tesla cars ran on Linux?rn By Swapnil Bhartiya May 22, 2017 4 mins Linux Open Source opinion How Rackspace flew through turbulence in the private cloud Bryan Thompson, General Manager, OpenStack Private Cloud at Rackspace, talked about the second generation of cloud and some turbulence that OpenStack recently experienced.rn By Swapnil Bhartiya May 22, 2017 4 mins Open Source Cloud Computing Data Center opinion How Dell’s Project Sputnik came to life I met and talked to Barton George, the projectu2019s initiator and leader, to understand the backstory. By Swapnil Bhartiya May 22, 2017 10 mins Linux Open Source Computers and Peripherals opinion Elementary OS is trying to create a business model for open source app developers There is no dearth of Linux based operating systems, you will find dime a dozen. However there are only a few major ones that matter and elementary OS is among them. rn By Swapnil Bhartiya May 20, 2017 4 mins Linux Open Source Podcasts Videos Resources Events SUBSCRIBE TO OUR NEWSLETTER From our editors straight to your inbox Get started by entering your email address below. Please enter a valid email address Subscribe