Member-only story
When Not to Use Microservices
We discussed lot about Microservices and why they are so good. Sometimes you should not use the Microservcies architecture. Microservices are not one-size fit-all solution. Designing every system as a Microservices system is a mistake which can lead to a lot of problems. There are cases where they should not be used. Even if we used, they might even cause damage and lead to failures.
Therefore use of Microservices should be evaluated on a case by case basis.
Small Systems
Small systems in general should not use Microservices. Small systems with low complexity should usually be a monolith. We should always remember that Microservices always add complexity and we should look closely at the trade-off between the Microservices added complexity and the advantages they bring with them. In small systems, this trade-off usually does not justify itself.
If the systems is not complex to begin with, we do not have the challenges that lead to Microservices in the first place and there is no point in using them.
How do we define a complex system?
How do we know if the system is complex enough that it will gain from using Microservices? The rule of thumb is that if there is a service mapping step results in two or three services, then the Microservies are probably not the right option. This number points to a system, that is inherently simple and there is no point in trying to solve non-existing problems by adding complexity. In this…