Hacker News new | ask | show | jobs
by G3rn0ti 1177 days ago
> then Swarm was supposed to

> be the cashcow that turned

> that into cashflow. And then

> k8s happened.

We are still using Docker Swarm in production. It seems to be working fine so I always wondered why it never took off. But I am not a Devop. Can sb please give some insight on why kubernetes took off instead and why Dock Inc. failed with its cloud product?

5 comments

k8s is basically a standard interface for cloud providers, where you can define load balancers, persistent volumes, certificates, etc. in addition to jobs and services. It has a well thought out declarative language that maps well to how ops runs things at scale.

There are quite a few optional tools built on the k8s model, like service meshes or tools to orchestrate a postgres cluster.

Swarm is a small piece of that, the scheduling system, and you have to run it yourself. It's really not comparable.

"Can sb please give some insight on why kubernetes took off instead and why Dock Inc. failed with its cloud product?"

IMHO, Google did something smart/evil here. Google did not use the docker-compose style yaml files for k8s configurations. This turned into a big deal. If you have a docker-compose file and want to run it in k8s - you cannot. So you need to make a decision: go with docker-compose yamls which has no place to be hosted except swarm OR go with k8s yaml style and be able to run it on aws,gcp, etc.

I still use Docker Swarm in production, but the main issue is the lack of support from cloud provider and tooling. For instance, there is no good solution like ArgoCD for continuous deployment and updating your stacks. In addition, if you want to be able to automatically add a new node to the cluster, you basically have to write some infrastructure code by yourself. This makes infrastructure as code / configuration as code a pain, and these things are required to be compliant with stuff like SOCII
Good question, I'm also interested in the answer. Probably has something to do with K8s being backed by Google, which has battle tested it in the form of their internal Borg infrastructure.
My understanding is that k8s was definitely never used internally at google (at least at the beginning). They may have learned some lessons from Borg, but k8s is very very much not Borg nor a Borg component. I remember lack of battle testing and architectural differences being a key criticism when k8s was released.
Z
Swarm is fine but k8s is a lot more advanced. I've used both and now that I understand k8s, I would choose it over swarm any day. Microk8s is neat if you want a lightweight cluster.