Advantages of Microservices, disadvantages and challenegs

  • Smaller surface area per change
  • Faster to deploy and test changes
  • Can build multiple different microservices in different languages since they communicate to each other via Rest API which is language independent

Best Case for Microservices

  • When the application is very big and there are teams who would work on each part of the application, then it is easy to maintain that.
  • It is easily scaled up since each micorservice is deployed on a different box

Possible Disadvantages

  • In a monolithic architecture communication is small and direct while in micorservices there is a need to communicate to other API over network. (So slow compared to monolithic).
  • Code like constants or small utility has to be re-added at all places which causes repeat of code.
  • If network is slow then your API may take a big hit

Challenges while build Microservcies

  • Challenegs in inter communicating microservcies
    • Changes has to be made at all the endpoints that consume these microservices
    • All the microservices that consume microservices has to be deployed at same time.
    • This causes the use of Feature flag which enables and disables the feature (which reduces the code quality if future perspective)

Leave a Comment