For most scenarios scaling is just adding cores or memory, and no one needs to horizontally scale in the way Kubernetes would allow.
Posted by ninetofivedev@reddit | ExperiencedDevs | View on Reddit | 23 comments
Agree or disagree.
Rymasq@reddit
optimizing infrastructure costs is rarely a concern at the enterprise level, so yes, typically scaling is increasing compute power, but Kubernetes horizontal scaling helps with large workloads that need some level of concurrency.
You want to scale horizontally before you scale vertically until you’re approaching your compute limits at which point you scale vertically.
ryuzaki49@reddit
It is when they start seeing the AWS bill in the millions per month.
In a F500 we do get the constant reminders of decreasing costs.
bfreis@reddit
I've seen this trend changing in the past few years, though. Seems a lot more common for medium to large sized companies to have a team with a name that's a variation of "Infra/Cloud FinOps", looking for opportunities to reduce infrastructure costs.
Rymasq@reddit
it has popped up, i know of the positions you mention, and it makes sense for medium size company to do it.
Historically tech has been driven by venture capital, and the VC approach is to burn as much money as possible in the name of the growth and because of that they don’t care. Then there’s the old behemoth enterprises where they can’t bother to pinch every penny, and their revenue is so absurd that even $10 million in saved infrastructure costs isn’t worth it.
However, businesses that grow a bit more organically in tech will 100% want to do it.
Hot-Worry-5514@reddit
Just completely wrong. Is this an April fool's joke? Among the other reasons mentioned, adding more replicas can increase reliability, vertical scaling has a lower upper bound for performance, and there are other resources you get from horizontal scaling like network/memory bandwidth.
cgoldberg@reddit
I can't believe Google/Amazon/Facebook/etc actually built out thousands of servers when they could have just added more cores and memory and hosted their entire infrastructure on one machine. So stupid! You gotta email their CTO's so they can do it right and save billions... Thanks for the tip! 👍
ExperiencedDevs-ModTeam@reddit
Rule 9: No Low Effort Posts, Excessive Venting, or Bragging.
Using this subreddit to crowd source answers to something that isn't really contributing to the spirit of this subreddit is forbidden at moderator's discretion. This includes posts that are mostly focused around venting or bragging; both of these types of posts are difficult to moderate and don't contribute much to the subreddit.
slimscsi@reddit
“Most” and “no one” are contradictory. This sentence contradicts itself.
Cautious_Implement17@reddit
I don't have experience with or an opinion on kubernetes specifically. but it's not rocket science to design a service that can be scaled to an arbitrary number of hosts. eventually your primary/active host will fail and you'll need to bring up your service on a standby. however you solve that problem should take you most of the way to horizontal scaling anyway. why not plan for that from the beginning?
-Nyarlabrotep-@reddit
Those are words but they don't make any sense.
DaRadioman@reddit
😂 you have never seen a real scale of that's what you think.
Show me a server with tens of thousands of cores in it. You can't? Then it sounds like you need something to stitch together or "orchestrate" the many many machines you would need.
And then coordinate where the replicas run on each machine. Maybe you have two services and only one can fit on a machine at a time. So some have svc A and some have svc B. But not both, so you need a component to "schedule" one or the other.
Sometimes you need to work on machine and swap it out, so you need the ability to move that service to a new machine while you work on the other one.
Congratulations, you have just re-invented K8s!
Auios@reddit
No one huh?
ninetofivedev@reddit (OP)
Not my words...
Auios@reddit
They are your words. I'm literally reading them in your post.
Maybe write something yourself on this sub? You do know where you are right?
ninetofivedev@reddit (OP)
You're just missing the context (which I didn't provide)... It's fine. Carry on.
imagebiot@reddit
Disagree
tr0w_way@reddit
Disagree. What if you have different users are dynamically running spark jobs on massive datasets? Vertical scaling would quickly become insufficient
lostmarinero@reddit
Instacart scaled with a rails backend, didnt they just scale horizontally and then eventually break it into microservices?
metaphorm@reddit
rule 9
givemebackmysun_@reddit
For most scenarios but eventually you might have a reason to and you don’t want to get caught with your pants between your ankles. It’s good practice anyways to develop things with a stateless approach, it solves problems with usability and less surprising errors.
Abject-End-6070@reddit
I mean..it was certainly helpful when processing telemetry data from millions of cars.
Embarrassed_Sun7133@reddit
Disagree.
Horizontal scaling can be cheaper.
It can suit the architecture better.
It might make more sense from a distribution/logistics standpoint.
If I'm expanding to serve more customers, I might as well expand to where they are.
loctastic@reddit
some men just want to watch the world burn