Definition

Microservices are individual pieces of business functionality that are independently developed, deployed and operated. Microservices are a variant of service-oriented architecture that structures an application as loosely coupled services. Services are fine-grained and protocols are light-weight.

Characteristics of microservices include:

  • Single purpose

Do one thing and do it well.

  • Encapsulation

Each microservice owns its own data. Interaction with other applications is through well-defined APIs (often, but not always, HTTP and REST).

  • Ownership

Usually, a small, single team of people develop, deploy, and manage a single microservice through its life cycle.

  • Autonomy

Each team can build and deploy its own microservice at any time, without having to coordinate with anyone else. Each team also has a lot of freedom in making its own implementation decisions.


An architecture based on microservices has many benefits:

  • flexibility - a system is easy to maintain by different, autonomous teams
  • modularity - quickly respond to new business challenges
  • scalability  - scale the system functionalities independently of each other
  • integration - fulfill the needs for serverless and headless strategies

Synonyms

none

Acronyms

none

Icon