I ran a LinkedIn poll recently to see if devs preferred a mono or poly repo setup when using microservices for a single ‘app’.
After 566 votes we can see a preference for polyrepo…
Personally I prefer a mono repository setup as I think it’s just easier to manage and it gives me better visibility of what’s going on the app as a whole as I can look at the history of the one repo.
I should also note that storing microservices in a single repo doesn’t have to affect how they are deployed. You can still deploy them independently by putting build triggers on the folder level rather than the repo/branch level.
If devs do want to go the polyrepo approach I think it should be based around team responsibility and not number of microservices. For example if an app had 10 microservices and TeamA looked after 5 and TeamB looked after the other 5, I’d have two repos NOT 10.
What approach do you prefer?