SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Using OpenAPI to configure
your API Gateway
Ole Lensmar, CTO, Kubeshop
github.com/kubeshop/kusk
OpenAPI driving the API Lifecycle
OpenAPI driving the API Lifecycle
Recap - what does an API Gateway do?
● Basic functionality
○ Routing / mapping
○ Rate-limiting / timeouts
○ Authentication / CORS
● Advanced
○ Security (intrusion detection, etc)
○ Orchestration/Aggregation
○ Transformation
○ Validation
○ etc.
github.com/kubeshop/kusk
Kusk
Potential overlap with OpenAPI
● An OpenAPI definition contains metadata on:
○ Operations / paths / methods / parameters
○ Message format (JSON Schema)
○ Security Schemes
● OpenAPI Extensions can be used/defined for adding arbitrary metadata
○ Additional security
○ SLAs (SLA4OAS)
○ Rate-limits, timeouts
○ etc
github.com/kubeshop/kusk
Kusk
New York
JULY
Australia
SEPTEMBER
Singapore
APRIL
Helsinki & North
MARCH
Paris
DECEMBER
London
OCTOBER
Jakarta
FEBRUARY
Hong Kong
AUGUST
JUNE
India
MAY
Check out our API Conferences here
50+ events since 2012, 14 countries, 2,000+ speakers, 50,000+ attendees,
300k+ online community
Want to talk at one of our conferences?
Apply to speak here
Wouldn’t it be great if you could use your OpenAPI
definition to configure your API Gateway?
github.com/kubeshop/kusk
Kusk
OpenAPI driving your API Gateway - why?
● One source of truth→ the OpenAPI definition defines both functional and
operational aspects of an API
● Ease collaboration
for involved stakeholders (dev, test, ops, doc, etc)
● “DevOps” automation→ use GitOps/CI/CD to configure your API
-Gateway
○ Ensure that runtime configuration is in sync with the actual API
○ Empower dev teams to iterate rapidly without DevOps involvement
○ Configure adjacent infrastructure; monitoring, analytics, security, etc.
github.com/kubeshop/kusk
Kusk
Approaches to using OpenAPI for Gateway Configuration
1. Import OpenAPI and refine with gateway
-specific configuration/UI
with/without gateway-specific OpenAPI Extensions
1. Generate standalone gateway configuration from OpenAPI
with/without gateway-specific OpenAPI Extensions
1. Gateway uses OpenAPI natively for configuration
with gateway-specific OpenAPI Extensions
github.com/kubeshop/kusk
Kusk
● Pros:
○ Easy to get started with gateway from OpenAPI
○ Access to all gateway features
● Cons
○ Doesn’t always work with iterative/automated workflow
○ OpenAPI is not the source
-of-truth
● Very common approach
○ AWS
○ Azure
○ Google
○ Tyk.io
○ Gloo
○ and many more...
Import OpenAPI and Refine..
github.com/kubeshop/kusk
Kusk
Generate Gateway configuration from OpenAPI
● Pros:
○ Makes OpenAPI definition the source of truth
○ Automatable / iterative development
○ GitOps compatible in Kubernetes context
● Cons:
○ Needs extensions for Gateway functionality
○ Extra step to generate and apply configuration
● Generator frameworks
○ Swagger
-codegen
○ OpenAPI
-generator
● Let’s get back to this...
github.com/kubeshop/kusk
Kusk
Gateway uses OpenAPI natively for configuration
● Pros:
○ OpenAPI is the source of truth
○ Harness OpenAPI metadata for QoS functionality
○ Supports automated/iterative workflows
○ GitOps compatible in Kubernetes context
● Cons
○ Needs extensions for Gateway functionality
○ “Shoehorning”- should all configuration really be in the OpenAPI definition?
● Examples? Let’s get back to this one..
github.com/kubeshop/kusk
Kusk
API Gateways and Kubernetes
github.com/kubeshop/kusk
Kusk
API Gateways and Kubernetes
● Kubernetes generally requires an
Ingressto
expose an API outside a cluster
● An Ingress Controllerprovides the actual
Ingress implementation; Nginx-Ingress is the
most common, others are Ambassador,
Traefik, etc.
● API Gateways for K8s are usually Ingress
Controllers also
github.com/kubeshop/kusk
Kusk
Challenges specific to Ingress Controllers
● The Ingress specificationlacks many features often needed to expose APIs
in
production (being complemented/replaced by the Gateway API)
● Each Ingress controller has their own configuration file(s) / format(s) /
approaches to provide extra/unique functionality
● Due to the nature of Kubernetes and adoption of GitOps
, Ingress controllers are
generally CRD/configuration driven
-> Configuring Ingress Controllers is often done by Ops- while evolving the API
is done by Dev -> workflow contention
github.com/kubeshop/kusk
Kusk
Wouldn’t it be great if you could use OpenAPI
to configure your Ingress Controller?
1. One source
-of-truth!
2. No new configuration files!
3. Less YAML!
github.com/kubeshop/kusk
Kusk
Introducing Kusk!
● Kusk generates Ingress Controller configurations from OpenAPI/Swagger definitions
● Kusk makes your
OpenAPI definition the source of truth
for configuring:
○ Operation routing and availability
○ Rate-limiting
○ CORS
○ Timouts
○ And more...
● Kusksupports multiple Ingress controllers
: Ambassador 1.x / 2.x, Linkerd, Ingress
-
Nginx, Traefik, <your favorite here>
github.com/kubeshop/kusk
Kusk
Kusk Extension
● OpenAPI Extension
for:
○ Rate-limiting
○ Timeouts
○ CORS
○ Disable individual paths/operations
○ Cluster-specific properties
● Applies across all supported
Ingress Controllers- as applicable
github.com/kubeshop/kusk
Kusk
Why use Kusk?
● Configuring / changing Ingress Controllers is tedious
○ Different formats
○ Multiple files
○ Inconsistent feature-sets
○ More people- More YAML!
● Kusk only requires you to extend your OpenAPI definition with additional metadata
○ No new configuration files to learn
○ Keep all API
-metadata in one place
○ Consistent approach to configuring QoS features for supported Ingress Controllers
● Kusk enables an iterative GitOps/CI/CD workflow for (Open)API development
github.com/kubeshop/kusk
Kusk
Kusk + OpenAPI -> GitOps
github.com/kubeshop/kusk
Kusk
Short Demo!
github.com/kubeshop/kusk
Introducing: Kusk Gateway
● An OpenAPI
-first Ingress Controller / API Gateway
● Built on Envoy, a battle-tested, and production-ready proxy
● Works both standalone for local development and as Ingress Controller
under Kubernetes
● Alpha-version available on GitHub
: github.com/kubeshop/kusk -gateway
github.com/kubeshop/kusk
Kusk
Kusk Gateway - Why?
● Your OpenAPI definition becomes the source
-of-truth for both functional and
QoS/deployment aspects of your API
● You canrapidly iterate on your APIwithout having to require DevOps resources
● You won’t have to write boilerplate code for functionality that Kusk Gateway can
provide out-of-the-box based on the OpenAPI definition:
request-validation,
mocking, metrics/analytics, security
, etc.
github.com/kubeshop/kusk
Kusk
Thank You!
Github: github.com/kubeshop/kusk
Discord:bit.ly/kubeshop-discord
Kubeshop:kubeshop.io
Presenter: Ole Lensmar
Come to our virtual booth to learn more - and get a demo!
New York
JULY
Australia
SEPTEMBER
Singapore
APRIL
Helsinki & North
MARCH
Paris
DECEMBER
London
OCTOBER
Jakarta
FEBRUARY
Hong Kong
AUGUST
JUNE
India
MAY
Check out our API Conferences here
50+ events since 2012, 14 countries, 2,000+ speakers, 50,000+ attendees,
300k+ online community
Want to talk at one of our conferences?
Apply to speak here

