Search This Blog

Tuesday, May 10, 2022

Monolith vs Microservice Architecture

Microservices are a hot topic these days. It is important to know why we use them instead of monolithic systems. The short answer is: Scalability. The detailed one would be:

Advantages:

  • The microservice architecture is easier to reason about/design for a complicated system.
  • They allow new members to train for shorter periods and have less context before touching a system.
  • Deployments are fluid and continuous for each service.
  • They allow decoupling service logic on the basis of business responsibility
  • They are more available as a single service having a bug does not bring down the entire system. This is called a single point of failure.
  • Individual services can be written in different languages.
  • The developer teams can talk to each other through API sheets instead of working on the same repository, which requires conflict resolution.
  • New services can be tested easily and individually. The testing structure is close to unit testing compared to a monolith.


Microservices are at a disadvantage to Monoliths in some cases. Monoliths are favorable when:

  • The technical/developer team is very small
  • The service is simple to think of as a whole.
  • The service requires very high efficiency, where network calls are avoided as much as possible.
  • All developers must have context of all services.


No comments:

My Profile

My photo
can be reached at 09916017317