Given the history of Docker and its early software being a little rough around the edges, and also given the fact that Kubernetes has already essentially won the war for dominance in container orchestration, it took me awhile to give Docker Swarm a true evaluation. It was ultimately the talk below, given at DockerCon17, that made me realize how valuable Docker Swarm could still be. It has a lot of the features most people are looking for in a container orchestration platform. But it has one main overarching superpower. I’ll explain in a minute.
First, some of the more important features Swarm offers out-of-the-box:
- Hands-off cluster management
- Built-in load balancing
- Built-in service discovery
- Built-in encrypted secrets management
- Built-in rolling update mechanism
From this small, abbreviated list we can see that Swarm attempts to solve for several of the key DevOps challenges in containerized environments. But it’s not necessarily the individual features that makes Swarm so intriguing. After all, we can get all this and more from Kubernetes, which has far more community support. Rather it’s the ease of implementing these features which keeps Swarm in the game.
Docker Swarm is already installed and ready for use with a few commands on any machine which has current versions of Docker installed, whereas Kubernetes still has many people asking questions about proper installation and onboaring. It’s become a skillset of its own to be able to setup and run a serious Kubernetes cluster from scratch in a critical capacity. But Swarm is much closer to plug-and-play.
And that’s its superpower.
Kubernetes is still the preferred solution for container orchestration, but Swarm is nonetheless a useful tool that can be quickly implemented. If you’re curious about Docker Swarm and wondering why it might be useful for ad-hoc developer clusters, fast-moving projects, and in teams which lack Kubernetes expertise, take a look at the talk below.
Want help with Docker Swarm? Get in touch.