Is Kubernetes eating the container world? Not quite, but it’s close—and its success comes at the expense of Docker Swarm.
The recent news that IBM has added a managed Kubernetes service to the Bluemix cloud is only the latest sign of the orchestration engine’s dominance in the container world. It has been providing the orchestration layer on Google Container Engine and Azure, the other big-name containers-as-a-service (CaaS) offerings based in the public cloud, for a long time already.
ECS, the CaaS available on the AWS cloud, is the only exception to the trend toward Kubernetes-powered container services. ECS comes with its own, homegrown orchestration engine.
Most of the CaaS platforms that are not tied specifically to the cloud are also powered by Kubernetes, or at least offer it as an option. Red Hat’s OpenShift platform uses it, and Rancher supports it alongside Mesos, Swarm and Cattle. MicroOS, SUSE’s CaaS product, uses an orchestration engine based on it.
The only big exception to the Kubernetes trend is Docker Enterprise Edition, Docker’s own integrated container stack. As you might guess, Docker Enterprise Edition is powered by Swarm, the container orchestrator built by Docker.
Kubernetes vs. Swarm
Across the ecosystem, then, Kubernetes seems to be dominating as the orchestration tool of choice—especially in the CaaS context, which appeals to users who want a turnkey way to deploy a Docker environment, without having to plan and set it up themselves. These people are likely to end up being users because it’s is baked into most of the products and services that help you get started with Docker quickly.
That doesn’t necessarily mean Swarm—or, for that matter, Mesos or any other orchestrator—will be completely subsumed by Kubernetes. Swarm still comes built into the core Docker platform. That means Docker users get it by default when they download the Docker code from Docker.
Still, it’s hard to deny that Kubernetes has enjoyed a lot more momentum over the past year than has Swarm. Increasingly, it looks as though it will be the orchestrator of choice for most enterprises with large, production workloads. Swarm usage may become limited primarily to development environments where people are running just the basic Docker Engine, and using the orchestrator that comes packaged with it.