SlideShare a Scribd company logo
@danielbryantuk | @ambassadorlabs
The Busy Platform Engineers
Guide to API Gateways
Daniel Bryant | Head of DevRel, Ambassador Labs
@danielbryantuk
@danielbryantuk | @ambassadorlabs
tl;dr
● Choosing (or migrating) an API Gateway is a Type 1 decision
● Treat API Gateways as a product
● Think about developer/operator experience
● Focus on workflows and tooling interoperability
@danielbryantuk | @ambassadorlabs
@danielbryantuk (he/him)
linktr.ee/danielbryantuk
@danielbryantuk | @ambassadorlabs
Previously at PlatformCon
@danielbryantuk | @ambassadorlabs
From Kubernetes to PaaS to… err, what’s next?
https://www.youtube.com/watch?v=zUpYEhaUJnM
@danielbryantuk | @ambassadorlabs
What did I learn?
Treat platform as a product 🚉🎛
You can’t have good DevX without good UX 󰠁✨
Focus on workflows and tooling interoperability 🏭🤝
@danielbryantuk | @ambassadorlabs
Treat Platform API Gateway as a Product 🚪
@danielbryantuk | @ambassadorlabs
API Gateway as Product
● Take care when lifting and shifting an API Gateway
○ Nearly always end up replatforming (“lift-tinker-and-shift”)
● Products have users and personas
○ Know them and their requirements
○ User research is invaluable
○ Understand where the API gateway fits into the bigger solution
https://www.youtube.com/watch?v=Q09dAnIN4RY
@danielbryantuk | @ambassadorlabs
Modern cloud native comms stack
CDN API Gateway Service Mesh CNI
OSI Layer 1-3
OSI Layer 4-7
Operations Operations
Developers
APIM
Internal Dev Portal (IDP)
WAF
Policy (Workloads)
NACL / SG
SDN
Policy (Users)
App ‘ilities (authn/z, rate limit, cache)
🤯
Traffic flow
@danielbryantuk | @ambassadorlabs
Firm foundations side note: Envoy Proxy
@danielbryantuk | @ambassadorlabs
You can’t have good DevX
without good UX 󰠁✨
@danielbryantuk | @ambassadorlabs
You can’t have good DevX without good UX
● Understand the approach and defaults for your platform
○ Kubernetes native (CRDs, GitOps-friendly)
○ CLI or API-driven
○ UI-driven? (Point & click)
● Tailor the experience to personas
○ Developer experience
○ Operator experience
● Platform engineering tenets: onramps & self-service
https://twitter.com/danielbryantuk/status/1557268926429528065
@danielbryantuk | @ambassadorlabs
A long time ago, in a platform engineering meeting
far, far away, the team discusses “self service”
@danielbryantuk | @ambassadorlabs
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: quote-mapping
spec:
prefix: /quote/
service: quote
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: quote2-mapping
spec:
prefix: /quote/
service: fancy-quote
weight: 10
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: restricted-mapping
spec:
host: restricted.example.com
prefix: /restricted/
rewrite: /a/very/safe/path/
rewrite_host: safe.example.com
service: dangerous-service
apiVersion: getambassador.io/v3alpha1
kind: Listener
metadata:
name: listener-8443
spec:
hostname: www.example.com
tlsSecret:
name: example-cert
securityModel: XFP
hostBinding:
selector:
matchLabels:
my-listener: example
apiVersion: getambassador.io/v3alpha1
kind: Host
metadata:
name: example-host
labels:
my-listener: example
spec:
hostname: “www.example.com”
tlsSecret:
name: example-cert
apiVersion: getambassador.io/v3alpha1
kind: AuthService
metadata:
name: extauth-service
spec:
auth_service: example-auth
path_prefix: “/extauth”
allowed_request_headers:
- “x-example-session”
allowed_authorization_headers:
- “x-example-session”
- “x-example-userid”
Self-Service Configuration
@danielbryantuk | @ambassadorlabs
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: quote-mapping
spec:
prefix: /quote/
service: quote
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: quote2-mapping
spec:
prefix: /quote/
service: fancy-quote
weight: 10
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: restricted-mapping
spec:
host: restricted.example.com
prefix: /restricted/
rewrite: /a/very/safe/path/
rewrite_host: safe.example.com
service: dangerous-service
apiVersion: getambassador.io/v3alpha1
kind: Listener
metadata:
name: listener-8443
spec:
hostname: www.example.com
tlsSecret:
name: example-cert
securityModel: XFP
hostBinding:
selector:
matchLabels:
my-listener: example
apiVersion: getambassador.io/v3alpha1
kind: Host
metadata:
name: example-host
labels:
my-listener: example
spec:
hostname: “www.example.com”
tlsSecret:
name: example-cert
apiVersion: getambassador.io/v3alpha1
kind: AuthService
metadata:
name: extauth-service
spec:
auth_service: example-auth
path_prefix: “/extauth”
allowed_request_headers:
- “x-example-session”
allowed_authorization_headers:
- “x-example-session”
- “x-example-userid”
Separation of Concerns
@danielbryantuk | @ambassadorlabs
Focus on workflows and
tooling interoperability 🏭🤝
@danielbryantuk | @ambassadorlabs
Workflow and interop
netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249
srvaroa.github.io/paas/infrastructure/platform/kubernetes/cloud/2020/01/02/talk-how-to-build-a-paas-for-1500-engineers.html
“A good deal of the job is ultimately about finding the
right balances between standardization and autonomy”
“[The] centralized [platform] teams act as force multipliers by turning
their specialized knowledge into reusable building blocks.”
@danielbryantuk | @ambassadorlabs
Interop Example: Emissary-ingress & Linkerd
kubectl -n emissary get deploy emissary-ingress -o yaml | 
linkerd inject --skip-inbound-ports 80,443 - | 
kubectl apply -f -
● CNCF projects
○ Emissary-ingress: n/s gateway
○ Linkerd: e/w service mesh
● Both use Kubernetes Resource Model (KRM)
○ CRDs, controllers, best practices
● One line integration
● Similar configuration across projects
@danielbryantuk | @ambassadorlabs
Conclusion 🎉
@danielbryantuk | @ambassadorlabs
LearnK8s: https://docs.google.com/spreadsheets/d/191WWNpjJ2za6-nbG4ZoUMXMpUK8KlCIosvQB0f-oq3k/edit?usp=sharing
Tell me more about my API Gateway options
@danielbryantuk | @ambassadorlabs
tl;dr
● Choosing (or migrating) an API Gateway is a Type 1 decision
○ Tricky to reverse: but the right decision adds a lot of value
○ Identify personas and requirements
○ Clear ownership needed for platform and API gateway
● Treat API Gateways as a product
○ Integration within the wider cloud native comms stack is key
○ Build on firm foundations (e.g. Envoy Proxy!)
● Think about developer/operator experience
○ Self-service: this is the way
● Focus on workflows and tooling interoperability
@danielbryantuk | @ambassadorlabs
Thank you!
db@datawire.io | @danielbryantuk
a8r.io/slack
Improving Cloud Native DevEx: The API Gateway Perspective
Moving to the Cloud: Exploring the API Gateway to Success
Platform Engineering Guide 🔧