Contenu connexe

Tendances

Lessons learned: Choosing your documentation system
Lessons learned: Choosing your documentation systemLessons learned: Choosing your documentation system
Lessons learned: Choosing your documentation system
Pronovix
 
Documentation-driven development for Python web APIs v2
Documentation-driven development for Python web APIs v2Documentation-driven development for Python web APIs v2
Documentation-driven development for Python web APIs v2
José Haro Peralta
 

Tendances (20)

Leaping Forward: Finding The Future of Your API Docs
Leaping Forward: Finding The Future of Your API DocsLeaping Forward: Finding The Future of Your API Docs
Leaping Forward: Finding The Future of Your API Docs
 
apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...
apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...
apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...
 
Tools and techniques for APIs
Tools and techniques for APIsTools and techniques for APIs
Tools and techniques for APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
Blood, sweat, and creating an API handbook
Blood, sweat, and creating an API handbookBlood, sweat, and creating an API handbook
Blood, sweat, and creating an API handbook
 
WSO2 Product Release Webinar - WSO2 App Factory 2.1
WSO2 Product Release Webinar - WSO2 App Factory 2.1WSO2 Product Release Webinar - WSO2 App Factory 2.1
WSO2 Product Release Webinar - WSO2 App Factory 2.1
 
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
 
