Please define significant load.
Please define significant load.
(Note: I'm not saying microservices are bad – I just think that the process which lead to that ball of mud will unfold similarly with a different methodology)
Some would consider it light, but I work alongside a company that is currently struggling to get beyond that mark.
This is why I hate this subject. People use terms and don't define them. If you think microservices is the only way to scale past 30 requests per second you're extremely wrong.
If you need to. You probably don't, and you definitely don't if you're struggling with 30 reqs/second. This isn't just YAGNI. This is YAHYBDI. You Are Hurting Yourself By Doing It. You need to write better code and examine the assumptions that have created the mess you're dealing with.
I get that microservices are trite, and most people think they need them long before necessary; however, they have uses beyond scale.
I'm sure that there are ways to mitigate every point I can make within monoliths.
My points are just opinions.
This is what I do for a living, and I am regularly but-but-microserviced by people who are equally ignorant of competent application design and who think that breaking it into HTTP-intermediated chunks will solve that they are choosing to write bad code. That segmentation doesn't--it does nothing. It isn't YAGNI, but YAHYBDI, and I'll get hot under the T-shirt occasionally 'cause people who read discussions like this will get the wrong idea and stick their hands into the saw, too.
I could get paid more by letting people mangle themselves, but it'd be mean.
There's the occasional case where a single language won't fit the bill, but there's a big difference between 2 services and 200.