&gt;I&#x27;ve tried that in the past. Even if modules aren&#x27;t tightly coupled, deployment is, so different teams need to synchronize at deployment time.<p>No they don&#x27;t. There&#x27;s no reason why two different teams can&#x27;t schedule an upgrade of the same service at different times. The riskiness of this is entirely dependent upon how good your integration test suite is.<p>&gt;if a module update introduces a performance bug, it will affect everything else.<p>The module will still affect everything that is dependent upon it if it is rebuilt as a microservice. You&#x27;re just moving the performance problem from one place to another.<p>&gt;if you want to update a core lib for component X, it will need to be updated (and tested) for everything else.<p>Ok, so upgrade the library and run the full set of integration tests.