apidays LIVE New York 2021 - Designing API's: Less Data is More! by Damir Svr...
apidays LIVE New York 2021 - Designing API's: Less Data is More! by Damir Svr...apidays LIVE New York 2021 - Designing API's: Less Data is More! by Damir Svr...
apidays LIVE New York 2021 - Designing API's: Less Data is More! by Damir Svr...
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI Spec
 
apidays LIVE Paris 2021 - Inside API delivery Pipeline, the checklist! - Fran...
apidays LIVE Paris 2021 - Inside API delivery Pipeline, the checklist! - Fran...apidays LIVE Paris 2021 - Inside API delivery Pipeline, the checklist! - Fran...
apidays LIVE Paris 2021 - Inside API delivery Pipeline, the checklist! - Fran...
 
Continuous integration for Ruby on Rails
Continuous integration for Ruby on RailsContinuous integration for Ruby on Rails
Continuous integration for Ruby on Rails
 
Lessons Learned from Revamping Our Doc Site
Lessons Learned from Revamping Our Doc SiteLessons Learned from Revamping Our Doc Site
Lessons Learned from Revamping Our Doc Site
 
A Tour of Swagger for APIs
A Tour of Swagger for APIsA Tour of Swagger for APIs
A Tour of Swagger for APIs
 
apidays LIVE Paris 2021 - Learning the Language of HTTP for a Better Data Exp...
apidays LIVE Paris 2021 - Learning the Language of HTTP for a Better Data Exp...apidays LIVE Paris 2021 - Learning the Language of HTTP for a Better Data Exp...
apidays LIVE Paris 2021 - Learning the Language of HTTP for a Better Data Exp...
 
OpenAPI Generator The Babel Fish of The API World - apidays Live Australia
OpenAPI Generator The Babel Fish of The API World - apidays Live AustraliaOpenAPI Generator The Babel Fish of The API World - apidays Live Australia
OpenAPI Generator The Babel Fish of The API World - apidays Live Australia
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)
 
apidays LIVE Australia 2021 - Designing APIs: Just Enough is Perfect! by Dami...
apidays LIVE Australia 2021 - Designing APIs: Just Enough is Perfect! by Dami...apidays LIVE Australia 2021 - Designing APIs: Just Enough is Perfect! by Dami...
apidays LIVE Australia 2021 - Designing APIs: Just Enough is Perfect! by Dami...
 
Lessons learned: Choosing your documentation system
Lessons learned: Choosing your documentation systemLessons learned: Choosing your documentation system
Lessons learned: Choosing your documentation system
 
