Live data from Hacker News

Kubernetes is a red flag signalling premature optimisation

jeremybrown.tech

371–380 of 558 posts

Re: Kubernetes is a red flag signalling premature optimisation

#371

Earlier quoted context omitted.

I don't think their advice about not using it in a startup is correct either. You just need to somewhat know what you're doing. I know of such a case, where a single engineer could leverage the helm chart open source community, and set up a scalable infrastructure, with prometheus, grafana, worker nodes that can scale independently of web service, a CI/CD pipeline that can spin up complete stacks with TLS automated t…

> with prometheus, grafana, worker nodes that can scale independently of web service, a CI/CD pipeline that can spin up complete stacks with TLS automated through nginx and cert-manager, do full integration tests, etc. > I found that to be quite impressive, for one person, one year, and would probably be completely impossible if it wasn't for k8s. I've always found this interesting about web based development. I have…

> And yet, as a solo dev, I've written auto-scaling architecture using, for example, the AWS ec2 apis that let you launch configure and shutdown instances. I don't know what else you need.

This is fine, if you’re on AWS and can use AWS APIs. If you’re not (especially if you’re on bare metal), something like K8s can be nice.

Re: Kubernetes is a red flag signalling premature optimisation

#372

Earlier quoted context omitted.

The thing is, unless using those technologies was somehow core to what the single engineer was trying to, it might be technically impressive but might not have actually provided value for users. Users don't really care if you have a really impressive stack with cool technologies if it doesn't offer anything more than a couple of web servers and a DB server.

Yeah but k8s isn’t hard at all if you know it, it’s actually substantially easier than a couple web servers and dbserver and provides a whole lot more

So, your argument is that you should use a tool if you know how to use it, regardless of if it's actually needed?

Personally I would take managing "a couple of webservers and a db" any day over k8s.

Re: Kubernetes is a red flag signalling premature optimisation

#373
I'm getting tired of the "You don't actually need Kubernetes while starting out!" crowd, despite being part of it. Of course you don't. Of course if you don't know Kubernetes, learning it as you try to get a company going on a minimum headcount is not the most efficient approach.

But for pete's sakes man, if you have used K8s before, know what you're doing and you're running on cloud, just shove a couple off-the-shelf Terraform modules at the problem and there's your execution environment needs solved, with easy and reliable automations available for handling certs, external access, load balancing, etc, all of it reasonably easy to get going once you have done it before.

Stop pretending Kubernetes is this humongous infrastructure investment that mandates a full time job to keep up at low scale. Of course if you have done this multiple times before you don't need to be told this, but people new to it shouldn't be fed a barrage of exaggerations.

Re: Kubernetes is a red flag signalling premature optimisation

#374

Earlier quoted context omitted.

> with prometheus, grafana, worker nodes that can scale independently of web service, a CI/CD pipeline that can spin up complete stacks with TLS automated through nginx and cert-manager, do full integration tests, etc. > I found that to be quite impressive, for one person, one year, and would probably be completely impossible if it wasn't for k8s. I've always found this interesting about web based development. I have…

> And yet, as a solo dev, I've written auto-scaling architecture using, for example, the AWS ec2 apis that let you launch configure and shutdown instances. I don't know what else you need. This is fine, if you’re on AWS and can use AWS APIs. If you’re not (especially if you’re on bare metal), something like K8s can be nice.

If you're on bare metal there is a case for K8s. How many people are on bare metal?

Re: Kubernetes is a red flag signalling premature optimisation

#375
May be I don't see something. I'm learning about Kube right now and I like it. It's like docker-compose done right. Managing Kube cluster might not be that easy, but that's why managed offerings are there. And you can easily scale with Kube. And by scale I don't necessary mean scale up, because you can scale down as well and that's important to save your precious money.

Few other Kube goodies:

1. Plenty of apps are available as helm charts. It's like pre-build docker image, but even better and easier to install and manage (!).

2. There are some marvelous operator like Postgres operators which will do the hard work of managing Postgres database for you, including replication, backups, upgrading. On the down side is the fact that when it broke, you need an expertise... So may be managed database still is better for small scale.

I'm coming to kube as someone who spend some time dealing with docker-compose servers. And I feel like kube will be better.

For new projects, even on small scale, it's likely that I'll choose kube.

Re: Kubernetes is a red flag signalling premature optimisation

#376

