What are microservices?

Wikipedia defines it as: a software development technique – a variation of the Service-oriented Architecture (SOA) architectural style that constructs applications as a set of loosely coupled services. In microservices architecture, services are fine-grained and protocols are lightweight.

Microservices (or microservices architecture) is a cloud-native architectural approach in which a single application is made up of many loosely coupled and independently deployable smaller components or services. These services are usually

● Own stack, including database and data model;

● Event flows and message brokers communicate with each other through a combination of REST apis;

● And they are organized by business capabilities. The lines separating services are often called bounded contexts.

While much of the discussion about microservices revolves around architectural definitions and characteristics, their value can be more generally understood through fairly simple business and organizational benefits:

● Code can be updated more easily.

● Teams can use different stacks for different components.