
Ask HN: Is Kubernetes a viable option for monoliths? - sheut
I work for a company that does dev ops consulting for SMB&#x27;s. Recently we&#x27;ve looking into Kubernetes as a method of orchestrating clusters for our clients, who generally seem a little overwhelmed by the complexity that Kubernetes brings to the table. In short, they don&#x27;t really know what they want, or how Kubernetes can help them.<p>Generally these organizations are using a cloud provider like AWS running a monolith of some kind. Is Kubernetes still the way to go even though their applications are not architected in the way Kubernetes suggests?<p>My question for you is how can Kubernetes help these organizations? What are some common use cases of Kubernetes for SMB&#x27;s?
======
gkop
I can't really answer your question, but will say if you're hosting on Google
Cloud already, you have little to lose by using Kubernetes, since Google
Container Engine provides a nice cluster out of the box, and many of
Kubernetes' advantages hold true to monoliths.

~~~
sheut
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?

~~~
gkop
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...

~~~
sheut
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?

~~~
gkop
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.

~~~
sheut
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?

~~~
gkop
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.

------
oldman60
Indeed, monoliths can be containerised and orchestrated by kubernetes. The
benefit is high availability ( replica) and self healing. Monoliths can still
scale out, however their components will not scale independently.

