Microservice is an approach to develop an application by putting a number of smaller services together. The services are built based on the functionality / business need of the application and it simply means a small independent service. This makes one to understand the application much easier.
Micro-service could be considered as subset of SOA (Service Oriented Architecture). Micro-services are independently deployable whereas SOA is group of micro-services. In simple words, the components may belong to the same application in SOA but Micro-services are independent services.
The major advantage of microservices is greater scalability and easy maintainability. Each service has it's own data model,database etc., and can be deployed independently.When a service is down or not working, it impacts only a specific functionality and not the entire system.
A simple example of micro-service implementation is Shopping Cart. The service take care of only the task of placing the Order and it does not have to worry about tasks regarding customer details, payment and so on.
Infact there is no difference between Microservices architecture and Service Oriented Architecture (SOA). Microservices are not completely new, it's just a new term for existing implementation.
A simple example of micro-service implementation is Shopping Cart. The service take care of only the task of placing the Order and it does not have to worry about tasks regarding customer details, payment and so on.
Infact there is no difference between Microservices architecture and Service Oriented Architecture (SOA). Microservices are not completely new, it's just a new term for existing implementation.
As we are moving towards cloud and more applications are being deployed in Cloud, Microservices play a key role.Normal server side applications would handle business logic, provide services to client and perform database operations. Any minor change in the application would need a complete redeployment of the whole application and it would bring the complete application down when it's being redeployed. Extensive resources are also needed to scale such applications.
Cloud applications should be failure resistant. And making normal server side applications to be failure resistant is tedious and requires extensive resources. Microservices makes this task easier. Incase of failure, it's easy to fix or redeploy the specific service. It will impact only one specific task of application and rest of the application will resist and runs undisturbed which means higher availability.
Microservices Architecture enable continuous delivery and deployment. Microservices are emerging rapidly and is becoming one the preferred styles for developers and architects.
While Talking about SOA and Microservices, there is an acronym we need to consider"ESB". ESB plays a vital role in the SOA architecture. But in case if microservices, the concept of ESB can be either limited or removed with the API Gateways.
ReplyDeleteIndeed ! Thank you for your suggestion.
Delete