I'm working with a SPA that has a dedicated backend composed of over a dozen microservices.
Each service has its own repo, and its own DB, even though all services are built and maintained by one team.
I do not recommend this.
🚩Can't do atomic commits
🚩Lots of friction jumping between repos and DB's
🚩Hard to configure CI, or to manage cross-repo breaking changes
🚩Repeated code between repos
🚩Hard to maintain data integrity between DBs
🚩Requires many HTTP calls to load a page (there's no BFF)
🚩No easy way to search/navigate between repos
🚩Complex cross-service transactions
🚩Doesn't honor Conway's law