Used in applications that involve distributing data and processing across multiple components over a network.

Components
- Clients
- Initiate requests
- Servers
- Provide services to multiple clients
- The connectors here are remote communication protocols (HTTP, REST, RPC, Publisher Subscriber Model)
Pros and Cons
Pros:
- Clear distribution of responsibility
- Clients and servers can be on different stacks
- Servers can be upgraded or replicated without changing clients Cons:
- Network failure modes become central concerns
- Service discovery and governance become harder as the number of servers grow