Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities.
The microservice architecture enables the continuous delivery/deployment of large, complex applications.
It also enables an organization to evolve its technology stack.
In a microservices architecture, services are fine-grained and the protocols are lightweight.
The benefit of decomposing an application into different smaller services is that it improves modularity and makes the application easier to understand, develop, and test and more resilient to architecture erosion.
It parallelizes development by enabling small autonomous teams to develop, deploy and scale their respective services independently.
It also allows the architecture of an individual service to emerge through continuous refactoring.
Microservices-based architectures enable continuous delivery and deployment.