Hacker News new | ask | show | jobs
by WYepQ4dNnG 1819 days ago
I have experienced first hand several cases of k8s gone wrong. In the end I have come to the conclusion that most companies don't really need the complexity of k8s.

Seriously, most k8s projects I have been involved with required so much effort to bootstrap and keep it going, it just blew me away! The experience for the average developer was just frustrating and infuriating: AWS ECS to the rescue!

Some will argue: vendor lock in! Really? I bet most services out there are already vendor locked in, just go with the flow and make your life easier.

I have seen companies failing because investing so much in building infrastructure, supposly vendor lock in free (or so they thought) that they lost sight and did not invest enough building the actual product: no revenue -> party is over.

Don't make the same mistake.

4 comments

> most companies don't really need the complexity of k8s

If you want to run a complex service consisting of multiple microservices, auto scaling and so on, nothing beats Kubernetes. But you're right, most small businesses just need a simple web site, and for them, an Amazon Lightsail VM might suffice.

yeah, nothing beats K8s except you know... maybe serverless. or maybe cloud primitives that are already there and are handled by someone else.

IMHO, unless you have a huge fleet of bare metal machines K8s is an overhead you don't need

i run k8s on my home network, its nice to not have to log into my linsux box to see logs and restart things.

I like having the ability to just nuke my thing at home and it comes up the same way it did before,... Not sure why it too me so long to adopt work mentality at home but its great. Plex acting funny? kill the pod. Sonar needs an update? Kill the pod.

Thanks for your HO but you're wrong. K8s is the future and the new JVM.
ECS trades kubernetes manifests and generalized tools for cloudformation or the AWS UI, though..

Most everything else seems to be the same thing as if you ran with EKS, just different names for everything.

Setting it up yourself, though, no, I wouldn't do that unless I had a large enough team to maintain it.

> ECS trades kubernetes manifests and generalized tools for cloudformation or the AWS UI, though..

Terraform has served me well, it does come with some pain as well, but nothing compared to k8s.

> I have seen companies failing because investing so much in building infrastructure, supposly vendor lock in free (or so they thought) that they lost sight and did not invest enough building the actual product: no revenue -> party is over.

How was the stock comp for engineers at these companies?

I was the tech lead / main engineer at a startup with a huge investor investing 1mln in a seed round. I refused a salary with a little bit of equity (single digit percentage) and kept contracting because I didn't trust the business side and apparently I wasn't cool enough to become an exec.

Everything was fine at the beginning, we built very fast a CRUD app in node.js hosted on K8s on Google Cloud, doing something useful for our target market. We demoed with the client and everything was fine.

Then they hired a tech lead from another failed startup as a CTO. He started bringing in all his friends (all from the same country, so the company started having a french crowd and everyone else) from his previous employer as minor exec titles. Stock compensation for the exec was pretty good and they even had a 50k bonus or so I heard.

Slowly but surely they started pushing for our backend to be rewritten in Go for no reason - which I resisted - and then we decided to move to AWS + nomad. This was 2015 and tooling was even more minimal than what Hashicorp offers nowadays - so they basically started building a K8S on top of nomad to replicate the capabilities we had before.

I complained saying that we didn't have time for this with the impending demos and I said it was a stupid decision.

I was promptly fired for that - and without me on the way they threw away our node.js application and started rewriting everything in Go.

They never made another demo in time and the investor eventually pulled the plug from investing in the startup and acqui-hired the company for little money. The founders were pissed and called me later on to update me on how it went and to apologise. Fin.

late stage "startup" who had struggled with growth for years, they thought they needed to invest in building a more complex system and infrastructure, and they hired tons of engs (who actually had literally nothing to do) ...

instead what they really needed was to focus on their customers and build them a useful product that simply worked. They spent months building and deploying their own k8s cluster: EKS was "vendor lock in" so that wasn't a good choice for them, but guess what, all their infrastructure was already running in AWS anyway and their product was already vendor locked in: RDS, S3, etc ...

also ... to make things even more complex, they thought they needed to go all-in super distributed micro services: it took literally months to get new "services" up and running in production. It was a s*t show!

One of the many story of let's break the monolith, embrace microservice, thus k8s ... gone horribly wrong.

Eventually most engs left ....

> but guess what, all their infrastructure was already running in AWS anyway and their product was already vendor locked in: RDS, S3, etc ...

I laughed, but your response doesn't answer my question regarding engineers comp.

stock options, not great
> Eventually most engs left ....

and now have k8s on their resume. Bazinga!

Did we work for the same company?
Thank you. At least I am not alone. I just want to write some code and not waste a week redeploying K8s shit again... send help...