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.