Docker Swarm Classic (https://github.com/docker-archive/classicswarm) is dead. Docker Swarm Mode is alive, and I know some people use it, but it's very niche compared to k8s.<p>As someone who interacts with k8s regularly, I often feel like there is a place for a simpler k8s alternative. But looking at history I see the attempts like Swarm fail.<p>What do you think played the decisive role in the k8s victory? Features, openness, extensibility, something else? And do you think if there is a demand for a simper k8s alternative or is it destined to repeat k8s complexity to be useful? If there is such a demand, where did Swarm fail in particular?
I don't think Swarm Mode failed. We are using it in production for 1000s of Hosts very reliably, it's a great piece of technology! :-)<p>K8s simply has all the hype and no one got fired for running k8s. I was thinking the same as you, k8s is quite complex, has a lot of options and moving parts which we don't need.
It’s just one anecdote but I did run a Docker Swarm Classic cluster and a Kubernetes cluster for years on about 10 bare metal PCs in my worklab.<p>I initially preferred Docker Swarm for its simplicity, and most of the nodes were in the Swarm cluster.<p>But I quickly noticed ask issue: Docker Swarm had networking issues. I remember that I wasn’t alone experiencing network issues and disliking debugging with iptables.<p>Meanwhile, Kubernetes with the flannel CNI was super reliable. I actually ditched Docker Swarm for Rancher 1. It wasn’t based on Kubernetes at the time. It had some JVM based networking thing that worked but used a lot of CPU. We also had some Mesos testing.<p>Maybe the new Docker Swarm works, but it’s too late. Kubernetes won.<p>Kubernetes is more complex but tools like kompose makes the transition easier.
For better or worse Kubernetes is capable of handling any edge case you could possibly throw at it.<p>The ecosystem of helper tools (load balancers, secrets control, etc) is also huge and well supported.
As someone having inherited a Hashicorp Nomad setup I realize that while it is much simpler, no one really builds anything on top of Nomad.<p>If I wanted a DAG, I can use Argo Worklows with k8s, nothing with Nomad. If I wanted to do lots of data processing I can use Spark on k8s, nothing on Nomad. I am sure this is true with other alternatives as well.