Reputation: 676
Let's say you have a project that doesn't need scaling, statelessness or multiple databases. Does it make sense to implement a microservice architecture with one database, just so the project is more modular and easier to maintain compared to a monolith n-tier application?
Upvotes: 0
Views: 297
Reputation: 17485
This is bit depends on situation.
Between Monolithic (Layered Architecture) and MicroService (Fine-Grained Services), there is world of Modular Monolithic.
If you try to ask following question if answer is "Yes" then choose Modular Monolithic.
Scalability and Stateless should not be main factor to go for MicroServices. In fact Layered monolithic or modular monolithic both gives you this but with higher cost in terms of resource it required.
If you ask following question, you get answer yes then it is more towards MicroServices.
Update:
Language as well as technology stack that you choose also make difference.
If you want that your all services or module can be written in one language and you are happy with it then Modular Monolithic is good choice.
if you want to choose different module/service in different tech stack due to each tech stack provide different benefit then Microservices is good choice.
Another factor I consider is team.
If you have different team working on different part of product then Microservice is good choice as it gives proper separation and autonomous behavior.
Upvotes: 2