Microservices constitute applications that have separate, small, independently-working and independently-deployable services. The provider, therefore, separates code bases, while keeping the loosely coupled together (each service with its own database).
This architecture model provides the ability to select those “services” you need to quickly deploy and also minimizes the risk of breaking the code when updating parts of the service. This design aims to increase agility, precise scalability, and deployment flexibility by applying service-oriented architecture and design principles that are domain-driven to distributed applications.
https://www.sayonetech.com/blog/order-management-and-fulfillment-using-microservices/