Finding the right cluster management solution that fits your enterprise’s individual needs can be painful. At present, the opinionated designs and lack of a universal standard means that no platform supports all cluster managers simultaneously, and that means you’re going to have to choose.
The two biggest differences between the big three include the learning curve and scalability. For ease-of-use, Docker Swarm leads the pack with its ‘zero to dev’ quick setup feature. The flexibility of the Docker API means it’s easy to integrate and also allows you to use other tools such as bespoke scripts or Compose at the cost of custom interfaces and complex scheduling.
Both Kubernetes and Mesos are more versatile on customization, but are much less user-friendly. If you’re integrating or changing over to one of them you’ll have to start your applications over from scratch, and if your IT team isn’t big enough to handle the workload, you’re in trouble.
Regarding scalability and resilience, Mesos is best for companies that already run hundreds or thousands of hosts, and has been tested (in simulation) to run up to 50,000 nodes. Both Kubernetes and Swarm are limited to 1,000 nodes (and roughly 50,000 containers) and are pushing to improve those numbers, but in the meantime, Mesos is your go-to for large-scale data solutions used by companies like Twitter.
For medium-scale enterprises, Kubernetes shines with its reliability and fault tolerance in multi-host clusters but struggles with single pods and is generally a more expensive solution. The mixture of both small and large interest groups ensure new roadmapped features won’t lean heavily in one direction, and the number of new companies cropping up to develop software plugins means that you’ll have the newest and best security options. However, Kubernetes is known to have problems with AWS coverage, and that’s a deal breaker for many.
Experts agree that there’s no way to know on day one which of the big three is objectively best for every enterprise. A measure of experimentation is needed to discover which solution meets your needs and still gives you as many wants as you can afford. However, depending on how your applications work, how many of them there are, and how you manage that data, the above benchmarks can help to narrow down your choices.
To some degree, Swarm, Mesos, and Kubernetes all provide a level of blanket support to enterprises of all sizes, but the skill and head count of your IT staff will determine how much you can optimize your cluster manager to achieve the best fit.