4 ms·
I closed the page at "Kubernetes", despite the "you may not need this", because that was all I needed to hear to know this setup has little to do with the ordin
by andrewstuart 2y ago
I closed the page at "Kubernetes", despite the "you may not need this", because that was all I needed to hear to know this setup has little to do with the ordinary one person tech startup.
- dimitar 2y agoI would normally avoid recommending k8s, but perhaps the founder already was pretty comfortable with k8s from a previous job and knows what to avoid. There are no production dbs in k8s, no service meshes, monitoring is only side-cars that send data to an off-cluster backend, The automatic deployment with flux seems pretty nice!
- p_l 2y agoHaving learnt k8s once, I found out it greatly simplifies things for me when I want to run new projects, even if it's single server only (there I use k3s). Especially if there's a chance I need to run more than one client, or environment, on a given server, which is more important for "solo" enterprise than for a bigger company because I do not have money or time to care of multiple servers.
- KronisLV 2y agoI guess some people are just very used to it nowadays, hence it will work pretty well to them - same as how someone might have 10+ years of experience in Java and pick it for a project and use it successfully, whereas someone else could find the pace of development in it to be slower than the alternatives (despite how decent it is nowadays). Personally, I think that containers are a good choice for most webdev projects. If you are just starting out, then Docker Compose is probably very much sufficient for anything that touches upon a single node. Realistically, once you need to most past that, I feel like most folks would be served just fine by something like Docker Swarm + Portainer, you'd still need to run your own web server in front of your containers if you want something similar to an ingress, but in my eyes that's a plus, given how simple the config is (if you've ever installed Apache/Nginx/Caddy it's very much like that), or maybe go with Traefik if you must. There's scaling, resource reservations and limits, overlay networking between nodes, port mapping, storage, restart policies, configuration and pretty much most of the things you might reasonably need. Something like Hashicorp Nomad could also be mentioned here, but Docker Swarm seems like the simpler option to me. Past that, it's not like you can't run a bit cut down versions of Kubernetes, that will decrease its surface area somewhat - K0s, K3s and others all try to do this. I personally rather like K3s, it also integrates with Portainer/Rancher nicely if you need a dashboard, you can take advantage of Helm charts and all that other good stuff. I found the choice of K3s using Traefik by default (when I last used it) a bit suspect (configuring a custom non-ACME wildcard cert as the default for the ingress wasn't exactly well documented), but overall it was an okay experience and the resource usage wasn't anything crazy either. For my personal stuff nowadays, I still run a Docker Swarm cluster and I've no complaints there. It doesn't have autoscaling out of the box, but then again, my workloads are too boring to need that and I enjoy the predictability in billing I get.
- udev4096 2y agoWell, let's hear it. Is it because you heard somewhere that "k8s is overwhelming and unnecessary for everyone" or do you actually have some constructive argument for not using k8s?
- EuAndreh 2y agoNot GP, but nothing wrong with kubernetes per se. It is simply unnecessary. You can get to gigantic success and extraordinary scale by growing vertically, without needing to add a very complex layer that kubernetes is. Think of the many literal millions of lines of code, and thus, potential bugs and liabilities one inherits by "just using kubernetes". It's not a requirement, neither problematic. Its simply unnecessary for anything remotely resembling a "one-person tech startup". Besides unnecessary features like horizontal scaling, necessary features like restarting a service already exist, and most likely are already installed in the base distro and being used by the rest of the system. Its not like this couldn't be done before, all kubernetes provides is a conveniet and streamlined package for all that, at the cost of black-hole levels of extra complexity via several added indirections.
- andrewstuart 2y ago>> do you actually have some constructive argument for not using k8s It adds vast complexity and is not needed.
- danjl 2y agoAssuming that "ordinary" means the same thing to everyone is a bit of a generalization.