Microsoft was prominent at the virtual Dockercon event last week as the companies extended their agreement to work together on integration between Docker and the Azure cloud.
The essence of the agreement, from a technical perspective, is integration between Docker Desktop, Visual Studio, Visual Studio Code, and the Azure service called Container Instances (ACI).
At Dockercon, we saw demonstrations of building a Docker container and deploying to ACI with just a couple of commands. "In three command line steps we can take any container and push it into Azure," Microsoft principal group program manager Paul Yuknewicz explained at the virtual conference. You will also be able to run Docker commands in the context of ACI.
These new features are in a forthcoming update to Docker Desktop, both on Windows and Linux. One can link to an Azure account with
docker login azure, and then use the command
docker context aci-create which, once executed, will let one switch between deploying a container locally or on Azure via
docker context use.
Microsoft is also updating Visual Studio Code and its Docker tools. The caveat is that the integration is primarily intended for development and testing. "For production, consider a CI/CD pipeline," cautioned Yuknewicz.
Note, too, that ACI is not the only way to run containers on Azure. You can also use Azure Kubernetes Service (AKS), App Service, Service Fabric, or virtual machines. ACI is particularly easy but the documentation says: "For long-running, stable workloads, orchestrating containers in a cluster of dedicated virtual machines is typically cheaper than running the same containers with Azure Container Instances."
Dockercon also included sessions on deploying applications to AWS, but in the keynote it was Microsoft's cloud that got all the attention. Why Azure? "It's focused on the needs of developers," said Docker CEO Scott Johnston, but that is not the whole story. 2019 was a difficult year for Docker, and in November the Docker Enterprise Platform, including Docker Engine Enterprise and the Universal Control Plane cluster management tool, was acquired by Mirantis to support its Kubernetes business. Docker said it would focus on "developer workflows for modern apps."
At Dockercon, Johnston acknowledged that, and said: "We are a smaller company now." Docker has found itself with an ubiquitous container format and a popular container repository (Docker Hub, which now has 1.5 billion pulls per week, the company said), but it is an ecosystem that is all too easy to take advantage of without paying.
The company's business depends on upselling users to a paid Docker Hub subscription with unlimited private repositories, parallel build service and team management tools, where it is competing against many other DevOps and collaboration tools, both free and paid. "It's fair to say Docker is still working to establish product market fit, in terms of paid subscriptions, in order to monetise the format and obvious developer goodwill," Redmonk analyst James Governor told The Register.
Just Docker room talk: Container upstart's enterprise wing sold to Mirantis, CEO out, Swarm support faces axREAD MORE
This means that Docker has a strong need for what Johnston called "ecosystem partners." There were five "platinum sponsors" for Dockercon: AWS, Microsoft, Nginx, Cockroach Labs and Snyk, which has recently announced integration with Docker Desktop and Docker Hub for security scanning.
Having a whale of a time ... with Microsoft
AWS, as the biggest public cloud provider, has an obvious interest in making deployment easy for Docker developers, but there are specific reasons for Microsoft to work with Docker that do not apply to AWS or Google Cloud Platform.
Microsoft has faced the reality that cloud development is dominated by Linux and has made every effort to make both Windows and Azure a good home for Linux development. Docker has been a key partner on the Windows side, adapting its technology to work with both Hyper-V and more recently WSL (Windows Subsystem for Linux). That integration continues with WSL2, just released to general availability, and one of Yuknewicz's demos at Dockercon was seamless integration between Visual Studio, WSL and Docker containers so developers can seamlessly develop and debug in Visual Studio while running the code on Linux.
Despite the Azure love shown at Dockercon, the company also emphasised that the value of standards like Docker and Kubernetes is that they are portable between vendors. "There were clear messages today about supporting multiple clouds," Governor said of the event. "For a while multiple clouds were something only the hand wavers were interested in, but we're seeing organisations where this is part of how they are using the cloud."
The new Docker/Azure integrations look handy, but the truth is getting a Docker container deployed to any public cloud is not difficult, and that is how it should be. The agreement is significant for other reasons, though, and fits with Docker's need for partners, and Microsoft's strategy with Windows 10, GitHub and Visual Studio Code to steer developers towards Azure. ®