One of the biggest challenges for developers is deploying software across platforms. Traditional methods often require developers to rework large portions of their code to be compatible with the target platform, something that Docker can help alleviate.
What Is Docker?
Docker is a popular development tool that helps alleviate cross-platform issues by bundling software into containers. A container is a package that contains the software and all the resources and dependencies it requires to function. Once the Docker Engine is installed on the target platform, Docker software containers can be run with minimal modifications.
The Docker Engine is currently available for both Windows and Linux. According to the company’s website, “Docker Engine is the industry’s de facto container runtime that runs on various Linux (CentOS, Debian, Fedora, Oracle Linux, RHEL, SUSE, and Ubuntu) and Windows Server operating systems. Docker creates simple tooling and a universal packaging approach that bundles up all application dependencies inside a container which is then run on Docker Engine. Docker Engine enables containerized applications to run anywhere consistently on any infrastructure, solving ‘dependency hell’ for developers and operations teams, and eliminating the ‘it works on my laptop!’ problem.”
Why The Collaboration?
The increased collaboration with Microsoft is a good fit for both companies. Azure is currently in second place in the US cloud market, behind Amazon Web Services (AWS). One of the big advantages Azure has, however, is its focus on hybrid cloud solutions. In contrast, AWS has been a strong proponent of fully public cloud systems, only recently embracing hybrid more fully. Docker’s strategy aligns nicely with Microsoft, as their software is designed to help companies migrate to on-premise, hybrid or public cloud platforms.
Regardless of the kind of platform a company uses, the task of migrating their legacy software to the cloud can be an arduous process. This can be especially true for some companies who choose Azure. The second main advantage Azure has over AWS, or third-place Google Cloud, is its deep Windows roots. As a result, many Microsoft-based shops have a much easier path toward adopting Azure than its competitors. Unfortunately, that also means those companies often have software that has been in use for years, or even decades, that suddenly needs to be migrated to a cloud-based infrastructure.
This is where Docker and Microsoft’s increased collaboration will help. By better integrating with Azure Container Instances (ACI) and Visual Code Studio (VS Code), developers will have a much easier path migrating their legacy desktop apps to Azure. Developers will be able to take advantage of this ability either from within VS Code or from the Docker CLI.
"Using Docker we migrated our 15-year old core application to containers with no code changes, and using ACI we can run that same container at any scale we need,” said Tejo de Groot, chief architect at WindSim. “The POC phase of the project was done in a couple of weeks with a minimal team, and we're aiming to be live on Azure in Q2 this year."
The fact that Docker and VS Code are two the most popular developer tools is another reason for the companies to work together.
“Developers want simplicity, agility and portability, and development teams want code to cloud solutions that won’t slow them down,” said Scott Johnston, chief executive officer, Docker. “Extending our strategic relationship with Microsoft will further reduce the complexity of building, sharing and running cloud-native, microservices-based applications for developers. Docker and VS Code are two of the most beloved developer tools and we are proud to bring them together to deliver a better experience for developers building container-based apps for Azure Container Instances.”
“We are excited to expand our work with Docker to accelerate developer productivity by enabling them to use native Docker commands to run applications in Azure Container Instances,” said Amanda Silver, corporate vice president of Product for Developer Tools at Microsoft. “This new seamless experience from desktop to cloud means developers can more quickly and easily collaborate and create applications to run in Azure.”
A Competitive Advantage For Microsoft
Docker’s collaboration with Microsoft is by no means exclusive. However, given how much Docker helps developers migrating from legacy software to the cloud, Microsoft possibly stands to gain the most from a deep collaboration between the two companies. Microsoft, more than the other cloud providers, has a deep appeal to the very companies that will most benefit from the features Docker provides.
As the coronavirus pandemic has forced companies to move to the cloud faster than they may have planned, Docker can help companies with even the most legacy software to make that transition as quickly as possible.