Linux and Windows used to be like oil and water, but new approaches to Windows containers will find a way to blend them.
Containers are increasingly important to achieve DevOps velocity. Containerization pulls provisioning and configuration management data into the container image so apps don't look to the host OS for that information. As intelligence gets baked into containers, the host OS becomes less important to manage the environment.
Windows containers must still catch up to the state of the art in Linux, where containers originated. But as the technology develops, traditionally separate Linux and Windows operations will begin to meld behind container orchestration software.
"Whether you're on a Linux or Windows environment, you don't have to worry as much about how you're building the server," said Andy Domeier, director of technology operations at SPS Commerce, a communications network for supply chain and logistics businesses based in Minneapolis. "You can use the same host image across [OS] platforms because you don't have to worry about individual configuration needs for apps."
Microsoft, which saw this trend coming, has jettisoned its Windows-only focus. Recent versions of products such as Azure Container Instances (ACI), ASP.NET Core 2016, Azure Web App for Containers, and the Azure App Service all support Linux and containers. Docker's Enterprise Edition release in August 2017 also added support for clusters and multi-tier apps made up of a mix of Linux and Windows components.
"[Microsoft is] a cloud operating system company and all their focus is on selling compute and storage in Azure," said Chris Riley, DevOps analyst at Fixate IO, a content strategy consulting firm based in Livermore, Calif., and a TechTarget contributor. "If Microsoft embraces open source and makes it easier to develop, then it's going to get easier to get applications into Azure and increase adoption."
Chris RileyDevOps analyst, Fixate IO
Longtime Windows shops said Linux may be the more efficient choice for future container-based app development pipelines.
"We're looking to break down some of our bigger apps into microservices to run on OpenShift Origin [container management platform], and for those microservices we're looking into Linux-based databases," said Aloisio Rocha, operations specialist at NetEnt, an online gaming systems service provider in Sweden. "We've found that, for a large amount of data, we don't need all the functionality that comes with Windows, and Windows databases are a bit too bloated."
For Microsoft, containers recapture lost time
OS convergence is likely, especially among IT organizations that want DevOps on Microsoft systems, but there's still work to do if Windows containers are to achieve parity with Linux. Microsoft is comparatively late to the containers game, with Docker container support first generally available in Windows Server 2016. Windows support for container orchestration platforms such as Kubernetes and ACI remains in the preview stage.
"Microsoft is trying to do progressive things and they're taking the right kind of steps," said Brandon Cipes, managing director of DevOps at cPrime, an Agile consulting firm in Foster City, Calif. "But if you want a good indicator of how containers are still hard for them, ACI is debuting on Linux and not Windows."
Microsoft's strategy for different versions of the Windows OS has also been in flux as the company strives to make Windows container images more efficient. The company revealed in August 2017 that it will no longer support its Nano Server operating system on host servers, but reserve the micro OS for use as a base image inside containers, while Server Core serves as the primary Windows OS for hosts.
"By removing components relating to hardware, and operating system parts which are not needed inside a container, Microsoft thinks it can make the Nano Server container smaller," explained Thomas Maurer, cloud architect for Switzerland-based ItnetX, a consulting firm that works with large enterprise clients in Europe. "This will make the startup of the containers faster and cut down on their resource consumption."
This is another area where Windows containers must catch up to their open source counterparts -- several container-specific micro-operating systems are already generally available for Linux.
Windows DevOps shops pursue automation, efficiency
Enterprise apps enter DevOps flow thanks to tailored tools
Windows admins adapt to stay relevant in DevOps world