Me parece uma linha muito ténue a diferença entre ter um software relisiente, e único, e ter um software executado em microserviços.
Acho que microserviços trabalham bem caso tenha uma quantidade muito grande de recursos no programa.
Até que ponto é importante manter um legado monolito, ou transforma-lo em microserviços para evitar comportamentos inesperado?
Enfim, acho que é uma prática essencial, e ainda de quebra auxilia a equipe de Infra/DevOps.
Se um módulo apresenta comportamento inesperado, é muito mais fácil agir apenas nesse módulo, e o risco de afetar a estabilidade do produto como um todo é algo bem menos comum.
Os monólitos, caso um erro mais severo aconteça que derrube apenas um recurso, é comum todos os serviços ficarem indisponívels.
Isso torna a apliacação cada vez menos confiáveis.
Já vi empresas reescreverem um software do zero só pra poder sair da aplicação "monolito".