Today, we announced an exciting set of joint initiatives with Microsoft, including:
- Extending Docker to Windows with Docker Engine for Windows Server
- Microsoft’s support of Docker’s open orchestration APIs
- Integration of Docker Hub with Microsoft Azure, and
- Collaboration on the multi-Docker container model, including support for applications consisting of both Linux and Windows Docker containers
I’d like to provide some context for this announcement, and why we are so excited.
When Docker was launched as an open source project 18 months ago, we had a simple goal:
“To build the ‘button’ that enables any application to be built and deployed on any server, anywhere.”
Today, we feel we’ve largely succeeded…for a) Linux applications consisting of b) a limited number of Docker containers.
We need to make progress in two big areas over the next few months in order to achieve Docker’s original goal:
- Extend Docker to major architectures beyond 64-bit Linux, and
- Extend to support applications consisting of a large number of Docker containers, distributed across servers, clusters, and data centers.
Today’s announcement represents a big step to addressing both of these challenges.
Docker Engine for Windows Server
While Docker started with Linux and is a driving force behind the Linux containerization movement, over half of all enterprise workloads are Windows based.
With today’s announcement, we are essentially doubling the universe of developers and organizations that can participate in the Docker ecosystem, creating a uniform standard across the two largest enterprise application ecosystems.
Docker Engine for Windows Server will enable developers to build containerized Windows and Linux applications using the same Docker tooling and leveraging the same, huge Docker ecosystem. The effort will include:
- A Microsoft led initiative to add container capabilities (e.g. the equivalent of namespaces and cgroups) to Windows
- A new Docker Windows Daemon, which will be built in open source under the aegis and governance of the Docker project, with input from Microsoft, Docker, Inc, and the broader Docker community
- The overall Docker platform, which will also be extended (in the open) to support both the Docker Windows Daemon and the Docker Linux Daemon.
Microsoft Support for Docker’s Orchestration APIs
We’ve been making significant progress towards enabling multi-container, distributed applications in the past few months. Composing multi-Docker container applications will become significantly easier as we integrate Fig into Docker. We’ve also been making progress on other critical capabilities for orchestration including provisioning and managing Docker hosts, creating clusters of Docker hosts, and inter-Docker container networking, all of which will be previewed this quarter.
Microsoft’s endorsement and early work with our orchestration APIs is hugely exciting. Microsoft and Docker share a common vision that multi-container applications should be assembled using both Dockerized Windows and Dockerized Linux components. The two companies will work with emergent infrastructure tools for multi-container applications like Kubernetes, Mesos, Helios etc. to provide a uniform Docker interface that provides developers with multi-platform orchestration capabilities leveraging Dockerized content from these two ecosystems.
At the heart of the Microsoft and Docker partnership is a shared view that there is great leverage when you provide developers a common approach to build their applications. Microsoft viewed Docker for what it is at its core; an open-platform for distributed applications that can provide a uniform user interface to a modular set of tools for containerizing and then orchestrating these applications.
Unifying Windows Server and Linux through the Docker platform aligns with Microsoft CEO Satya Nadella’s strategy to be the “productivity and platform company for the mobile-first and cloud-first world.” There is no greater productivity gain that I can think of than integrating two great development ecosystems and providing the means to collaborate by leveraging the best application “content” from each.
This new era of development that we are embarking on will be a far cry from today’s status quo. Today the vast majority of enterprise applications are slow-evolving monoliths that are bound to a specific infrastructure, let-alone a specific server.
Dockerized distributed applications in contrast are composed of modular components providing for constant real-time innovations which can be ported across any infrastructure, whether on premise or in the cloud, without any modification.. Modularity means that Dockerized distributed applications are evolutionary; they can blend the old with the new.
Integrating application content is also central to this partnership, as we announce federation plans between Docker Hub and Azure Gallery, which includes a broad array of content from the Microsoft ISV ecosystem. Docker Hub–which in just 4 months has seen its catalog grow to 45,000+ Dockerized applications–will become place for developers seeking to find and share the best distributed applications and components, whether they are Windows or Linux based.
Great Beginnings; Welcome to Microsoft
Today, the Docker ecosystem extends a warm “Welcome!” to Microsoft, and its ecosystem. We cannot wait for the collaboration to begin, and will be sharing more details in the weeks to come.
In the meantime, check out one of our first collaborations at Docker Global Hack Day #2.
- Read the Microsoft blog post
- New to Docker? Try our 10 min online tutorial
- Share images, automate builds, and more with a free Docker Hub account
Read More on the news
Read More in French