If you’ve been following Docker, you’ve probably heard the company’s CEO Ben Golub repeat over and over that Docker’s success depends on the ecosystem the 18-month-old startup grows around itself.
He is not exaggerating. Docker depends on standardization across the industry. Using the company’s own analogy, shipping containers wouldn’t be much more than metal boxes had the shipping industry not standardized on a uniform set of boxes that all weigh the same and have holes, locks, and tags in the same places.
Docker is a way to free a software developer from worrying about all the different parts of the infrastructure stack their application will be running on. With Docker, the developer doesn’t have to worry whether the app will run on somebody’s laptop, a VM, a cloud, or a dedicated server, or whether some part of the stack will have a different version of software the app wasn’t built to gel with.
A Docker container is a standard way for the application to describe its infrastructure requirements. It draws a clear line between the developer and IT. The developer is responsible for everything inside the container, and whoever managed the infrastructure is responsible for delivering the resources the app needs.
For it to work however, those on the infrastructure side have to accept the container as a way to communicate resource requirements. And for containers to be truly portable, those operating many different kinds of infrastructure have to accept it.
AWS Docker Support Pushes Standardization Forward
A huge piece of this standardization puzzle fell into place last week. Amazon Web Services, operator of the world’s largest cloud, launched a service designed to make it easy to deploy huge amounts of Docker containers on its EC2 infrastructure.
The other two big names in cloud, Google and Microsoft, have also been enthusiastic supporters. Google launched a cluster manager for Docker containers on its cloud earlier this month. Microsoft’s Azure has been supporting Docker containers since June, and the software giant has been busy integrating Docker with the next release of Windows Server.
Each cloud provider is leveraging their individual strength in the way they address Docker, Scott Johnston, the San Francisco-based startup’s senior vice president of product, said. Amazon, with AWS Docker support, is highlighting the massive scale of its cloud infrastructure; Google is underlining a massive ecosystem of developers it has cultivated around its cloud services; and Microsoft is leveraging both its cloud and its control over one of the world’s most popular server operating systems.
“Amazon obviously is taking advantage of their scale, their availably zones, and their infrastructure,” Johnston said. “Docker thinks that’s great. Microsoft Azure already has Docker installed on the Azure Linux node, and so a lot of the cloud work that you see in Amazon and Google you can also perform in Azure.”
AWS and Docker are a Good Fit
Amazon is in a good place to provide a set of tools to make Docker easy on its cloud, he said. With launch of the free container service, AWS wins because it makes it easy for users to consume a lot of EC2 capacity (which isn’t free), and users win because they don’t have to retrofit Amazon tools they are already using to manage Docker.
Amazon has done a good job respecting Docker’s native APIs, Johnston said. The Docker team is also happy with the way scaling is done, with capability to deploy applications across tens of thousands of containers. AWS is also going to support Docker Hub (a repository for popular application images) for its customers and contribute additional images to it. Observing which applications become popular among Docker and AWS users over time and creating images fine-tuned for the AWS platform will be an example of that standardization process Docker is hoping will continue.