I see many misconceptions among answers. I would say that building isolated services requires certain level of competence and this is where trouble comes from. By far simple service composition is not creating pains on its own, when done correctly. Indeed you have to identify service boundaries correctly but though you have to do for a proper monolithic deployment too. Taking out parts of the old system into new separately deployed components works very well in practice. A REWRITE almost never works.