October 1, 2016

Docker made headlines by saying its Swarm container orchestration platform out-performs the competition. Now, Kubernetes is firing back loudly, questioning whether the Docker benchmark tests are actually applicable to real-world clusters — and whether it’s fair to compare Swarm and Kubernetes at all.

As we reported, Docker recently commissioned benchmark tests that compared container response time on clusters managed by Swarm and Kubernetes. The tests, which were carried out by third-party consultant Jeff Nickoloff, suggested that Swarm was about five times faster than Kubernetes overall — and that it performed especially well when the cluster workload approached 100 percent.

Kubernetes is not taking the criticism lightly. In a series of Twitter posts, Kelsey Hightower, who works on cloud for Google — where Kubernetes originated — said there can’t really be a comparison between Swarm and Kubernetes because they are designed to do different things. Kubernetes, he suggested, is tailored for more sophisticated and complex infrastructures.

“The complexity Kubernetes abstracts at the lower level enables you to build elegant tools on top. This should be the [goal] of any platform,” Hightower tweeted. He added, “Kubernetes offers a unified set of APIs and strong guarantees about cluster state. Hence the complexity.”

He then continued, “Kubernetes and Docker Swarm focus on different things. Kubernetes aims to build a complete, all in one, framework for distributed systems.”

And then he summed it all up plainly: “Does Docker Swarm win in a few isolated benchmarks? Yep. Can you really compare the two projects? Right now the answer is no.”

Hightower also suggested — in a roundabout way — that the fact that Docker commissioned the benchmark tests makes the results less reliable. He said the tests offered “some valuable feedback” for Kubernetes developers, but noted that “the post was sponsored by Docker.”

None of this is a surprise, of course. This is the type of reaction you expect whenever competing technology platforms come to blows. The proponents of each one of the competitors question the objectivity and relevance of their opponents’ claims.

But from the perspective of the container ecosystem as a whole, the swift Kubernetes response to the Docker claims makes clear that Kubernetes not only wants to dispel the idea that its orchestration platform is slow, but also set itself apart from Swarm completely. It aims to build an image in which Kubernetes is not a direct competitor with Docker technology, but a complement that is better for some cluster environments, if not all, than Swarm.

In sum, the message is this: The choice between Swarm and Kubernetes should not come down to speed, but to the type of container infrastructure you have to manage.

Christopher Tozzi

Christopher Tozzi has covered technology and business news for nearly a decade, specializing in open source, containers, big data, networking and security. He is currently Senior Editor and DevOps Analyst with Fixate.io and Sweetcode.io.

  • Chris, good summary. It’d be interesting to tease out perspectives on characterizing the types of container infrastructure and how Kubernetes and Swarm (and others) lend themselves better to one type vs the next.

  • chrisciborowski

    Nice article Chris. The tools are very different, both originally designed to solve different challenges. As it stands right now K8s is more mature as a platform to instantiate containers and manage their lifecycle. Swarm (and Mesos/Marathon for that matter) are working towards the same goal. As container service discovery/registration and automatic routing (reverse proxy/LB) are added (using DNS, networking, interlock/registrator, etc.) they will get closer in features as well as performance.

  • Pingback: KubeWeekly #29 – KubeWeekly()

  • Pingback: Why Kubernetes Is Not Just Operational()

  • Pingback: Why Kubernetes Is Not Just Operational - Sweetcode.io()