Monolithic vs Micro Services



Monolithic: Developing and maintaining  the whole application into a Single unit.

Micro Services : Developing and maintaining individual services and  deploying as single application using light weight protocols for communication.

Feature
Monolithic
Micro Services
Language Constraint
We have to write entire application in a single language.
Micro services can be developed using multiple languages. We can go with multiple persistent databases and frameworks which is best suitable for a business need.
 Digestion
It is not possible one developer to digest all the modules in the entire application.
Micro services are pieces of application. So, digestion is not a problem. Developer can easily concentrate on the assigned service only.
Deployment
Deployment is easy but we have to deploy the entire application for a small change.
Micro services are deployed and run on independent servers. So, we can deploy the single service instead of entire application.
Easy to manage
Monolithic applications are not easy to test, scale and manage.
Micro services are easy to test , scale and manage as we are having only single service to test and manage than the entire application.
Issue fixing
It is hard to debug and fix the issues in the entire application. We can not ask a specific member to team to fix the issue.
The issue debugging and fixing is easy in micro services as each service is having a dedicated team.
Invoking Services
In-process calls,  easy to call and load the services.
Remote calls are always expensive .

Comments

Popular posts from this blog

How to get the tweets using Kafka producer and Consume it using MongoDB

AngularJS Flow