That's completely different than taking a simple blogging site and turning it into some distributed monstrosity.
So that's where it's wrong IMO, it replaces simple static site hosting/managers/etc, instead of having a single-click toolchain that takes your commits and CI/CD it properly, you now have to install and maintain that yourself manually.`
The "simple static site hosting" isn't magic, it's usually nothing more than a wrapper around putting your code into a nodejs docker container and deploying it to some lambda/serverless platform with a CDN in front. Your post is exactly what I mean about many frontend devs not understanding backend or infrastructure resulting in convoluted architectures.
80% of companies building on top of kubernetes should just pay some provider to do it for them, or use higher level tools. The crazyness going in the DevOps/Infrastructure world is as bad, or worse, as the one going on in the frontend space.
It's just software that runs your software. You can't remove complexity, only abstract it. Instead of using Chef/Puppet/systemd/hand-written scripts and a bunch of other tools to run and monitor your processes, you can replace all that with K8S.
> "used only at large companies with large teams"
Actually it's even more useful with smaller teams and let me, as a team of 1, deploy a global ad platform running billions of requests a day across hundreds of servers in multiple regions. Don't mistake lack of knowledge and experience as a problem with the tool.
> "pay some provider to do it for them"
Yes, you should use a managed K8S offering. Using K8S doesn't mean you have to install and operate it from scratch.
If it's really low, I can imagine why it was made distributed. Otherwise, I'd see that as a demo and an exercise.
In any case, with a distributed architecture there are many parts that can break. Fewer moving parts means fewer broken pieces.
> If it's really low, I can imagine why it was made distributed.
If an extremely low SLA is the goal, I would not be home-rolling a distributed website technology stack. The more moving pieces you have, the more likely one of them is to fail.
The recipe for a high availability, high reliability website is relatively simple in the age of Cloudflare and other cheap hosted services. Introducing a lot of complexity and home-grown solutions is the last thing you want for high availability unless you have scores of engineers to maintain it and you can't solve it through traditional means.
(For a personal informational site I'd take a static site generator.)
Uploading media files to (or from) developing countries with weaker internet infra often results in timeouts and dropped connections. I tried uploading a 8GB file to Singapore S3 from Florida and my connection often timed out.
I'm trying to imagine how you can deliver a fast website to users around the globe without distributed systems.
If this guy were pragmatic, a Ruby on Rails/django app in heroku would do wonders. If he wants to promote React because that's what he sells, that's a different story.
The problem is the people taking what this guy says as "the modern way to do it" and then you find the messes you find at work.
Sorry for my dumbness, but not sure what a repost invite is. Something good I hope XD.
Thanks.
For anyone who's wondering: a repost invite is a way of getting a post into the second-chance pool (https://news.ycombinator.com/pool, explained at https://news.ycombinator.com/item?id=26998308), so it will get a random placement on HN's front page. If the original submission is older than a few days, we don't re-up it, but rather invite the submitter to repost it. Then it goes automatically into the pool. So yes, it's something good :)
(1): https://azure.microsoft.com/en-us/services/app-service/stati...
A single small server running a typical web framework (anything from django to asp.net to laravel) can easily serve all these pages in milliseconds. Add a CDN in front to cache and serve quickly to users around the world.
I used to host my blog on Kubernetes for a while for that specific reason, just practice how to deploy and operate it. Then after I got bored with that simply transfered that to a static hosting solution.