What is a MICROSERVICE ARCHITECTURE and what are its advantages?
Gaurav Sen Gaurav Sen
566K subscribers
681,870 views
0

 Published On May 20, 2018

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

Advantages:
1) The microservice architecture is easier to reason about/design for a complicated system.
2) They allow new members to train for shorter periods and have less context before touching a system.
3) Deployments are fluid and continuous for each service.
4) They allow decoupling service logic on the basis of business responsibility
5) 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.
6) Individual services can be written in different languages.
7) The developer teams can talk to each other through API sheets instead of working on the same repository, which requires conflict resolution.
8) 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:
1) The technical/developer team is very small
2) The service is simple to think of as a whole.
3) The service requires very high efficiency, where network calls are avoided as much as possible.
4) All developers must have a context of all services.

Recommended system design video course:
https://interviewready.io

00:00 How do they differ?
02:02 Advantages of Monoliths
03:33 Disadvantages of Monoliths
04:55 Advantages of Microservices
06:16 Disadvantages of Microservices
07:03 Summary
07:57 Thank you!

Along with video lectures, this course has architecture diagrams, capacity planning, API contracts, and evaluation tests. It's a complete package.

References:
https://buttercms.com/books/microserv...
https://articles.microservices.com/mo...
http://highscalability.com/blog/2018/...
   • What I Wish I Had Known Before Scalin...  

System Design Video Course:
https://interviewready.io

The above is a complete course on how systems are designed. Along with video lectures, the course has continuous updates and live classes.

System Design Playlist:    • System Design for Beginners  

show more

Share/Embed