kantver - Fotolia

Docker vs. Mesosphere battleground shifts focus to Kubernetes

Kubernetes integrations in Docker and Mesosphere are generally available, vying for enterprise attention with a focus on ease of use.

Container orchestration competitors Docker and Mesosphere have made good on pledges to support Kubernetes, and both vow to make its management simpler for enterprise customers.

The choice of Docker vs. Mesosphere for enterprise container deployments predates Kubernetes, and both container orchestration players had been involved in a three-way battle of schedulers: Docker with swarm mode, Mesosphere with Marathon and Kubernetes with its eponymous approach.

In 2017, as Kubernetes rocketed to broad popularity to become the de facto standard in container orchestration, both erstwhile competitors said they would integrate Kubernetes into their container management products. In March 2018, Mesosphere made its Kubernetes support generally available with DC/OS 1.11. A month later, version 2.0 of Docker Enterprise Edition now includes generally available Kubernetes support.

Both products look to capitalize on persistent challenges for enterprises, which seek to standardize on Kubernetes for its scalability and flexibility, but confront the platform's notoriously steep learning curve and persnickety management.

"Customers are almost done struggling and failing to implement Kubernetes on their own," said Jay Lyman, analyst at 451 Research. "Enterprises want [ongoing] lifecycle management, integration with existing network and security management software, and [the ability to] leverage existing IT teams to deploy Kubernetes."

Docker Swarm and Kubernetes side by side
Docker Enterprise Edition 2.0 combines Kubernetes and Swarm

Docker vs. Mesosphere approaches to kinder, gentler Kubernetes

The most prominent difference between Docker and Mesosphere Kubernetes approaches is in user interface integration. IT pros can use Docker Enterprise Edition 2.0 to manage mixed clusters of Docker swarm and Kubernetes from one interface that uses familiar tools, such as Docker Compose, to deploy applications onto Kubernetes.

Mesosphere DC/OS 1.11 offers several under-the-hood integrations between Kubernetes and enterprise apps, with a particular focus on big data apps, such as Apache Kafka, Spark and Hadoop. It also offers utilities to deploy Kubernetes clusters for different purposes, such as edge computing, disaster recovery and cloud bursting. Ongoing management of Kubernetes and Marathon is done through separate interfaces in Mesosphere DC/OS.

These differences in Docker vs. Mesosphere technology stem from each vendor's different outlooks on enterprise Kubernetes adoption patterns. While Docker expects enterprise IT teams to tackle Kubernetes management with the same team that currently manages containers via Docker swarm mode, Mesosphere officials said they expect Marathon and Kubernetes management will be done by different enterprise teams for different applications.

They may both be right for their respective customer bases, Lyman said.

"Docker's opportunity lies in the conversion path for teams accustomed to supporting Docker swarm that don't have a simple starting point for moving to Kubernetes," Lyman said.

Thus, Docker Enterprise Edition 2.0 brings all Docker swarm security and management features to Kubernetes clusters, and it allows them to be deployed side by side. Enterprise Edition manager nodes support both swarm and Kubernetes, and worker nodes can interact with either the swarm or Kubernetes APIs out of the box.

Developers don't have to choose a container orchestrator when they create applications, and the orchestrators can be swapped out at will. Docker cluster management features previously unique to Swarm can be used with Kubernetes clusters, such as secure application zones, Docker Secrets and the Docker Notary container image certification utility, among others.

Mesosphere, meanwhile, offers its own Universal Container Runtime (UCR), which is based on the Mesos container runtime that predates Docker. UCR can provision Docker containers without relying on the Docker daemon, and UCR management with Marathon includes advanced security isolation features that aren't available with Mesosphere's Kubernetes implementation.

Mesosphere customers, such as Deutsche Telekom, (DT) have been attracted to such features. DT uses security isolation for a specific mobile application, but it might choose to deploy Kubernetes clusters for other apps to take advantage of autoscaling features.

Kubernetes battles brew throughout enterprise market

[Enterprise users have] gone beyond an early kicking of the tires [of Kubernetes], and now they want to simplify.
Jay Lymananalyst, 451 Research

Several other IT vendors beat Docker and Mesosphere to the Kubernetes management market. Most notably, Red Hat has seen strong enterprise adoption of its OpenShift container platform. OpenShift's strength lies in its integrations with other widely used open source utilities, such as SELinux, Lyman said, as well as Red Hat's partnership for OpenShift hybrid cloud support with the dominant public cloud vendor AWS. Red Hat provides a slightly more opinionated version of Kubernetes, along with its own container images precertified for security, rather than offering the pure upstream Kubernetes distros used by Mesosphere and Docker.

Smaller IT vendors, such as Rancher and Heptio, also claim to provide easy Kubernetes deployments. Rancher's Kubernetes integrations are particularly focused on spinning up multiple Kubernetes clusters easily and then managing them from a central interface across clouds, whereas Heptio has introduced open source tools such as Ark to make backup and disaster recovery, among other business operations, easier with Kubernetes. The roadmap for upstream Kubernetes will also emphasize ease of use.

Enterprises are getting serious about container deployment in production and plan to standardize on the Kubernetes orchestrator to do so, Lyman said. And as they encounter frustrations, third-party vendors are rushing in with promises to mitigate them.

"Kubernetes is difficult to monitor, troubleshoot and keep running efficiently and effectively," Lyman said. "[Enterprise users have] gone beyond an early kicking of the tires, and now they want to simplify."

Dig Deeper on Containers and virtualization

Software Quality
App Architecture
Cloud Computing
Data Center