Microservices and its advantages
UNLESS YOU’VE BEEN LIVING UNDER A ROCK, YOU’VE HEARD THE LATEST CODING BUZZWORD “MICROSERVICE”.
You may have defiantly heard about the latest buzzword “MicroServices” in the world of ICTs. In this article we’ll discuss about “what is microservice, Advantages of Microservice and Best Practices to Design Microservices ”.
what is a Microservices?
If you ask 5 developers to answer “what is Microservice?”. You’re likely to get 10 different answers from them. In my opinion, MicroService is an architectural pattern that defines structures of an application as a group of small autonomous services, modeled around a business domain. Microservice is independent process which provides a unique business capability. Behind the scenes, many microservices can be grouped to perform as a one large system. but at the end it is Microservices.
For an Instance, Amozon.com. We can see a website as a single system. But behind the scene, Amazon has different services like, accepting orders, recommended items list, authenticating credit cards, handling wish lists and etc. All these services are module (Mini Applications) performing single business tasks.
Monolithic Architecture Vs Microservices Architecture
In above diagram we can see that, all the feature initially under a single instance sharing under a single database. But in case of Microservice architecture, each feature was allotted a different microservice, with handling own data, and which can perform different functionalities.
Microservice Architecture
Advantages of Microservices
Independent Development
- Microservice can easily developed as an individual function.
Independent Deployment
- Also, microservice can be deployed individually on a large application or system.
Fault Isolation
- The system or application does not stop its work while there some problem with a single instance of service.
Mixed Technology Stack
- Various language can be used to developed different service. i.e. A system can have multiple services which was developed with different languages.
Granular Scaling
- Individual services are scalable. Which can be change as par the requirements. No need to scale whole system for single instance.
Best Practices to Design Microservices
In today’s world, products are becoming more and more complex. Microservice architecture have capability to keep the team scaling and functioning more effective.
Also Read: