Microservices Architecture

Decomposing monoliths into loosely coupled, independently deployable services.

Microservices architecture styles a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.

Core Principles

  • Modeled around Business Domains (DDD).
  • Culture of Automation (CI/CD is mandatory).
  • Hide Implementation Details (API Gateways).
  • Decentralize all things (Data governance, management).
  • Design for Failure (Circuit Breakers, Bulkheads).

Warning

"Don't even consider microservices unless you have a system that's too complex to manage as a monolith." - Martin Fowler