Stephan van Hulst wrote:In general I would say that breaking a system up in smaller chunks makes it more understandable, not less. However, any design methodology can be taken to the extreme. Making classes or services that do "too little work" can definitely impair the reader's understanding of the system. It's key to identify parts of the system that naturally lend themselves for modularization. Check out this cool article by Martin Fowler: http://martinfowler.com/bliki/MonolithFirst.html
In the article, Martin Fowler explains that it's costly to set up microservices from scratch. This is the primary disadvantage of this architecture style, I think.