The only bit that I didn't agree with was the downsides. You can scale individual modules.
You can set your load balancer to make all calls to specific endpoints go to specific servers. These can scale independently.
If you have background workers (ActiveJobs/Oban for example), these can be on different queues, that you can scale.
It's actually really easy to build out a mono-repo system allow for scale.
If you organise your workers into folders based on their purpose (reporting, exporting, ... ), and you're careful about feature flags, you can drastically reduce git-conflicts and CICD issues.
If you have background workers (ActiveJobs/Oban for example), these can be on different queues, that you can scale. It's actually really easy to build out a mono-repo system allow for scale.
If you organise your workers into folders based on their purpose (reporting, exporting, ... ), and you're careful about feature flags, you can drastically reduce git-conflicts and CICD issues.