Documentation-driven development for Python web APIs v2
Documentation-driven development for Python web APIs v2Documentation-driven development for Python web APIs v2
Documentation-driven development for Python web APIs v2
 

Similaire à apidays LIVE Paris 2021 - Using OpenAPI to configure your API Gateway by Ole Lensmar, Kubeshop

Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
Matthias Luebken
 
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfWhat_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
chalermpany
 

Similaire à apidays LIVE Paris 2021 - Using OpenAPI to configure your API Gateway by Ole Lensmar, Kubeshop (20)

2022 apidays LIVE Helsinki & North_Using OpenAPI to configure your API Gateway
2022 apidays LIVE Helsinki & North_Using OpenAPI to configure your API Gateway2022 apidays LIVE Helsinki & North_Using OpenAPI to configure your API Gateway
2022 apidays LIVE Helsinki & North_Using OpenAPI to configure your API Gateway
 
Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
 
Getting started with kubernetes
Getting started with kubernetesGetting started with kubernetes
Getting started with kubernetes
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6Kubernetes101 - Pune Kubernetes Meetup 6
Kubernetes101 - Pune Kubernetes Meetup 6
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution][HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]
 
Openshift service broker and catalog ocp-meetup july 2018
Openshift service broker and catalog  ocp-meetup july 2018Openshift service broker and catalog  ocp-meetup july 2018
Openshift service broker and catalog ocp-meetup july 2018
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Kubernetes - how to orchestrate containers
Kubernetes - how to orchestrate containersKubernetes - how to orchestrate containers
Kubernetes - how to orchestrate containers
 
OpenDataPlane Testing in Travis
OpenDataPlane Testing in TravisOpenDataPlane Testing in Travis
OpenDataPlane Testing in Travis
 
Webinar- Tea for the Tillerman
Webinar- Tea for the TillermanWebinar- Tea for the Tillerman
Webinar- Tea for the Tillerman
 
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfWhat_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
 
Kubernetes: The Next Research Platform
Kubernetes: The Next Research PlatformKubernetes: The Next Research Platform
Kubernetes: The Next Research Platform
 
Introduction to Python Asyncio
Introduction to Python AsyncioIntroduction to Python Asyncio
Introduction to Python Asyncio
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache Bigtop
 
Netflix oss season 1 episode 3
Netflix oss season 1 episode 3 Netflix oss season 1 episode 3
Netflix oss season 1 episode 3
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
Kubernetes 101 Workshop
 
Kubernetes basics and hands on exercise
Kubernetes basics and hands on exerciseKubernetes basics and hands on exercise
Kubernetes basics and hands on exercise
 

Plus de apidays

