Docker and Microsoft unite Windows and Linux in the cloud
Redmond demos cross-platform containerized apps
DockerCon 2015 Microsoft has doubled down on its support for Docker, further integrating the software container tech with Azure and Visual Studio Online and demoing the first-ever containerized application spanning both Windows and Linux systems.
The software giant first showed off its support for Docker on its Azure cloud at the DockerCon conference in June 2014. Then in October it said it would introduce Docker-compatible containers for Windows in the next version of Windows Server.
At this year's DockerCon, which took place in San Francisco earlier this week, attendees could stop by Microsoft's booth to see Windows Containers in action – although there's still no word on a release date for a version of Windows Server that supports them.
Then, during Tuesday morning's DockerCon keynote, Microsoft Azure CTO Mark Russinovich went one step further by giving a demo of a containerized application where some of the code ran on Linux and some on Windows Server.
Cleverly, he pushed a container with the ASP.Net portion of the code to the Linux server, while the Windows host ran a container with the Node.js portion. Ordinarily you might expect it to work the other way around.
To drive the point home, there were plenty of free T-shirts available at the Microsoft booth on the subject of uniting Windows and Linux via Docker. There were even buttons with the catchphrase that Microsoft CEO Satya Nadella coined in November, "Microsoft ♥ Linux."
Who'da thunk it?
Docker, Docker everywhere
Behind the scenes, Docker's own orchestration tools – including Docker Compose and Docker Swarm – handled the grunt work for both operating systems. But Russinovich didn't need to muck about with the command line, thanks to the newly implemented integration of Docker's tools with Visual Studio.
Russinovich first demonstrated how the IntelliSense feature of Redmond's free, cross-platform Visual Studio Code editor worked with Docker container configuration files. For example, it detected when he was typing the name of an image file and IntelliSense's code completion feature automatically pulled in a list of possible matches direct from Docker Hub.
Support for publishing projects to Docker hosts is coming to the full-fat Visual Studio IDE, Russinovich said. But for his demo, he instead used Visual Studio Code to upload his project to Visual Studio Online, which also now includes Docker integration.
The upload automatically triggered a series of continuous integration (CI) steps, Russinovich said, such as building Docker images, running containerized unit tests, pushing the images to Docker Hub, creating a Docker Swarm cluster on a collection of Azure VMs, and finally pushing the composed, multi-container application to the cluster.
And if you do plan to deploy your containerized apps on Azure, Russinovich added, Microsoft has made that easy for you, too. Beginning on Tuesday, you can now deploy Dockerized applications via the Azure Marketplace, including ones composed of multiple containers.
The Azure Resource Manager and the Management Portal have also been updated so that admins can specify configuration options for Dockerized apps, not just for the virtual machines onto which they will be deployed but also for the containers that will be launched on the virtual machines.
It's still early days yet for Microsoft and containers, but Redmond is clearly all-in on the concept. The proof? In addition to everything he demoed onstage at DockerCon, Russinovich had another bombshell to drop. Since the beginning of May, he said, the Number One contributor to the open source Docker code base has been Microsoft. ®