More efficient debugging – no more jumping through multiple layers of an application, in essence, better fault isolation.
Accelerated software delivery – multiple programming languages can be used thereby giving you access to a wider developer talent pool.
Easier to understand the codebase – increased productivity as each service represents a single functional area or business use case.
Scalability – componentized microservices naturally lend themselves to being integrated with other applications or services via industry-standard interfaces such as REST.
Fault tolerance – reduced downtime due to more resilient services.
Reusability – as microservice are organized around business cases and not a particular project, due to their implementation, they can be reused and easily slotted into other projects or services, thereby reducing costs.
Deployment – as everything is encapsulated into separate microservices, you only need to deploy the services that you’ve changed and not the entire application. A key tenet of microservice development is ensuring that each service is loosely coupled with existing services.
https://www.devteam.space/blog/microservice-architecture-examples-and-diagram/
Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of services that are
Independently deployable
Loosely coupled
Organized around business capabilities
Owned by a small team
Highly maintainable and testable
The microservice architecture enables the rapid, frequent and reliable delivery of large, complex applications. It also enables an organization to evolve its technology stack.