top | item 36652815

(no title)

dumpster_fire | 2 years ago

I remember the good old days of having to script my own deployments on our own on-prem servers, with linter free wild west testing. It went to crap pretty easily because we were always customizing something, automating something, customizing the automating of something. Dependency checking was also very manual.

Nowadays we work with way more traffic that incentivizes strict bin packing of traffic within the tightest bounds of the resource pool, with the fastest actuation time. VMs won't give you that. Containerization just makes that so much easier and snappier for large amounts of traffic. But then we had to go global, and orchestrating containers across continents is a PITA. So there's value in k8s for dealing with that. These tools vastly reduce the complexity with regards to managing globally distributed services. But as usual, we start customizing these tools, leading to more complexity.

With that said, I believe startups need to focus on the fastest development and deployment times. So stuff like Docker, Kubernetes or Terraform are entirely unnecessary. As I commented elsewhere before, no one with a total QPS of 10 needs anything beyond GCE or EC2 or on-prem servers. People born in the Cloud age seem to have forgotten that they can just run the cheapest Linux machine with HAProxy and httpd behind a static IP. The focus on always going straight to Cloud complexity, if anything, smells more like engineers in on some VC grift.

Side note: It's hard to hire senior/motivated Java developers. It became a self-fulfilling cycle. Happened somewhere around 2011-2014, no one other than fresh grads graduating from legacy courses still used Java or .NET.

discuss

order

p_l|2 years ago

I found personally a lot of use for k8s in the "10 QPS" bracket, especially if you can afford to use GKE & CloudRun (but recently I managed similar setup with single hetzner dedicated server and k3s).

Specifically, the simplicity of managing things once you go through the initial pain of setting it up (much reduced with GKE), cost savings from bin packing your apps (not just your product but also anything else you need for your company that you can't afford SaaS for [1]). You can share servers for dev/test/prod till you get enough clients to migrate up. And as much as I love HAproxy, configuring it is way more annoying than dealing with some basic ingress controller + certmanager (+ optional external-dns, not needed if you just set a wildcard).

Right now I have a super cheap (compared to cloud) hetzner server which provides (using k3s) services to multiple clients, ranging from just VPN (using headscale) to handling git etc. All with SSO, low maintenance, etc.

[1] costs of SaaS service per employee hit differently when you're not VC backed and you're not based in the United States.In my experience it's often cheaper to get another full time engineer to handle some self hosting than pay for various cloud/SaaS/PaaS.