The Docker virtualization technology has just taken another giant step forward, as developers from both Microsoft and Docker have started working on a native Docker implementation for Windows Server, which will make the increasingly popular container technology available for use in Windows shops.
"In the future, a developer building an application with Windows components will be able to manage that application using Docker," said Solomon Hykes, creator and chief maintainer of Docker, as well as chief technology officer of the namesake company.
Heretofore, Docker has only run on Linux. The two companies will create a version of the Docker Engine that will run, natively, on the next edition of Windows Server, as well as run on the Microsoft Azure cloud.
The two parties envision a world where designers will be able to build distributed systems using both Windows and Linux components under a single architecture. "It will become much easier to assemble hybrid systems and to mix and match different components based on what the application needs," Hykes said.
With this step, Microsoft has joined Google in viewing container-based Docker virtualization technology as an essential component in cloud infrastructure services.
Microsoft's Azure cloud service has offered the ability to run Docker containers since June, but this new partnership will create a native container-based technology specifically for the Windows Server OS, ensuring faster performance.
Rather than develop the software in-house, Microsoft is making the Docker Engine for Windows Server an open source project, managed under Docker, to which Microsoft itself will contribute heavily.
"We're providing the container support from Windows Server that Docker itself will bind into using our orchestration layer," Zander said.
Docker containers developed for Linux won't be able to run, at least not natively, on Windows Server, nor vice versa. But the Windows Server version will have the same features as the Linux version, which will allow for both versions to be managed and orchestrated through the same set of controls, Hykes said.
Docker is a form of container-based virtualization that has created quite a buzz in the cloud computing community since its launch in March 2013.
Like a virtual machine, a Docker container can hold an application, freeing the developer from worrying about writing to the underlying system software. However, unlike full virtual machines, a Docker container does not include a full OS, but rather shares the OS of its host — in Docker's case, Linux.
As a result, Docker containers can be faster and less resource heavy than virtual machines, as long as the user is willing to stick to Linux. A full virtual machine may take several minutes to create and launch, whereas a container can be initiated in seconds. Containers also offer superior performance for the applications they contain, compared to running the application within a virtual machine, which incurs the overhead of running through a hypervisor.
Sign up for Computerworld eNewsletters.