Gateway Offloading
Moving cross-cutting concerns — TLS termination, authentication, rate limiting, compression, logging — from every service into the gateway.
The argument is that a dozen services should not each implement token validation, rate limiting and CORS, inconsistently, in several languages. Enforcing them once means enforcing them the same way everywhere and being able to change them centrally.
What genuinely belongs there: TLS termination, authentication and coarse authorisation, rate limiting, request and response compression, request logging and correlation ID injection, protocol translation, and routing.
The line to hold is that offloading is for policy, not for logic. Once request transformation becomes enrichment, and enrichment becomes cross-service orchestration, the gateway is a distributed monolith every team must queue to change — and it is the least testable component in the estate.
The counterweight to remember: everything passes through it, so its availability is the estate's availability, and each added feature is one more thing that cannot be tested in isolation.