Microsoft on Wednesday launched a preview technology of containers for Windows Server operating system.
Linux application developers are increasingly using containers to isolate multiple applications running on one server. In some cases, where the application code is from a trusted source, dozens or hundreds of containers can be run on one server, safely isolated from the others. Containers enable developers to get more efficient use out of their hardware than they would if they ran each application in a virtual machine.
Virtual machines also provide isolation, but each virtual machine requires its own copy of the operating system. Containers, which can share an operating system, don't. Some container advocates predict they will soon serve as a replacement for virtual machines, but in general, early adopters have noted the less-strict boundaries separating one container from another, compared to virtual machines, and have moved cautiously.
Containers have been a powerful phenomenon this year among open source and commercial Linux developers. That's because they've gained a standardized way of formatting and using containers from former platform-as-a-service vendor, DotCloud, now renamed Docker. At Docker's first user group meeting, this past June in San Francisco, it elicited strong backing from Red Hat, Google, and IBM. Red Hat has made Docker containers a standard way of packaging up Linux containers under its Enterprise Linux and on its OpenShift PaaS.
[Want to learn more about the debate over the role of containers? See Are Docker Containers Essential To PaaS?]
That makes it all the more surprising that Microsoft is partnering with Docker, Inc., which has heretofore been a straightforward Linux company. Now, Windows Server will be able to use Docker containers, too.
"This is a strategic partnership for Microsoft and Docker. It will result in new technology in a future product wave for Windows Server," said Jason Zander, corporate VP for Microsoft Azure, in an interview with InformationWeek. "It will bring the technology richness of Windows Server and .Net to the Docker community," he added.
That means Docker containers with Windows applications inside will run in the enterprise data server and on the Azure cloud with the same ease that Ruby, Node.js, and Python applications run inside Docker containers under Linux in the same settings.
"Dockerized workloads can run on Windows or Linux. Operations managers will use the same tooling and the same container system, without changing any application code," observed Scott Johnston, senior VP for Docker, in an interview. That doesn't mean Windows applications can be moved over to Linux or vice versa. On the contrary, each type of application will still need its compatible operating system.
But the method for preparing cloud workloads, for example, will become nearly identical for both Windows and Linux applications. The benefit, Zander added, will be in the simplified way operations managers will be able to deploy applications. Docker containers are often compared to shipping containers. They provide a standard format with standard handling procedures for moving things around. Docker, with its symbol of a friendly whale functioning like a container ship, suggests it will become the means for moving applications around. Developers and operations managers have been agreeing in droves -- for Linux applications.
Now Microsoft is saying that, in the near future, Windows Server will have the hooks to pick up Docker containers and deploy them with enough knowledge of their contents to make the implementation work the first time.
Johnston said that means the Docker engine has been modified to run natively on Windows Server and will be able to "Dockerize" Windows apps. It will be more tightly integrated with the Azure cloud's operations so IT managers can deploy Docker containers to it. And a Docker API for orchestrating and managing multiple containerized Windows apps will need to be fully developed.
"Our expectation is that we'll support the entire spectrum of container functionality on Windows," Johnston said.
The preview version of Docker containers on Windows will become a supported version in the "next wave of Windows Server that comes out," said Zander, without specifying when that would be.
Until now, Windows containers have been a research project at Microsoft. On Sept. 30 at Interop 2014 in New York, Azure's new CTO Mark Russinovich assured a panel audience that containers were coming to Windows, and the Microsoft Drawbridge system would make them easy to orchestrate and manage, securely. But he made no mention of the direct Microsoft/Docker alliance revealed Wednesday. Rather, he urged the audience to stay tuned for further developments.
Microsoft was a surprise early backer of Google's Kubernetes Project, announced in July, to produce a system for container orchestration and container group management. The project brought Microsoft, Red Hat, IBM, and Google together to produce open source code to accomplish that objective.
If the world wasn't changing, we might continue to view IT purely as a service organization, and ITSM might be the most important focus for IT leaders. But it's not, it isn't and it won't be -- at least not in its present form. Get the Research: Beyond IT Service Management report today. (Free registration required.)