More Related Content

PDF
ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
PDF
Velocity NY 2018 "The Cloud Native Developer Workflow"
PDF
CloudNativeLondon 2018: "In Search of the Perfect Cloud Native Developer Expe...
PDF
SACON NY 19: "Creating an effective developer experience for cloud-native apps"
PDF
Fall 22: "From Kubernetes to PaaS to... err, what's next"
PDF
Workday "Creating an Effective Developer Experience on Kubernetes"
PDF
ADDO 2020: "The past, present, and future of cloud native API gateways"
PDF
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
Velocity NY 2018 "The Cloud Native Developer Workflow"
CloudNativeLondon 2018: "In Search of the Perfect Cloud Native Developer Expe...
SACON NY 19: "Creating an effective developer experience for cloud-native apps"
Fall 22: "From Kubernetes to PaaS to... err, what's next"
Workday "Creating an Effective Developer Experience on Kubernetes"
ADDO 2020: "The past, present, and future of cloud native API gateways"
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"

Similar to PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways" (20)

PDF
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
PDF
Developing Microservices Directly in AKS/Kubernetes
PDF
WTF_is_SRE_DeveloperEnabledPlatforms.pdf
PPTX
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
PPTX
Kubernetes sidecar pattern as a swiss-army knife for microservices.pptx
PPT
The Dark arts of building your own framework (Andrey Glashenko)
PDF
Serverless Functions: Accelerating DevOps Adoption
PDF
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
PDF
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
PDF
The Self-Service Developer - GOTOCon CPH
PPTX
Serverless Single Page Apps with React and Redux at ItCamp 2017
PDF
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
PDF
DevOps Fest 2019. Gianluca Arbezzano. DevOps never sleeps. What we learned fr...
PPTX
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
PDF
The Decoupled CMS in Financial Services
PDF
Join Our Party: The Cloud Native Adventure Brigade (TCSW 2019)
PDF
Crossplane Graduation Review related presentation
PDF
microXchg 2019: "Creating an Effective Developer Experience for Cloud-Native ...
PPTX
DevOpsDays 2018 - Migrating a Cloud Native App to k8s
PDF
KCD Italy 2022 - Application driven infrastructure with Crossplane
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
Developing Microservices Directly in AKS/Kubernetes
WTF_is_SRE_DeveloperEnabledPlatforms.pdf
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
Kubernetes sidecar pattern as a swiss-army knife for microservices.pptx
The Dark arts of building your own framework (Andrey Glashenko)
Serverless Functions: Accelerating DevOps Adoption
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
The Self-Service Developer - GOTOCon CPH
Serverless Single Page Apps with React and Redux at ItCamp 2017
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
DevOps Fest 2019. Gianluca Arbezzano. DevOps never sleeps. What we learned fr...
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
The Decoupled CMS in Financial Services
Join Our Party: The Cloud Native Adventure Brigade (TCSW 2019)
Crossplane Graduation Review related presentation
microXchg 2019: "Creating an Effective Developer Experience for Cloud-Native ...
DevOpsDays 2018 - Migrating a Cloud Native App to k8s
KCD Italy 2022 - Application driven infrastructure with Crossplane
Ad

