Developers are very quick to reach for a microservices based architecture these days because it’s popular or ‘it’s what Netflix does’ but remember if you don’t have the problems which microservices solve you don’t need microservices.
Mostly microservices solve problems related to scaling your teams. They allow large organisations to have teams independently working on aspects of the overall solution without stepping on each others toes and coming up against bottlenecks.
But… they introduce a lot of complexities such as how to deal with rollbacks across multiple microservices when each has its own datastore which they should…
The best approach initially is to go with a well organised monolith. Keep it simple, monoliths are not bad… despite what you might read online.
What do you think?