Unfortunately one of the driving forces behind microservices among developers is a chance to be able to learn another fashionable programming language. This is why it is difficult to battle against — some developers like it (and a chance to write some code from scratch).
As a result we end-up with so many microservices that nobody knows how many of them are run and, because of this, some of them are probably never used, but everybody is afraid of shutting them down because nobody knows what they are for.
And all those bits are written in different languages by people learning those languages (meaning that they are written badly) in order to put the new language on their CV and move on to a higher paid job.
As a result you end up with components written in languages nobody in the company know (the original developers moved on) and nobody wants to learn (the languages gone out of fashion, there is no benefit of learning it for your career anymore).