Plus de apidays (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
Apidays New York 2024 - The secrets to Graph success, by Leah Hurwich Adler, ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
Apidays New York 2024 - API Discovery - From Crawl to Run by Rob Dickinson, G...
 
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
Apidays Singapore 2024 - Building with the Planet in Mind by Sandeep Joshi, M...
 
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
Apidays Singapore 2024 - Connecting Cross Border Commerce with Payments by Gu...
 
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
Apidays Singapore 2024 - Privacy Enhancing Technologies for AI by Mark Choo, ...
 
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
Apidays Singapore 2024 - Blending AI and IoT for Smarter Health by Matthew Ch...
 
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
Apidays Singapore 2024 - OpenTelemetry for API Monitoring by Danielle Kayumbi...
 
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
Apidays Singapore 2024 - Connecting Product and Engineering Teams with Testin...
 
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
Apidays Singapore 2024 - The Growing Carbon Footprint of Digitalization and H...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
Apidays Singapore 2024 - API Monitoring x SRE by Ryan Ashneil and Eugene Wong...
 
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
Apidays Singapore 2024 - A nuanced approach on AI costs and benefits for the ...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

apidays LIVE Paris 2021 - Using OpenAPI to configure your API Gateway by Ole Lensmar, Kubeshop

  • 1. Using OpenAPI to configure your API Gateway Ole Lensmar, CTO, Kubeshop github.com/kubeshop/kusk
  • 2. OpenAPI driving the API Lifecycle
  • 3. OpenAPI driving the API Lifecycle
  • 4. Recap - what does an API Gateway do? ● Basic functionality ○ Routing / mapping ○ Rate-limiting / timeouts ○ Authentication / CORS ● Advanced ○ Security (intrusion detection, etc) ○ Orchestration/Aggregation ○ Transformation ○ Validation ○ etc. github.com/kubeshop/kusk Kusk
  • 5. Potential overlap with OpenAPI ● An OpenAPI definition contains metadata on: ○ Operations / paths / methods / parameters ○ Message format (JSON Schema) ○ Security Schemes ● OpenAPI Extensions can be used/defined for adding arbitrary metadata ○ Additional security ○ SLAs (SLA4OAS) ○ Rate-limits, timeouts ○ etc github.com/kubeshop/kusk Kusk
  • 6. New York JULY Australia SEPTEMBER Singapore APRIL Helsinki & North MARCH Paris DECEMBER London OCTOBER Jakarta FEBRUARY Hong Kong AUGUST JUNE India MAY Check out our API Conferences here 50+ events since 2012, 14 countries, 2,000+ speakers, 50,000+ attendees, 300k+ online community Want to talk at one of our conferences? Apply to speak here
  • 7. Wouldn’t it be great if you could use your OpenAPI definition to configure your API Gateway? github.com/kubeshop/kusk Kusk
  • 8. OpenAPI driving your API Gateway - why? ● One source of truth→ the OpenAPI definition defines both functional and operational aspects of an API ● Ease collaboration for involved stakeholders (dev, test, ops, doc, etc) ● “DevOps” automation→ use GitOps/CI/CD to configure your API -Gateway ○ Ensure that runtime configuration is in sync with the actual API ○ Empower dev teams to iterate rapidly without DevOps involvement ○ Configure adjacent infrastructure; monitoring, analytics, security, etc. github.com/kubeshop/kusk Kusk
  • 9. Approaches to using OpenAPI for Gateway Configuration 1. Import OpenAPI and refine with gateway -specific configuration/UI with/without gateway-specific OpenAPI Extensions 1. Generate standalone gateway configuration from OpenAPI with/without gateway-specific OpenAPI Extensions 1. Gateway uses OpenAPI natively for configuration with gateway-specific OpenAPI Extensions github.com/kubeshop/kusk Kusk
  • 10. ● Pros: ○ Easy to get started with gateway from OpenAPI ○ Access to all gateway features ● Cons ○ Doesn’t always work with iterative/automated workflow ○ OpenAPI is not the source -of-truth ● Very common approach ○ AWS ○ Azure ○ Google ○ Tyk.io ○ Gloo ○ and many more... Import OpenAPI and Refine.. github.com/kubeshop/kusk Kusk
  • 11. Generate Gateway configuration from OpenAPI ● Pros: ○ Makes OpenAPI definition the source of truth ○ Automatable / iterative development ○ GitOps compatible in Kubernetes context ● Cons: ○ Needs extensions for Gateway functionality ○ Extra step to generate and apply configuration ● Generator frameworks ○ Swagger -codegen ○ OpenAPI -generator ● Let’s get back to this... github.com/kubeshop/kusk Kusk
  • 12. Gateway uses OpenAPI natively for configuration ● Pros: ○ OpenAPI is the source of truth ○ Harness OpenAPI metadata for QoS functionality ○ Supports automated/iterative workflows ○ GitOps compatible in Kubernetes context ● Cons ○ Needs extensions for Gateway functionality ○ “Shoehorning”- should all configuration really be in the OpenAPI definition? ● Examples? Let’s get back to this one.. github.com/kubeshop/kusk Kusk
  • 13. API Gateways and Kubernetes github.com/kubeshop/kusk Kusk
  • 14. API Gateways and Kubernetes ● Kubernetes generally requires an Ingressto expose an API outside a cluster ● An Ingress Controllerprovides the actual Ingress implementation; Nginx-Ingress is the most common, others are Ambassador, Traefik, etc. ● API Gateways for K8s are usually Ingress Controllers also github.com/kubeshop/kusk Kusk
  • 15. Challenges specific to Ingress Controllers ● The Ingress specificationlacks many features often needed to expose APIs in production (being complemented/replaced by the Gateway API) ● Each Ingress controller has their own configuration file(s) / format(s) / approaches to provide extra/unique functionality ● Due to the nature of Kubernetes and adoption of GitOps , Ingress controllers are generally CRD/configuration driven -> Configuring Ingress Controllers is often done by Ops- while evolving the API is done by Dev -> workflow contention github.com/kubeshop/kusk Kusk
  • 16. Wouldn’t it be great if you could use OpenAPI to configure your Ingress Controller? 1. One source -of-truth! 2. No new configuration files! 3. Less YAML! github.com/kubeshop/kusk Kusk
  • 17. Introducing Kusk! ● Kusk generates Ingress Controller configurations from OpenAPI/Swagger definitions ● Kusk makes your OpenAPI definition the source of truth for configuring: ○ Operation routing and availability ○ Rate-limiting ○ CORS ○ Timouts ○ And more... ● Kusksupports multiple Ingress controllers : Ambassador 1.x / 2.x, Linkerd, Ingress - Nginx, Traefik, <your favorite here> github.com/kubeshop/kusk Kusk
  • 18. Kusk Extension ● OpenAPI Extension for: ○ Rate-limiting ○ Timeouts ○ CORS ○ Disable individual paths/operations ○ Cluster-specific properties ● Applies across all supported Ingress Controllers- as applicable github.com/kubeshop/kusk Kusk
  • 19. Why use Kusk? ● Configuring / changing Ingress Controllers is tedious ○ Different formats ○ Multiple files ○ Inconsistent feature-sets ○ More people- More YAML! ● Kusk only requires you to extend your OpenAPI definition with additional metadata ○ No new configuration files to learn ○ Keep all API -metadata in one place ○ Consistent approach to configuring QoS features for supported Ingress Controllers ● Kusk enables an iterative GitOps/CI/CD workflow for (Open)API development github.com/kubeshop/kusk Kusk
  • 20. Kusk + OpenAPI -> GitOps github.com/kubeshop/kusk Kusk
  • 22. Introducing: Kusk Gateway ● An OpenAPI -first Ingress Controller / API Gateway ● Built on Envoy, a battle-tested, and production-ready proxy ● Works both standalone for local development and as Ingress Controller under Kubernetes ● Alpha-version available on GitHub : github.com/kubeshop/kusk -gateway github.com/kubeshop/kusk Kusk
  • 23. Kusk Gateway - Why? ● Your OpenAPI definition becomes the source -of-truth for both functional and QoS/deployment aspects of your API ● You canrapidly iterate on your APIwithout having to require DevOps resources ● You won’t have to write boilerplate code for functionality that Kusk Gateway can provide out-of-the-box based on the OpenAPI definition: request-validation, mocking, metrics/analytics, security , etc. github.com/kubeshop/kusk Kusk
  • 24. Thank You! Github: github.com/kubeshop/kusk Discord:bit.ly/kubeshop-discord Kubeshop:kubeshop.io Presenter: Ole Lensmar Come to our virtual booth to learn more - and get a demo!
  • 25. New York JULY Australia SEPTEMBER Singapore APRIL Helsinki & North MARCH Paris DECEMBER London OCTOBER Jakarta FEBRUARY Hong Kong AUGUST JUNE India MAY Check out our API Conferences here 50+ events since 2012, 14 countries, 2,000+ speakers, 50,000+ attendees, 300k+ online community Want to talk at one of our conferences? Apply to speak here