More from Daniel Bryant (20)

PDF
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
PDF
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
PPTX
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
PDF
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
PDF
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
PDF
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
PDF
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
PDF
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
PDF
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
PDF
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
PDF
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
PDF
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
PDF
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
PDF
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
PDF
Ambassador Fest: "Kubernetes Workflow 101: The Big Picture of Idea to an API ...
PDF
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
PDF
SoftwareCircus 2020 "The Past, Present, and Future of Cloud Native API Gateways"
PDF
DevOpsCon 2020: The Past, Present, and Future of Cloud Native API Gateways
PDF
AllTheTalks 2020: "The Past, Present, and Future of Cloud Native API Gateways"
PDF
[DW Webinar] Effective Management of APIs and the Edge when Adopting Kubernetes
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
Ambassador Fest: "Kubernetes Workflow 101: The Big Picture of Idea to an API ...
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
SoftwareCircus 2020 "The Past, Present, and Future of Cloud Native API Gateways"
DevOpsCon 2020: The Past, Present, and Future of Cloud Native API Gateways
AllTheTalks 2020: "The Past, Present, and Future of Cloud Native API Gateways"
[DW Webinar] Effective Management of APIs and the Edge when Adopting Kubernetes
Ad

Recently uploaded (20)

PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
System and Network Administration Chapter 2
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
ISO 45001 Occupational Health and Safety Management System
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
history of c programming in notes for students .pptx
PPT
Introduction Database Management System for Course Database
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Softaken Excel to vCard Converter Software.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
ManageIQ - Sprint 268 Review - Slide Deck
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
How to Choose the Right IT Partner for Your Business in Malaysia
Odoo Companies in India – Driving Business Transformation.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
System and Network Administration Chapter 2
Odoo POS Development Services by CandidRoot Solutions
How to Migrate SBCGlobal Email to Yahoo Easily
ISO 45001 Occupational Health and Safety Management System
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Understanding Forklifts - TECH EHS Solution
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
history of c programming in notes for students .pptx
Introduction Database Management System for Course Database

PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"

  • 1. @danielbryantuk | @ambassadorlabs The Busy Platform Engineers Guide to API Gateways Daniel Bryant | Head of DevRel, Ambassador Labs @danielbryantuk
  • 2. @danielbryantuk | @ambassadorlabs tl;dr ● Choosing (or migrating) an API Gateway is a Type 1 decision ● Treat API Gateways as a product ● Think about developer/operator experience ● Focus on workflows and tooling interoperability
  • 3. @danielbryantuk | @ambassadorlabs @danielbryantuk (he/him) linktr.ee/danielbryantuk
  • 5. @danielbryantuk | @ambassadorlabs From Kubernetes to PaaS to… err, what’s next? https://www.youtube.com/watch?v=zUpYEhaUJnM
  • 6. @danielbryantuk | @ambassadorlabs What did I learn? Treat platform as a product 🚉🎛 You can’t have good DevX without good UX 󰠁✨ Focus on workflows and tooling interoperability 🏭🤝
  • 7. @danielbryantuk | @ambassadorlabs Treat Platform API Gateway as a Product 🚪
  • 8. @danielbryantuk | @ambassadorlabs API Gateway as Product ● Take care when lifting and shifting an API Gateway ○ Nearly always end up replatforming (“lift-tinker-and-shift”) ● Products have users and personas ○ Know them and their requirements ○ User research is invaluable ○ Understand where the API gateway fits into the bigger solution https://www.youtube.com/watch?v=Q09dAnIN4RY
  • 9. @danielbryantuk | @ambassadorlabs Modern cloud native comms stack CDN API Gateway Service Mesh CNI OSI Layer 1-3 OSI Layer 4-7 Operations Operations Developers APIM Internal Dev Portal (IDP) WAF Policy (Workloads) NACL / SG SDN Policy (Users) App ‘ilities (authn/z, rate limit, cache) 🤯 Traffic flow
  • 10. @danielbryantuk | @ambassadorlabs Firm foundations side note: Envoy Proxy
  • 11. @danielbryantuk | @ambassadorlabs You can’t have good DevX without good UX 󰠁✨
  • 12. @danielbryantuk | @ambassadorlabs You can’t have good DevX without good UX ● Understand the approach and defaults for your platform ○ Kubernetes native (CRDs, GitOps-friendly) ○ CLI or API-driven ○ UI-driven? (Point & click) ● Tailor the experience to personas ○ Developer experience ○ Operator experience ● Platform engineering tenets: onramps & self-service https://twitter.com/danielbryantuk/status/1557268926429528065
  • 13. @danielbryantuk | @ambassadorlabs A long time ago, in a platform engineering meeting far, far away, the team discusses “self service”
  • 14. @danielbryantuk | @ambassadorlabs apiVersion: getambassador.io/v3alpha1 kind: Mapping metadata: name: quote-mapping spec: prefix: /quote/ service: quote apiVersion: getambassador.io/v3alpha1 kind: Mapping metadata: name: quote2-mapping spec: prefix: /quote/ service: fancy-quote weight: 10 apiVersion: getambassador.io/v3alpha1 kind: Mapping metadata: name: restricted-mapping spec: host: restricted.example.com prefix: /restricted/ rewrite: /a/very/safe/path/ rewrite_host: safe.example.com service: dangerous-service apiVersion: getambassador.io/v3alpha1 kind: Listener metadata: name: listener-8443 spec: hostname: www.example.com tlsSecret: name: example-cert securityModel: XFP hostBinding: selector: matchLabels: my-listener: example apiVersion: getambassador.io/v3alpha1 kind: Host metadata: name: example-host labels: my-listener: example spec: hostname: “www.example.com” tlsSecret: name: example-cert apiVersion: getambassador.io/v3alpha1 kind: AuthService metadata: name: extauth-service spec: auth_service: example-auth path_prefix: “/extauth” allowed_request_headers: - “x-example-session” allowed_authorization_headers: - “x-example-session” - “x-example-userid” Self-Service Configuration
  • 15. @danielbryantuk | @ambassadorlabs apiVersion: getambassador.io/v3alpha1 kind: Mapping metadata: name: quote-mapping spec: prefix: /quote/ service: quote apiVersion: getambassador.io/v3alpha1 kind: Mapping metadata: name: quote2-mapping spec: prefix: /quote/ service: fancy-quote weight: 10 apiVersion: getambassador.io/v3alpha1 kind: Mapping metadata: name: restricted-mapping spec: host: restricted.example.com prefix: /restricted/ rewrite: /a/very/safe/path/ rewrite_host: safe.example.com service: dangerous-service apiVersion: getambassador.io/v3alpha1 kind: Listener metadata: name: listener-8443 spec: hostname: www.example.com tlsSecret: name: example-cert securityModel: XFP hostBinding: selector: matchLabels: my-listener: example apiVersion: getambassador.io/v3alpha1 kind: Host metadata: name: example-host labels: my-listener: example spec: hostname: “www.example.com” tlsSecret: name: example-cert apiVersion: getambassador.io/v3alpha1 kind: AuthService metadata: name: extauth-service spec: auth_service: example-auth path_prefix: “/extauth” allowed_request_headers: - “x-example-session” allowed_authorization_headers: - “x-example-session” - “x-example-userid” Separation of Concerns
  • 16. @danielbryantuk | @ambassadorlabs Focus on workflows and tooling interoperability 🏭🤝
  • 17. @danielbryantuk | @ambassadorlabs Workflow and interop netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249 srvaroa.github.io/paas/infrastructure/platform/kubernetes/cloud/2020/01/02/talk-how-to-build-a-paas-for-1500-engineers.html “A good deal of the job is ultimately about finding the right balances between standardization and autonomy” “[The] centralized [platform] teams act as force multipliers by turning their specialized knowledge into reusable building blocks.”
  • 18. @danielbryantuk | @ambassadorlabs Interop Example: Emissary-ingress & Linkerd kubectl -n emissary get deploy emissary-ingress -o yaml | linkerd inject --skip-inbound-ports 80,443 - | kubectl apply -f - ● CNCF projects ○ Emissary-ingress: n/s gateway ○ Linkerd: e/w service mesh ● Both use Kubernetes Resource Model (KRM) ○ CRDs, controllers, best practices ● One line integration ● Similar configuration across projects
  • 20. @danielbryantuk | @ambassadorlabs LearnK8s: https://docs.google.com/spreadsheets/d/191WWNpjJ2za6-nbG4ZoUMXMpUK8KlCIosvQB0f-oq3k/edit?usp=sharing Tell me more about my API Gateway options
  • 21. @danielbryantuk | @ambassadorlabs tl;dr ● Choosing (or migrating) an API Gateway is a Type 1 decision ○ Tricky to reverse: but the right decision adds a lot of value ○ Identify personas and requirements ○ Clear ownership needed for platform and API gateway ● Treat API Gateways as a product ○ Integration within the wider cloud native comms stack is key ○ Build on firm foundations (e.g. Envoy Proxy!) ● Think about developer/operator experience ○ Self-service: this is the way ● Focus on workflows and tooling interoperability
  • 22. @danielbryantuk | @ambassadorlabs Thank you! db@datawire.io | @danielbryantuk a8r.io/slack Improving Cloud Native DevEx: The API Gateway Perspective Moving to the Cloud: Exploring the API Gateway to Success Platform Engineering Guide 🔧