microservices architecture architectural design pattern Edit
Microservices design pattern is a variant of service-oriented architecture (SOA) design pattern. In microservice architecture the application is structured as a collection of services which are.
- Highly maintenable and testable
- Loosely coupled
- Independently deployable
- Organized around business capabilities
- Owned by a small team
In a microservices architecture, services are fine-grained and the protocols are lightweight. When you design an application using microservice service you have to design in such a way that each module should be independently deployable, loosely coupled, and should be designed to deliver one specific business goal.
The predecessor to microservices architecture was the monolithic architecture where you had a large application that takes care of all the business needs. Let's discuss some of the problems with a monolithic architecture. It was a single large application so you could not build a monolithic application using different technologies. If there are issues with one piece of the application the entire system does not work. Each time the application needs an update the entire application needs to be rebuilt. Continuous deployment was not possible with monolithic applications. It takes a longer time to build monolithic applications. And this architecture style was not fit for complex applications.