Show in graph

Software → Distributed Systems

Microservices Architecture

An architecture style that structures a system as independently deployable services organized around business capabilities.

Microservices Architecture diagram

Motivation

Microservices architecture solves the problem of scaling organizational and deployment boundaries when one application becomes too large to evolve as a single unit.

Where it fits

It belongs to software architecture and system design, and it has strong operational consequences.

Mental model

A microservice is a small independently deployable service with its own boundary and responsibilities.

Important details

The tradeoff is autonomy and independent deployment versus distributed-system complexity, observability, network failure, and data consistency challenges.

Common mistakes

  • Using microservices before the domain boundaries are understood.
  • Treating every class or module as a service.