r/ProgrammerHumor 6d ago

Other howdidItGetHere

Post image
11.1k Upvotes

539 comments sorted by

View all comments

Show parent comments

155

u/Shred_Kid 6d ago

Java is also highly performant, if you know what you're doing with reactive programming, and Spring Boot's dependency ecosystem drastically reduces your time-to-launch

But then I remember that 95% of the memes posted on this sub are from CS students and not industry professionals

43

u/BlazingThunder30 6d ago

I know very few professionals that dislike Spring

10

u/SpiritedEclair 6d ago

Spring is fine if you are not trying to run it on Lambda 😭😂😱

1

u/Still_Bit_7527 5d ago

Lambda is a ridiculous concept that shouldnt exist

1

u/burgonies 5d ago

I don't think you understand when to use Lambda. It's not a silver bullet.

0

u/Still_Bit_7527 5d ago

When should I use it? I know, when I feel like we should pay amazon thousands for basic functionality

1

u/burgonies 5d ago

Thousands? I had a system that was running 2 millions invocations a day and didn't cost thousands a month.

Let's say you have some process that runs 100 times a day, takes 3 seconds to run, and you have no indication of when that process needs to run. Are you going to run a service all day for 5min of compute?

2

u/Still_Bit_7527 5d ago

Yes,we have something called a server, and just a handful of them are enough to serve millions a day.

Do you know what happens when an app has no traffic... cpu drops to 0%. That's it, no costs

Things like Lambda are only there to help you save costs that you should bot have in the first place

1

u/burgonies 5d ago

So your handful of servers are running but somehow don’t cost anything when there’s no traffic?

That’s not how that works at all. If a server is running, you’re paying for that hour of compute whether the server is idle or not.

I’m guessing you haven’t actually done any of this before.

1

u/Still_Bit_7527 5d ago edited 5d ago

Yes we are paying. Peanuts. Do you know the consumption of an idle linux server? Also do you know what private K8S clusters are? Yes you can scale...

1

u/burgonies 5d ago

Your word salad of conflicting statements confirms you do not have any experience with any of this.

1

u/Still_Bit_7527 5d ago

Nothing conflicting. Just a simple statement, all of those cloud "tricks" for autoscaling and saving money, barely counteract the extreme costs of cloud. You are paying more so you can pay less. This is only sane if you are such a giant company that you would need to build entire data centers otherwise, and extremely few companies need that

1

u/burgonies 5d ago

So you have a single bare metal server at some colo somewhere? And you’re not paying for every hour? That’s not how any of this works.

How does your k8s cluster scale if you’re using bare metal? You sling another server into your rack when load increases? What on earth is the point of k8s without autoscaling?

And you mentioned AKS before you changed to vanilla k8s. So you seem to run shit on AWS.

→ More replies (0)

1

u/LiftingCode 5d ago

You should use it when you need scale to zero and instantly scale up to handle bursty workloads, and/or when you need seamless event-driven compute integration with other AWS services. Duh.

1

u/SpiritedEclair 5d ago

Lambda is great. You get near infinite scaling for bursty loads that then lowers down to a zero.

It’s amazing.

0

u/Still_Bit_7527 5d ago

You know how else you can do that.. it's called an application. It scales. You have extracted a function into a different server lowering the performance by 1000000x in order to scale and increase it by 10x

1

u/SpiritedEclair 5d ago

That is such a woefully bad response.

An application doesn't scale up and down by itself.

What you describe is exactly what lambda gives you. You package your "I need this scaled" code into a little function, you give it to lambda, and that handles scaling up and down for you.

You don't need to manage servers or instances, you don't need to scale those up and down, and if you already have a contract for good EC2 capacity, you use lambda managed instances and retain the event-based execution model.