Docker builds container orchestration right into its core Docker Engine

Docker, which is hosting its sold-out developer conference in Seattle this week, today announced a major addition to its core Docker Engine. While the company previously split up many of the features it takes to use containers in production (think building containers, deploying them and then orchestrating them), it is now building container orchestration right into the Docker Engine.

The company is also making it easier to deploy its tools on Microsoft’s Azure and Amazon’s AWS cloud computing platforms.

As Docker COO Scott John Johnston told me, he sees this move as the company’s attempt to extend its work in making containers easy to use to also democratizing container orchestration, something Docker CEO Ben Golub also stressed during today’s keynote. Container orchestration remains a major pain point for developers, even as multiple frameworks like Kubernetes and Mesos now vie for this market.

docker_engine_swarm_mode

What Docker has essentially done here is build the core features of Docker Swarm and Compose, its existing clustering and orchestration services which came out of beta last November, right into its core Engine. Developers will now be able to turn on “swarm mode” to create self-healing clusters of Docker engines that can discover each other. Swarm mode includes support for an overlay network that allows for automatic service discovery and load balancing tools, as well as a new Service Deployment API that allows developers to declare which services, images and ports they want to use.

Johnston noted that there will be no changes to Docker’s existing Swarm and Compose tools — largely because the team didn’t want to break any existing deployments and because it wants to remain true to its word that developers should still be able to use third-party tools as well. Indeed, the company argues that this move “further expands their opportunity building around the Docker platform” and that its plugin architecture “is evolving to allow our networking, storage, logging, monitoring partners etc. to take advantage of these native orchestration features.”

docker_swarm-commands

At the same time, though, he also noted that developers and sysadmins who want to make use of these new features will now be able to use the same Docker command-line tools they are used to already and more easily spin up the necessarily infrastructure to test or deploy their applications. “Distributed computing is hard and sysadmins shouldn’t have to go back to school to manage distributed apps,” Johnston said. “By building this, you can take a couple of nodes, and provide the orchestration tools to get going.”

Docker also argues that its system doesn’t have a single point of failure and isn’t dependent on any external infrastructure. The team also notes that it has expanded its security work as well and in Swarm mode, all nodes communicate using TLS and Docker’s Cryptographic Node Identity allows admins to only dispatch workloads to certain trusted nodes.

Docker 1.12, which includes all of these new features, is now available as a release candidate, with general availability planned for July. Once they have been more thoroughly tested, swarm mode and other additions to 1.12 will find their way into the company’s commercial offerings in the second half of 2016.

IMG_20160620_092304

Docker for AWS and Azure

Besides these new features, Docker also today announced Docker for AWS and Azure — an easy way to deploy Docker Engine on these platforms. “As we expand the market, we are reaching a class of users that just want the platform to work best with their chosen infrastructure,” Johnston told me. Docker for AWS, for example, is tightly integrated into AWS’s own infrastructure services like AWS Autoscaling, Elastic Load Balancer and Elastic Block Store, while the Azure edition integrates with the equivalent Microsoft cloud services.

Missing here, of course, is support for Google’s Cloud Platform, but Johnston told me the company decided to align its resources with what the team is seeing in the marketplace. While many enterprises want to run on multiple clouds, they still tend to choose AWS and Azure over Google’s offerings. “As we scale and expand, we will add Google and Rackspace and others, though,” Johnston said.

IMG_20160620_100449

With this release, Docker for OS X (which will surely soon be renamed Docker for macOS) and Windows are also coming out of private beta and are now available as public betas. Just like their AWS and Azure counterparts, the Mac and Windows versions are specifically tuned for those platforms even as the user experience remains the same.

Docker for AWS and Azure, however, will only be available in a private beta for now.