Horizontal scaling is overrated.
The need to set up k8s for every blog post and stuff like that seems to only benefit major cloud providers, and overall, I think it is a cult, not something logical.
A single server can host plenty of workloads.
This narrative that you have to go serverless because it is cheaper and no server to manage is one huge lie. Now you have to manage serverless infrastructure, learn IaC, learn about new types of abstractions, and at the end of that can't sleep well because you might wake up and you are looking at a $30k bill for usage because the app got to the front page of HN or you simply made a mistake and called a serverless function in a loop or something.
We had shared hostings that did the job well. And it was simple.
Now this narrative about the need for horizontal scaling before you even know what app you need to build baked in to people's minds so much that instead of learning actual programming they believe they absolutely need to learn this pile of tools that were made by huge companies for the needs huge companies have.
I still believe in containers, Docker and 12 factor app, but I think that most of the serverless and horizontal talks should not bother most of the programmers and most of the apps.
Example: autoscaling ec2 instances, because you don't want to overprovision compute capacity.
One can get a couple of VPS from other providers, overprovision and still get a lower total cost. Or even a bare metal server.
Bare metal servers is a taboo these days "what if it breaks, or you need to scale, you can't easily scale metal servers".
Most apps, don't have insane hokey stick growth so you can see the need to scaling up long before the moment happens and still pay pennies compared to similar resources in the cloud, so you can freely "orverprovision" 10x and distract your engineering resources with complexity of horizontal scaling.
That came out as a bit of rant, because partially it is, but I really think some things like IaC and serverless stuff are cults and (especially junior people) believe that it is the only way.
We need to teach people to choose the right tool for the job and not put them on the needle of a specific vendor(or set of vendors).
Okay I've added a "like" to this post - and where you said:
"The need to set up k8s for every blog post and stuff like that seems to only benefit major cloud providers ..."
... my reaction was YES - the notion that we all need to become DevOps and Kubernetes experts, and that every dev needs to learn it because yeah, it's important that everyone has the skills to build an auto-scaling application platform from scratch ... is pretty ridiculous in my book :)
But where you lost me is:
"This narrative that you have to go serverless because it is cheaper and no server to manage is one huge lie"
No it's not a lie, it's a new paradigm, and for me it makes much more sense than something like Kubernetes - not for EVERY use case, but for quite a few it does.
And then you lost me again when you said:
"Now you have to manage serverless infrastructure"
No, that's the point - with serverless you don't manage your infrastucture ... you don't rent a VPS, install images, install MySQL/Nginx/whatever ... again, I'm not saying that one needs to choose "serverless" for EVERY project, but I'm convinced it's a game changer.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Horizontal scaling is overrated.
The need to set up k8s for every blog post and stuff like that seems to only benefit major cloud providers, and overall, I think it is a cult, not something logical.
A single server can host plenty of workloads.
This narrative that you have to go serverless because it is cheaper and no server to manage is one huge lie. Now you have to manage serverless infrastructure, learn IaC, learn about new types of abstractions, and at the end of that can't sleep well because you might wake up and you are looking at a $30k bill for usage because the app got to the front page of HN or you simply made a mistake and called a serverless function in a loop or something.
We had shared hostings that did the job well. And it was simple.
Now this narrative about the need for horizontal scaling before you even know what app you need to build baked in to people's minds so much that instead of learning actual programming they believe they absolutely need to learn this pile of tools that were made by huge companies for the needs huge companies have.
I still believe in containers, Docker and 12 factor app, but I think that most of the serverless and horizontal talks should not bother most of the programmers and most of the apps.
Example: autoscaling ec2 instances, because you don't want to overprovision compute capacity.
One can get a couple of VPS from other providers, overprovision and still get a lower total cost. Or even a bare metal server.
Bare metal servers is a taboo these days "what if it breaks, or you need to scale, you can't easily scale metal servers".
Most apps, don't have insane hokey stick growth so you can see the need to scaling up long before the moment happens and still pay pennies compared to similar resources in the cloud, so you can freely "orverprovision" 10x and distract your engineering resources with complexity of horizontal scaling.
That came out as a bit of rant, because partially it is, but I really think some things like IaC and serverless stuff are cults and (especially junior people) believe that it is the only way.
We need to teach people to choose the right tool for the job and not put them on the needle of a specific vendor(or set of vendors).
Full Ack!
Okay I've added a "like" to this post - and where you said:
"The need to set up k8s for every blog post and stuff like that seems to only benefit major cloud providers ..."
... my reaction was YES - the notion that we all need to become DevOps and Kubernetes experts, and that every dev needs to learn it because yeah, it's important that everyone has the skills to build an auto-scaling application platform from scratch ... is pretty ridiculous in my book :)
But where you lost me is:
"This narrative that you have to go serverless because it is cheaper and no server to manage is one huge lie"
No it's not a lie, it's a new paradigm, and for me it makes much more sense than something like Kubernetes - not for EVERY use case, but for quite a few it does.
And then you lost me again when you said:
"Now you have to manage serverless infrastructure"
No, that's the point - with serverless you don't manage your infrastucture ... you don't rent a VPS, install images, install MySQL/Nginx/whatever ... again, I'm not saying that one needs to choose "serverless" for EVERY project, but I'm convinced it's a game changer.