Live data from Hacker News

Kubernetes is hard

rcwz.pl

11–20 of 164 posts

Re: Kubernetes is hard

#11
post #5
post #4

Earlier quoted context omitted.

> Suddenly your program that wasn’t checking for errors, breaks. The memory that you didn’t manage properly becomes now a problem. Yeah, nobody deployed anything and ran it for months, even years, before Kubernetes.

Yes, they did, but did it really take less effort than running it on Kubernetes?

Yes, way less effort

Re: Kubernetes is hard

#12
post #5
post #4

Earlier quoted context omitted.

> Suddenly your program that wasn’t checking for errors, breaks. The memory that you didn’t manage properly becomes now a problem. Yeah, nobody deployed anything and ran it for months, even years, before Kubernetes.

Yes, they did, but did it really take less effort than running it on Kubernetes?

Yes.

Re: Kubernetes is hard

#13
post #5
post #4

Earlier quoted context omitted.

> Suddenly your program that wasn’t checking for errors, breaks. The memory that you didn’t manage properly becomes now a problem. Yeah, nobody deployed anything and ran it for months, even years, before Kubernetes.

Yes, they did, but did it really take less effort than running it on Kubernetes?

I'm going to diverge from sibling comments: it depends. As the article points out, k8s may really simplify deploys for devs, while giving the autonomy. But it isn't always worth it.

Re: Kubernetes is hard

#14
37signals is not like the typical large-scale startup. They have an extremely small team (around 30 people?), and just a couple of products.

Large-scale startups use dynamic-scheduled cloud services in part to reduce coupling between teams. Every service --- and there are dozens --- is scheduled independently, and new teams can get spun up to roll out new services without too much intervention from other teams.

When you've got a couple products that have been in maintenance mode for 10+ years and then 2 just two primary products, both of which are on the same stack, and you can predict your workloads way out into the future (because you charge money for your services, don't do viral go-to-markets, and don't have public services), there simply isn't much of a win to dynamic scheduling. You can, in fact, just have a yaml file somewhere with all your hosts in it, and write some shell-grade tooling to roll new versions of your apps out.

A lot of the reflexive pushback to not using k8s seemed like it came from people that either didn't understand that 37signals was doing something closer to static scheduling, or that don't understand that most of what makes k8s complicated is dynamic scheduling.

Re: Kubernetes is hard

#15
post #5
post #4

Earlier quoted context omitted.

> Suddenly your program that wasn’t checking for errors, breaks. The memory that you didn’t manage properly becomes now a problem. Yeah, nobody deployed anything and ran it for months, even years, before Kubernetes.

Yes, they did, but did it really take less effort than running it on Kubernetes?

Yeah... at small to medium scale anyway.

Re: Kubernetes is hard

#16
post #14

37signals is not like the typical large-scale startup. They have an extremely small team (around 30 people?), and just a couple of products. Large-scale startups use dynamic-scheduled cloud services in part to reduce coupling between teams. Every service --- and there are dozens --- is scheduled independently, and new teams can get spun up to roll out new services without too much intervention from other teams. When…

> what makes k8s complicated is dynamic scheduling.

… Which almost no startup or otherwise ever will need. Creating complex stuff for workloads you will never ever have. You hope to have them, but that’s called premature optimisation. And then you still mostly likely fall in the bracket of a company that will never need it.

Re: Kubernetes is hard

#17
Cost aside, I wonder how far you can get with something like a managed newsql database (Spanner, CockroachDB, Vitess, etc.) and serverless.

Most providers at this point offer ephemeral containers or serverless functions.

Does a product focused, non infra startup even need k8s? In my honest opinion people should be using Cloud Run. It’s by far Google’s best cloud product.

Anyway, going back to the article - k8s is hard if you’re doing hard things. It’s pretty trivial to do easy things using k8s, which only leads to the question - why not use the cloud equivalents of all the “easy”things? Monitoring, logging, pub/sub, etc. basically all of these things have cloud equivalents as services.

The question is, cost aside, why use k8s? Of course, if you are cost constrained you might do bare metal, or a cheaper collocation, or maybe even a cheap cloud like DigitalOcean. Regardless, you will bear the cost one way or another.

If it were really so easy to use k8s to productionize services to then offer as a SaaS, everyone would do it. Therefore I assert, unless those things are your service, you should use the cloud services. Don’t use cloud vms, use cloud services, and preserve your sanity. After all, if you’re not willing to pay someone else to be oncall, that implies the arbitrage isn’t really there enough to drive the cost down enough for you to pay, which might imply it isn’t worth your time either (infra companies aside).

Re: Kubernetes is hard

#19
Perhaps put more simply, operating in production has a lot of intrinsic complexity that will probably surface in the tooling, and if you constantly reinvent to "fix" the complexity you'll eventually end up putting up it back.

That's how you end up with the modern javascript tooling hellscape where it looks like no one was around to tell a bright young developer "no"

Re: Kubernetes is hard

#20

Cost aside, I wonder how far you can get with something like a managed newsql database (Spanner, CockroachDB, Vitess, etc.) and serverless. Most providers at this point offer ephemeral containers or serverless functions. Does a product focused, non infra startup even need k8s? In my honest opinion people should be using Cloud Run. It’s by far Google’s best cloud product. Anyway, going back to the article - k8s is har…

Or just app engine honestly.

Works with docker containers so you can run the same simple stack locally as in prod. No need for more exotic serverless architectures.

Generous free tier, too!

Have only good things to say about it for quickly firing up a product.

Post reply on HN