Used in complex applications that require short release cycles and high scalability and availability.

Note

Each service typically:

  • Implements one functionality
  • Is deployed independently
  • May have its own database
  • Is managed by an orchestrator

The server-to-server connectors (often RPC) is a large part of this system. This architectural pattern introduces a large amount of complexity.