I like how you didn't even ask for any context that would help you evaluate whether or not their chosen architecture is actually suitable for their environment before just blurting out advice that may or may not be applicable (though you would have no idea, not having enquired).
I never said it was applicable to them, in fact I said the opposite:
> Obviously that ship has sailed for you, but I mean in the general sense.
In the general sense, no, you don't need a distributed system. Even if you have billions of dollars worth of revenue - no, you don't need a distributed system. I know, because I've worked on monoliths that service hundreds of thousands of users and generate billions in revenue.
If you're making YouTube, maybe you need a distributed system. Are you making YouTube? Probably not.
You can, of course, choose to make a distributed system anyway. If you want to decrease your development velocity 1000x and introduce unbelievable amounts of complexity and risk.
Yeah most enterprise software barely works and is an absolute maintenance nightmare because they're sprawling distrivuted systems.
Ask yourself: how does an enterprise with 1000 engineers manage to push a feature out 1000x slower than two dudes in a garage? Well, processes, but also architecture.
Distributed systems slow down your development velocity by many orders of magnitude, because they create extremely fragile systems and maintenance becomes extremely high risk.
We're all just so used to the fragility and risk we might think it's normal. But no, it's really not, it's just bad. Don't do that.
Enterprises are frequently antipattern zoos. If you have many teams you can use the modular monolith pattern instead of microservices, that way you have the separation but not the distributed system.