I think one thing that is under appreciated with kubernetes is how massive the package library is. It becomes trivial to stand up basically every open source project with a single command via helm. It gets a lot of hate but for medium sized deployments, it’s fantastic.
Before helm, just trying to run third party containers on bare metal resulted in constant downtime when the process would just hang for no reason, and and engineer would have to SSH and manually restart the instance.
We used this as a previous start up to host metabase, sentry and airbyte seamlessly, on our own cluster. Which let us break out of the constant price increases we faced for hosted versions of these products.
Shameless plug: I’ve been building https://github.com/czhu12/canine to try to make Kubernetes easier to use for solo developers. Would love any feedback from anyone looking to deploy something new to K8s!
Right, but this isn't a post about why K8s is good, it's a post about why K8s is effectively mandatory, and it isn't, which is why the post rankles some people.
Exactly, an alternative reading here is "metabase, sentry and airbyte are so complicated to self-host you'll need Kubernetes for it".
Yeah I mostly agree. I'd even add that even K8 YAML's are not trivial to maintain, especially if you need to have them be produced by a templating engine.
They become trivial once you stop templating them with text templating engine.
They are serialized json objects, the YAML is there just because raw JSON is not user friendly when you need something done quick and dirty or include comments.
Proper templating should never use text templating on manifests.