4 ms·
Even k8s only costs about 10% overhead. It's kind of incredible that "a few hetzner dedis running k8s" still has better reliability than the Cloud™ does.
by kuschku 4y ago
Even k8s only costs about 10% overhead.
It's kind of incredible that "a few hetzner dedis running k8s" still has better reliability than the Cloud™ does.
- capableweb 4y agoRemove Kubernetes and "A few Hetzner dedicated servers running just your application" has even better reliability as you remove more points of failures than "A few Hetzner dedicated servers running Kubernetes".
- carlmr 4y agoSo much this. System failure is a statistics game. Which is why I like the Erlang approach of having isolated state that you assume will corrupt after a while and you can restart that part of your application with a fresh state. K8s does this, kind of, on a higher level, where the downtime is often more noticeable because there's more to restart. But if your application is already highly fault-tolerant, this is just another point of failure.
- sammyo 4y agoWhy hasn't most of the web moved to Erlang (or erlang like) architecture, actually distributed?
- goodpoint 4y agoBecause (despite the hype) Erlang embeds principles that can be implemented in other languages and they solve only a narrow set of problems in distributed systems. This does not justify a dedicated programming language.
- bigDinosaur 4y agoIs Erlang particularly hyped? I don't usually see it suggested as a solution, I see it almost exclusively in reference to something already written in it, a fait accompli, like WhatsApp.
- carlmr 4y agoWhatsApp was scaling really well with a really small team, a good testament to the power of the language. Of course you can take over some of these concepts, but I don't know any other language that is so well designed around the actor model.
- pdimitar 4y agoRant: Because people adore stable income with no risks, and because most programmers out there are hacks who will only ever learn one or two ancient languages that lost their competitive advantage 10 years ago. Take a look at how insanely far you can go with Elixir + Phoenix on a server with 2 vCPUs and 2GB RAM. It's crazy. At least 80% of all web apps ever written will never get to the point where an upgrade would be needed. So yeah, people love inertia and to parrot the same broken premise quotes like "But StackOverflow shows languages X and Y dominate the industry!". Nah, it doesn't show that at all. It only shows that programmers are people like all others: going out of the comfortable zone is scary so our real industry is manufacturing bullshit post-hoc rationalizations to conceal the fact that we're scared of change. A mega-productive and efficient change at that. Social reasons > objective technical reasons. Always has been true. /rant
- mbrodersen 4y agoI completely agree. Most developers simply copy whatever is currently popular without taking into consideration their specific context and biz requirements. Almost all software solutions are massively complexed, with many points of failure, and high latencies for every single transaction, leading to a death spiral of even more complex and expensive “solutions” for “performance” reasons. Microservices is the poster child for this. In contrast, a single high-performance server can handle the full workload of 99.99% of web applications out there. With a separate warm stand-by server ready to take over if needed, and a linear event transaction log as the source of truth.
- mschuster91 4y agoWhile Kubernetes definitely has its own failure modes and can be an utter pain in the ass to set up, in my experience it also removes significant failure modes and makes your life way easier. For me, the most important thing is I don't have to take care in my deployment pipelines about how many servers I have and how they are named/reachable, to stop Docker containers, to re-create Docker containers, how to deal with logs, letsencrypt cert renewals... all I have to do is point kubectl at the cluster's master, submit the current specification on how the system should look like and I don't have to deal with anything else. If a server or a workload crashes, I don't have to set up monitoring to detect and fail over, Kubernetes will automatically take care of that for me. When I add capacity to the cluster for whatever reason, I enroll the new server with kubeadm and it's online - no entering of new backend IPs in reverse proxies, no bullshit. Maintenance (e.g. OS upgrades, hardware maintenance) becomes a breeze as well: drain the node, do the maintenance, start the node, everything works automatically again.
- francis-io 4y agoAs someone who does this day to day, I think k8s is worth it for anything non-trivial. If I didn't already have this understanding, then it might be a different trade off.
- hdjjhhvvhga 4y ago> It's kind of incredible It's not incredible, it's normal - it's been always like this.
- kuschku 4y agoI meant it more as in "it's kind of incredible how bad AWS/Azure/GCP is" in terms of reliability and cost ;)
- laputan_machine 4y agoHetzner servers running your code is The Cloud™
- ihateolives 4y agoHetzner offers bare metal as well. https://www.hetzner.com/sb?hdd_from=0&hdd_to=15500 https://www.hetzner.com/sb?hdd_from=0&hdd_to=15500
- RealStickman_ 4y agoThe Cloud is just someone else's computer