Doesn't look like the author knows what he is talking about. His point about early stage startup should not use K8S is fine. But the next advice about not using a different language for frontend and backend is wrong. I think the most appropriate advice is to choose a stack which the founding team is most familiar with. If that means RoR then RoR is fine. If it means PHP then PHP is fine too. Another option is to use…

I suspect a lot of the gripes and grousing about Kubernetes comes from SMEs trying to run it themselves. That will often result in pain and cost.

Kubernetes is a perfectly good platform for any size operation, but until you are a large org, just use a managed service from Google/Amazon/DigitalOcean/whoever. Kubernetes, the data plane, is really no more complex that eg Docker Compose, and with managed services, the control plane won't bother you.

K8s allows composability of apps/services/authentication/monitoring/logging/etc in a standardised way, much more so than any roll-your-own or 3rd-party alternative IMO, the OSS ecosystem around it is large and getting larger, and the "StackOverflowability" is strong too (ie you can look up the answers to most questions easily).

So, TLDR, just use a managed K8s until you properly need your own cluster.

Re: Kubernetes is a red flag signalling premature optimisation

#377

I'm getting tired of the "You don't actually need Kubernetes while starting out!" crowd, despite being part of it. Of course you don't. Of course if you don't know Kubernetes, learning it as you try to get a company going on a minimum headcount is not the most efficient approach. But for pete's sakes man, if you have used K8s before, know what you're doing and you're running on cloud, just shove a couple off-the-shel…

> Stop pretending Kubernetes is this humongous infrastructure investment that mandates a full time job to keep up at low scale.

It is a full time job. The cost of using something is not just the setup cost. The same way that software development is not just the cost of writing the software.

Re: Kubernetes is a red flag signalling premature optimisation

#378
post #331

Earlier quoted context omitted.

That’s clearly not a startup!

Obviously not, I was just pointing out that infra like k8s even under-the-hood for intermediaries (like web agencies) is still not always the norm given the real-world failures. There's this intermediary world between startups and giant corporations, you know. ;-)

>infra like k8s even under-the-hood for intermediaries (like web agencies) is still not always the norm

That's because 'the norm' for web agencies is a site that does basically zero traffic. If a company hires a 'web agency' that's by definition because the company's business model does not revolve around either a web property or app.

Whether that's a gas station company or a charity or whatever, the website is not key to their business success and won't be used by most customers apart from incidentally.

With that in mind most agencies know only how to implement a CMS and simple deployment perhaps using Cloudflare or a similar automated traffic handling system. They don't know anything about actual infrastructure that's capable of handling traffic, and why would they?

A lot of agencies are 100% nontechnical (i.e. purely designers) and use a MSP to configure their desktop environment and backups and a hosting agency to manage their deployed sites.

Re: Kubernetes is a red flag signalling premature optimisation

#379

In the limit, there are some startups that could run production on a single Linux host - I recently helped one get off Heroku and their spend went from ~$1k/mo to ~$50/mo and it made debugging and figuring out performance issues so much easier than what they were doing previously...

I've worked in DevOps for a while and if I could pay $950 to not run and maintain a server then I'd consider it money well spent.

There's always 1-2 comments in these threads that advise using a Linode VM or Hetzner dedicated server in order to save money; but they are really skipping over the headaches that come with building and maintaining your own servers.

- Are the server provisioning scripts source controlled?

- Is there a pipeline if the server needs to be recreated or upgraded?

- How is the server secured?

- Are the server logs shipped somewhere? Is there monitoring in place to see if that is working?

- Does the server support zero-downtime deployments?

- Are backups configured? Are they tested?

I imagine the answer to a lot of these questions is no and to be fair not all PaaS systems provide all of these features (at least not for free).

The server becomes a pet, issues inevitably arise and that $950 starts to look like a false-economy.

Re: Kubernetes is a red flag signalling premature optimisation

#380
post #278

I agree entirely. I like to call what the author is referring to as, "What-If Engineering". It's the science of thinking you'll be Google next week, so you build for that level of scale today. It involves picking extremely complicated, expensive (both in compute and skilled labour) technologies to deploy a Rails app that has two features. And it all boils down to, "But what if..." pre-optimising. It happens at all le…

Sorry but managed k8s is really simple and wildly a better pattern than just running VMs. You don’t need google scale for it to help you, and spinning things up without understanding the maintenance cost is just bad engineering

No, it's not. If going for managed services: A load balancer + an asg is stupid simple to setup and it just works.
Post reply on HN