Modernizing applications by decoupling them from the underlying infrastructure on which they are running can enable portability and innovation (shifting workloads to the cloud), reduce costs, and improve security. Cloud native infrastructure, container technology, and orchestration frameworks like Kubernetes decouple applications from the compute fabric, but in order to fully realize the benefits, they also need to be decoupled at the traffic and networking layer too. An API gateway can decouple applications from external consumers by routing ingress requests from end users and third parties to various internal applications and by providing cross-cutting functionality like authentication, encryption, and rate limiting. A service mesh can decouple applications from internal consumers by dynamically routing inter-data center and service-to-service requests, regardless of where they’re exposed on the network. The core concepts behind an API gateway and service mesh are not new, but the combination of current user requirements and modern cloud native technologies provides new constraints and new opportunities. Daniel Bryant provides an overview of these technologies, how they impact application architecture, and what implementation options are currently available. Daniel has worked within these technologies for over five years, both as an architect and end user, and also as an engineer within a cloud infrastructure-focused tooling organization.