Microservices Architecture: Introduction of Microservices
Posted By : Sameer Grover | 29-Sep-2017
Microservices architecture allows developers to design big software application into small services that can run independently. Each microservices designed & developed by different teams & it's completely separated from each other. This architecture allows every service to run separately & work autonomously.
Characteristics of Microservices:-
1. Independently Deployable.
2. Separately Developed
3. Easily Replaceable
1. Independently Deployable
Biggest characteristics of microservices is the fact that it can be broken into small multiple services, this means each microservice can be deployed on its own server, as well as modified & redeployed if needed, without compromising application as a whole.
2. Separately Developed
Because microservices can be divided into small services, so its development can also be done by separately without having deep knowledge of other microservices or different technologies.
3. Easily Replacable
In Mociroservices architecture, many services communicate each other & it is highly probable that one service may fail at one point.Service may fail because of many reasons, like technology becomes outdated or when the code in the service can not be developed any more.So this architecture allows us to easily replace a microservice without affecting the whole application.
Microservices are evolutionary and perfect for the situations where developers can't completely predict what devices may be accessing the application in the future.
Examples of Microservices :-
Benefits of Microservices :-
1. Services in the Microservices architecture can be broken into multiple smaller services, so that each services can be deploy/redeploy independently without effecting the whole application and also provide freedom for developers to develop & deploy services independently.
2. Better Fault isolation in microservices architecture is also very helpful, so if we found any fault in running services, then we can easily stop or redeploy new services.
3. Microservices can be written in different languages & provide the facility for developers team that can write code in a particular language.
4. The microservices architecture allows continuous delivery, because each services developing by different team.
5. Service created by microservices architecture are easy to understand, because it contains very less functionality & very less piece of code.so development team can modify the functionality easily & new team can productive in a very less time.
6. Microservices simplify security monitoring, because each service deployed seperately, so it can be easily monitorable.