Search This Blog

Wednesday 11 April 2018

Microservices Architecture vs Monolithic Architecture


Difficulties with monolithic application, when it grow 

  • Large monolithic code base makes complicated to understand, especially for new developer
  • Scaling become challenging
  • Continuously integration / deployment become complex and time consuming. You may require dedicated team for build and deploy
  • Overloaded IDE, Large code base makes IDE slow, build time increase.
  • Extremely difficult to change technology or language or framework because everything is tightly coupled and depend up on each other.
Privilege with Microservice architecture, when it grow 
  • Each microservice is small and focused on a specific feature / business requirement.
  • Microservice can be developed independently by small team of developers (normally 2 to 5 developers).
  • Microservice is loosely coupled, means services are independent, in terms of development and deployment both.
  • Microservice can be developed using different programming language (Personally I don't suggest to do it).
  • Microservice allows easy and flexible way to integrate automatic deployment with Continuous Integration tools (for e.g: Jenkins, Hudson, bamboo etc..). The productivity of a new team member will be quick enough.
  • Microservice allows you to take advantage of emerging and latest technologies (framework, programming language, programming practice, etc.).
  • Microservice is easy to scale based on demand. In a nutshell, monolithic vs microservice architecture is like elephant vs ant approach. What you wants to build a giant system like elephant or army of ant, small, fast and effective.

1 comment: