Last week I spoke at the Bangalore Software Architects Meetup on the topic "Do you need microservices architecture?". Here is the presentation and bit more info about it.
Over the last few years there has been lot of attention on microservices. After the initial "hype" we saw that which problems it can solve and which it can not. I have tried to cover what are microservices and where they can be useful and where not. I want to share these guidelines which can be used to choose between a monolith and microservices.
I feel that one must answer the below questions before being able to choose a microservices architecture and it will be beneficial to you if the answers to these questions are "YES".
Does your services represents different business cases/domains..?
Does the services needs to be deployed and managed independently..?
Does different parts of the application has different scaling/Technology needs..?
A modular monolith can be transformed to a set of microservices in case the need arises. So, we should start with a monolith when we are not sure about the future.