microservice architectural style is an approach to developing a single application as a suite of small services loosely coupled and independently deployable, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API, event streaming and message brokers. These services are built around business capabilities and independently deployable by fully automated deployment machinery.