r/ProgrammerHumor 3d ago

Meme distributedStress

Post image
13.8k Upvotes

335 comments sorted by

View all comments

Show parent comments

713

u/mwax321 3d ago

Let's be real, if a micro service is down, youre down too.

If you're a web store and your "inventory service" is down, the site is down lol

402

u/WriterPlastic9350 3d ago

Let's be real, if a micro service is down, youre down too.

If our store service goes down, that sucks for us, but our login service, queue service etc all still work. People can't buy shit but they can still play our games.

Not to mention, our store service needs far less traffic than our queue service, or our login service, or matchmaking service etc.

A monolith is sometimes a good solution - our games are monoliths - but service oriented architecture exists for many reasons, some technical and some political

Your job isn't to design a solution that scratches your particular brain itch, your job is to design a solution that works for the constraints you need. That might be a monolith but it also might not be!

28

u/mwax321 3d ago

See... To me what you're describing isn't very micro. That's just different systems.

Before that book came out, people had a login system, a matchmaking system, the online store...

I mean, I have no idea how your system is designed. I'm just an old grumpy "back in my day" fart nugget 😂

19

u/wrecklord0 3d ago

This. Different things should be kept different. I have a feeling that some people use "microservice" as this magical word that removes all inter-dependencies. If you have function A that relies on function B, it doesn't matter if its in a monolith or a micro-service, A is not going to work if B doesn't.

15

u/mwax321 3d ago

Hahaha but it's happened so much. I'm over 20 years in and I swear we've come full circle 3 times now. Especially on web.

The switch from all JavaScript bad css good. Handle it all with the backend using MVC. Then to front end frameworks like angular and react. Then suddenly, this new concept called "server side rendering" rofl.

5

u/ashgs872tbhjs 3d ago

You can SSR with React, FWIW, like via NextJS

5

u/HerrPotatis 3d ago edited 3d ago

I don't know why you got downvoted. SSR of today is fundamentally different from the good ol' days of LAMP.

u/mwax321 seems to have a lack of understanding of where we came from, why we did things the way we did them, and why we do them differently now.

This notion that, hurr durr, modern webdev is stoopid, just because we shelf concepts or upcycle old ones is not a good take. I'm sure that 10-20 years from now, everything will have changed again, but we will still use concepts and features from today.

2

u/WriterPlastic9350 2d ago

People liked React and Angular because it made frontends easier, then people realized that React could be used for non-javascript environments, and then realized you can restore progressive enhancement by rendering React on the render and piping a large javascript bundle to the frontend.

Today's SSR builds on this by basically designing an application and having the language (or framework, rather) express which parts require user interactivity and which don't, and this makes it easier to deploy applications to multiple platforms while not compromising the user experience.

We definitely go in cycles for sure, but viewing the path from MVC to frontend only libraries to SSR as being motivated out of where to put the javascript is kind of missing the forest for the trees

1

u/mwax321 2d ago

Im talking more the cycle from front end to backend and back.

3

u/FlakyTest8191 3d ago

I think microservices became a thing in big companies because you can have 2 teams own their own services and be relatively independent in regards to updates/deployment, and you can scale different, maybe you want to temporarily spin up more checkout services on a busy day, but the rest of the system is holding up fine.

2

u/WriterPlastic9350 2d ago

There's some kind of razor out there that essentially states that your software design eventually reflects the political structure within your company, so yeah, I think you've hit the nail on the head. (micro)services are as much about political and human decisions around deploying, or on-call, etc, as they are about technical aspects like scaling