Microservice Architecture (also called MSA) is a "functional system decomposition into manageable and independently deployable components":

  • The term “micro” refers to the sizing: a microservice must be manageable by a single development team (5-9 developers);
  • Functional system decomposition means vertical slicing (in contrast to horizontal slicing through layers);
  • Independent deployability implies no shared state and inter-process communication;
  • Enables separation and independent evolution of code base, technology stacks, scaling and, features.

Introduction to Microservices