Microservices architecture is an approach to software development that structures an application as a collection of small, independent, and loosely-coupled services that communicate with each other through APIs.
In a microservices architecture, each service is responsible for a specific business capability or domain, and can be developed and deployed independently from the other services. This approach contrasts with a monolithic architecture, where all the functionality of the application is packaged into a single unit.
Microservices (martinfowler.com): The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP or gRPC API.
These services are built around business capabilities and independently deployable by fully automated deployment process. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. The microservice architecture decomposes an application into small independent services that communicate over well-defined APIs.