Windows Server 2016 has native support for Docker and can run Windows applications in containers. The evaluation version is available now, and Microsoft will provide an upgrade path from evaluation to RTM, which is expected by the end of the month. The release came at Microsoft's Ignite conference last week, along with the news that Microsoft and Docker are partnering to provide commercial support, and the Commercially Supported Docker Engine is included in the Windows Server 2016 licensing cost.
Docker is free, open source software but since 2015 Docker, Inc have also provided commercial solutions. Core to the product suite is a variant of the standard Docker Engine called the CS Engine - Commercially Supported Docker Engine. The product has full support from Docker engineers and it's this variant which will be supported on Windows Server. In his announcement, Scott Johnson, Senior VP of Product at Docker, Inc highlighted the support side of the Microsoft partnership:
The Commercially Supported Docker Engine aka "CS Docker Engine", Docker, Inc's tested, validated, and supported package of Docker Engine, will be available to Windows Server 2016 customers at no additional cost; Microsoft will provide Windows Server 2016 customers enterprise support for CS Docker Engine, backed by Docker, Inc.
The partnership is a logical next step for the two companies. Docker has kept Windows users included with tools like Docker Toolbox and Docker for Windows, but the official partnership with Microsoft will put Docker in front of a very large customer base. It's a customer base which is used to paying licences, and may be attracted to Docker's commercial product Docker Datacenter. For Microsoft, the partnership brings a desirable new technology into the server release. Mike Schutz, General Manager of Servers and Tools at Microsoft talked about the new approaches made possible with containers:
Containers are a key technology underpinning a new generation of cloud-native applications and microservices. We’ve also been working with customers who want to use containers to transform existing applications to take advantage of cloud architectures and a modern DevOps environment.
InfoQ spoke to Stefan Scherer, a software architect recognized for his expertise as a Microsoft MVP and a Docker Captain, about the future of Docker and Windows containers.
What are you seeing as the main drivers for Microsoft customers to adopt Docker?
Stefan Scherer: I think they have heard about the importance Docker achieved in the Linux world. With Windows Server 2016 Docker comes natively to Windows. Docker is not just a third party tool to install on top of your server. Docker is co-maintained and supported by Microsoft. That gives the customers the confidence to use this technology to simplify and standarize their deployments. And with Windows 10 Microsoft has brought Containers onto the developer’s machines. They can start creating Docker images for their applications right now.
Different platforms can be part of the same Docker Swarm, which means you can run Windows and Linux applications from one compute cluster. Is that attractive to Microsoft customers?
Scherer: I see Docker as a bridge between Linux and Windows, lowering the barrier between these two worlds. Once you have understood the basic concepts of Docker you know that you can spin up containers in the same way on both platforms. With such a mixed Docker Swarm you can choose and combine all available Docker images.
Windows Containers were expected to be announced at Ignite, but many were surprised by the commercial partnership. Is the deal more important for Microsoft or Docker, Inc?
Scherer: I think that both Microsoft and Docker will benefit from that deep partnership. Offering support from Microsoft makes Windows an attractive Docker platform. Enterprise customers can have support from their OS vendor.
Microsoft have put their base Docker images for Windows Server Core and Nano Server on the Docker Hub for anyone to use. Do you think the Hub will soon be home to thousands of Windows application images, like it is with Linux apps?
Scherer: Yes. With the availability of Docker on Windows 10 and the Server 2016 RTM developers can start using Docker in their normal environments. Developers will start to dockerize their development environments and share them on the Docker Hub. There already is a growing number of base images for different programming languages (Golang, Python, .NET) as well as some base applications like IIS and databases. Some best practices will evolve through a Windows Docker community how to build Docker images for Windws. So I believe there also will be more and more Windows application images on the Docker Hub.
Docker Hub is the home for public shared Docker images. It's had 6 billion image downloads since it started, and is expecting another billion every 6 weeks. It's hugely popular and Docker added support for Windows images to the Hub with the release of Windows Server 2016 Technical Preview 5. Microsoft and Docker will be hopeful that it will be as successful with Windows images as it has been for Linux, driving the takeup of Windows containers.