These are my thoughts on the MOMS architecture:
Monolith with Opensource Microservices.
Basically, you write your app as a monolith because its quick and easy.
And when you have a subsystem of sufficient complexity and independent enough (doesn’t require being deeply enmeshed in your app), you split it out to a microservice that you opensource.
By opensourcing it, it makes you think of how other people might use it, so you make the APIs a bit more generic, you document it better with a readme, and you standardise the deployment so it’s easy for you to deploy.
The opensourcing has real benefits, even if no-one ever sends you PRs.
MOMs.
Yeah, if there's a slice of your app for which you would use a hypothetical upstream hosted or installable API product, then that slice is a great candidate for splitting out. You could always do this using code modularity within your monolith, but making it completely separate formalises the split, whether or not you open source it: it's a self-imposed barrier to tangling things up in future when doing so might feel like an expedient hack! Open sourcing it keeps you even more honest.