Docker says its native container orchestration platform, Swarm, outperforms Kubernetes by up to 500 percent overall. That’s according to results published this week from benchmark tests by a third-party observer that Docker sponsored.
Docker said on its blog that its goal in commissioning the benchmarks was to help guide container users who are choosing between multiple orchestration platforms. It cited survey results showing Swarm and Kubernetes, the open source orchestration tool from Google that is Swarm’s main competitor, with nearly equal market share among enterprises that use container orchestration tools. (Amazon ECS was a close third.)
In Docker’s view, there should be no great competition because Swarm — according to the company, at least — outperforms Kubernetes handedly. To prove it, Docker hired Jeff Nickoloff, an independent contractor, to benchmark Swarm and Kubernetes performance and compare the results.
The tests, Docker said, were designed to measure how quickly containers started and how fast the container infrastructure responded to operational changes.
The company also emphasized that the focus was on actual performance, not scheduling. “The reality is nobody cares if a container was ‘scheduled’ to run,” Mike Coleman, Docker’s senior technical marketing engineer, wrote. “What they care about is that the container is actually running. I think about it like this: If I go out to eat, taking my order and handing it off to the kitchen is great, but what’s really important is how long it takes to actually get my meal prepared and delivered to my table.”
The benchmark results are detailed in the blog post. These are the highlights:
- Swarm was able to spin up containers in about 0.5 seconds. Kubernetes took around 2 seconds.
- Swarm was much more responsive in listing containers than Kubernetes, especially when containers were under heavy load. The biggest difference appeared when the cluster reached 100% capacity. Under those conditions, Swarm was ninety-eight times — yes, ninety-eight times, or 9800% — faster than Kubernetes.
Why the better performance results with Swarm? Docker says it comes down to a simpler design. Quoting Nickoloff, it said, “Kubernetes is a larger project, with more moving parts, more facets to learn, and more opportunities for failure. Even though the architecture implemented by Kubernetes can prevent a few known weaknesses in the Swarm architecture it creates opportunities for more esoteric problems and nuances.”
Container Ecosystem Takeaways
We could write more about the details of the benchmark tests. As with any comparison of this nature, there were no doubt imperfections in the testing. And the fact that the tests were commissioned by Docker, rather than being conducted independently by a completely neutral third party, always raises some flags.
But that’s not the most important issue here. The key takeaway from these reports, at least from the perspective of the container ecosystem, is how eager Docker is to promote its own container management stack, as opposed to third-party solutions.
Kubernetes is not a threat to Docker containers. You can use Kubernetes to orchestrate a Docker cluster just as well as you can do the same with Swarm. Kubernetes does not compete with Docker’s core product, which is containers.
However, Kubernetes does let companies build a container platform that integrates components from different vendors. Rather than deploying a pure-play, Docker-centric environment, they can combine tools from Docker with tools from Google (in this case).
The fact that Docker is so keen to drive users away from Kubernetes therefore underlines how invested the company is in pushing companies to adopt its platform as a whole. Docker sees its future as being rooted in a holistic container offering that includes more than the containers themselves.
And it wants to achieve that vision by out-performing the competition, not just creating smooth integrations between its products.