Move specialized and common functionalities to a gateway.
Problem
Shared and specialized services that are distributed with every application, increase administration, and prolong deployments. Any updates to shared services must mu deployed across all services that share that functionality.
Some of the common shared services:
- Security - token validation, SSL, encryption etc.
- Authentication
- Authorization
- Logging
- Monitoring
- Throttling
Problem becomes even more prominent when some of the services are highly specialized and require specific knowledge (or even clearance) like authentication/authorization.
Solution
Offload shared and specialized features to an API gateway.
Related Patterns
- Gateway Patterns
- Backends for Frontends pattern
- Gateway Aggregation pattern
- Gateway Routing pattern
- Gateway Offloading pattern