I think this question was covered when microservices was more hyped up.
Here are some relevant discussions from a few years ago:
Robert Virding’s quote in there is quite hilarious because Erlang has been doing microservices forever by its design.
Anyway, on another note, something no one hasn’t mentioned yet - microservices are very useful when you have cross-organizational boundaries and have 300 people trying to commit to trunk. They are somewhat useful when you have to scale a hotspot. And for everything else…meh.
One group I was working with in 2015 divided a system into 14 separate microservices for a team of 8-9. When I went to visit, I asked them, “Why are you storing the same data over these 5 boundaries? It’s all the same data, why not the same service.” They answered, “That’s what we said, but our architect told us we need to microservices!”
So whatever you’re building, don’t do that and blame the language(s).
There are almost no benefits to microservices unless you’re a huge corp. And that’s the core of the problem, people look at what Google / Facebook etc. do and wrongly believe that it fits their project.
Keep it all in a single repo, I am pretty sure you’re not working on the next YouTube or Netflix or Twitter.