If you’ve paid attention to the Docker blog over the past week, you may have noticed both the release of Docker Datacenter and Docker Cloud. The former brings several much needed management functions to the on-premise enterprise, although it can easily be used in a public cloud account as well. Docker Cloud, formerly Tutum, takes this one step further, providing a hosted platform to build, deploy, and manage your containers on the major public cloud providers.
In the case of Docker Datacenter, you get several key components for managing your in-house container platform. First, Docker Trusted Registry provides a local repository for your container images, and uses Content Trust to enable and require the use of signed images with Docker Engine. The second part of Datacenter is Docker Universal Control Plane, which provides a Swarm cluster for running your container workloads.
The Docker Cloud announcement is also significant in that it provides a managed platform for containers. Organizations can use major IaaS providers (although GCP is curiously missing at the moment) and essentially get hosted deployment and management. This provides a very low barrier to entry, allowing organizations to focus more on development of their software, rather than deployment and provisioning.
Add to these announcements the release of Docker 1.10, which offers improved security and better networking. The move to use DNS for service discovery is just another piece of the UCP puzzle that will make it an interesting competitor in the orchestration space.
Less than a year ago when we looked at the orchestration space, Docker native tools were still in beta and had several noticeable gaps. However, Docker is making short work of those gaps and quickly gaining ground in the areas where they lagged behind. One such example is High Availability in the cluster. This functionality has recently been added to Swarm, and deploying it with UCP is frighteningly simple.
In fact, in my trial run the entire setup of DTR and UCP was incredibly easy. Docker owes much of its initial popularity to taking a non-trivial task, such as running Linux containers, and making it dead simple for anyone to get up and running in no time. Docker knows how to package the technology and remove the friction from the process. This dedication to the user experience is exactly what the competition should be worried about moving forward.
Take Mesos, which is notorious for being difficult to set up and manage. Mesosphere of course has done a wonderful job of bringing Mesos to the masses. Despite that, Docker is providing a very simple and holistic platform which is also integrated with the native Docker ecosystem. The additional layer that Mesos adds is a hard sell for companies just looking to run containers.
In the case of Kubernetes, there is also cause for concern. It’s no secret I’m a big fan of their approach and often disclaim my bias, having written a book specifically on K8s. They’ve built a well designed system and use a mental model that I find very intuitive for application development. Recent reports have even suggested that Kubernetes is getting the lion’s share of new adoption for container projects.
I believe this has occurred because it is a good middle ground of functionality and ease of use. The setup process is still being improved and simplified, but once a cluster is provisioned, users have found it very easy to use and maintain. Additionally, integration with partners, such as CoreOS, Red Hat, Calico, and Weave, helped early adopters build systems that filled gaps beyond container orchestration and provided building blocks for a full container platform.
While K8s has made a good start on user experience and integration, it will be a tough foothold to defend. Indeed, user experience and integration are two of the most important factors for many organizations adopting containers today. When I talk with companies looking to run containers in production, they want portability and agility, but most of all they want something simple.
Kubernetes and Mesosphere have made great strides here, but a shot has been fired across their bows (pun intended). It should be interesting to see what the next move will be.