Hacker News new | ask | show | jobs
by sheut 3488 days ago
Could you provides some insight into how an SMB who is using k8s would benefit? Most of the people I have talked to don't seem to think it is worth the added complexity. Do you agree?
1 comments

For example, they might benefit from the set of opinions baked into k8s. I'm partial to convention over configuration, and I appreciate that there is a "Kubernetes way" you can follow and rapidly have a robust and conventional set of infrastructure. I like that Kubernetes encompasses a pretty large footprint of functionality. For example, I haven't used Terraform personally, but from what I understand, Terraform is not opinionated about secrets management; I imagine some Terraform users are using Vault for secrets, and some are using other solutions. Kubernetes has secrets management built-in, so most k8s users are going to use that functionality; it's one less decision for the team to debate.

Edit: to be clear, there are important things that k8s doesn't do, like templating, that run counter to convention over configuration, so this benefit is certainly arguable...

So much of the benefit comes from adopting Kubernetes in in entirety? As in it could potentially bundle and replace commonly needed operation tools like secret management, etc?
Yes, I think that's fair to say.

I thought of something else rather important: k8s is truly "containers-first", IE containers are first-class in k8s. So it allowed me to get containers in production in a rock-solid manner without being a Docker expert. This is nice if you're seeking the advantages of promoting the exact same docker image from staging to production, for example.

What if your application is not necessarily architected for containers? Have you heard of existing systems being successfully migrated without significant changes in software architecture?
Hmm, if it's a monolith, it should be dockerizable without too much trouble. Yes I've migrated several legacy ish systems. Sometimes you have to take shortcuts and be "un-dockerish", for example by running nginx alongside your app server in the same image, but that's not a big deal really in practice.