then why is it all the rage?
The main issue I have with it is simple: in my experience you cannot really debug some classes of issues ("we had intermittent issues calling endpoint A from function B") and they kinda push on you a certain type of organization model so if it doesn't reflect your organization model (for example, you have centralized infra teams) prepare to be screwed.
At an higher level, it massively encourages atomization of systems, which makes them essentially spaghetti with a network you cannot debug as the sauce. Good luck, hope your company pays for honeycomb.