Excellent article.
Ferdy Christant

I absolutely agree with your point. Perhaps I should have stressed this a bit more in the article.

A lot of times developers, including myself, have a tendency to go after the new shiny thing on the block as opposed to what is right for the job. The problems that microservices, and service oriented systems in general, aim to solve aren’t something that one would expect to encounter on a small to medium sized project.

Unless your system is growing extremely fast or you find managing the different logical pieces of your application in a shared location increasingly challenging, there may not be a need to move over to a microservice based design. Following the same argument, it is probably better for a system to start off as a monolithic application and gradually fragment into distinct services once functionality is more defined. Starting off with several different services from the get go, without having a clear understanding of what role each one is supposed to play, could end up costing you in the long run.