Containers have the potential to wreak havoc on server virtualization technology vendors' businesses, so it's not surprising that most are taking the threat presented by containers very seriously.
What's interesting though is how some of the biggest hypervisor makers are responding. And one company that has been revealing its hand more and more recently is Microsoft.
Microsoft Azure, built on Microsoft's Hyper-V, has certainly moved with the times since its launch seven years ago as Windows Azure, and along with Windows virtual machines it now offers Linux VMs as well. The rise of containerization has forced Microsoft to adapt Azure even further, and a year ago Microsoft launched its Azure Container Service (ACS) in Azure, with a choice of Docker's Swarm or Mesosphere's DC/OS to enable customers to deploy and orchestrate their containers in Azure.
And then last month Microsoft went even further when it announced that Kubernetes, the open source container management and orchestration system originally developed by Google, is now available to use with ACS.
Kubernetes support was first announced back in November, but it's now Generally Available as an additional choice (along with Swarm and DC/OS). Based on feedback that Microsoft received during the testing phase, support for Kubernetes has been improved and new features such as the ability to scale clusters up and down elastically have been introduced.
"Azure is the only public cloud platform that provides a container service with the choice of the three most popular open source orchestrators available today," Saurya Das, Microsoft's program manager for Azure Linux, said in a blog post announcing the release. "ACS's approach of openness has been pivotal in driving the adoption of containers on Azure," he added.
Microsoft is also previewing support for Windows Server Containers — its own containers built into Windows Server — with Kubernetes and Docker Swarm.
VMware Making Moves of Its Own in Response to Docker
VMware too has had to respond to the rise of Docker, and the VMware offerings today reflect that. Most recently, at the very back end of last year, the company released vSphere Integrated Containers (VIC), which brings containers into the world of vSphere 6.5.
It's a response to the problem of containerized applications running inside "big Linux VMs," which VMware says is a problem because "IT has no idea of how to manage, monitor and secure those applications."
VMware's Project Bonneville addressed this by allowing individual containers to run in their own VMs, which VMware said was "maybe not cool, but very useful."
Hence VIC. What does VIC do? It's… complicated.
Grossly over-simplified, VIC includes VIC Engine, an interface that exposes vSphere objects and services as container primitives, along with "personalities," including a Docker personality. (Think of this as a Docker "façade" on top of vSphere.)
OK. Hold on to your hat. This façade is created, using a tool called vic-machine, to deploy a Virtual Container Host (a vApp) on top of vSphere, and inside this Virtual Container Host there is a small VM that acts as a Docker Endpoint.
We'll let Das explain it from here. "The IP of that VM is what the vSphere admin will hand over to the internal customers that need Docker. When the customer runs "docker run -H <IP> busybox" the busybox Docker image will be pulled from Docker Hub and it will be instantiated as a VM inside the Virtual Container Host vApp." Simple, right?
Along with this, there's an open-source registry called Harbor and a tool called Admiral that adds support for containers to vRealize Automation.
VIC is designed to appeal to developers, and in particular to heavy users of vSphere. For container aficionados who are not big VMware virtualization fans there's also Lightwave and Photon, a combination of container technologies for developers who want to put containers inside virtual machines (they are better together, remember?) but don't want to use the whole VMware ecosystem.
When you look at the effect that containers are having on the likes of VMware and Microsoft Azure it appears that containers are a kind of non-deadly virus. They don't kill technologies they come in to contact with, they just invade them and adapt them to make themselves stronger.
That may be painful or inconvenient for server virtualization technology vendors, but in the long run it's a very healthy situation for developers and DevOps types that use containers.
Paul Rubens is a technology journalist and contributor to ServerWatch, EnterpriseNetworkingPlanet and EnterpriseMobileToday. He has also covered technology for international newspapers and magazines including The Economist and The Financial Times since 1991.