SlideShare une entreprise Scribd logo
Using OpenAPI
to configure your
API Gateway
Ole Lensmar, CTO, Kubeshop
www.kusk.io
OpenAPI
driving the API
Lifecycle
www.kusk.io
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.
www.kusk.io
Potential overlap with
OpenAPI
● An OpenAPI definition
contains metadata on:
○ Operations / paths / methods /
parameters
● OpenAPI Extensions can be used /
defined for adding arbitrary metadata
○ Additional security
○ SLAs (SLA4OAS)
○ Rate-limits, timeouts
○ etc.
○ Message format (JSON Schema)
○ Security Schemes
www.kusk.io
2022 SERIES OF EVENT
New York
JULY
(HYBRID)
Australia
SEPTEMBER
(HYBRID)
Singapore
APRIL
(VIRTUAL)
Helsinki & North
MARCH
(VIRTUAL)
Paris
DECEMBER
(HYBRID)
London
OCTOBER
(HYBRID)
Hong Kong
AUGUST
(VIRTUAL)
JUNE (VIRTUAL)
India
MAY
(VIRTUAL)
APRIL (VIRTUAL)
Dubai & Middle East
JUNE
(VIRTUAL)
Check out our API Conferences here
Wa nt t o t a lk a t one of our conference?
Apply t o spea k here
Wouldn’t it be great if you could use
your OpenAPI definition to configure your
API Gateway?
www.kusk.io
OpenAPI driving your API
Gateway — why?
● One source of truth the
OpenAPI definition defines both
functional and operational aspects
of an API
www.kusk.io
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.)
www.kusk.io
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.
www.kusk.io
OpenAPI
driving the API
Lifecycle
www.kusk.io
Approaches to using OpenAPI
for Gateway Configuration
www.kusk.io
Approaches to using OpenAPI
for Gateway Configuration
1. Import OpenAPI and refine with
gateway-specific configuration / UI
with / without gateway-specific
OpenAPI Extensions
www.kusk.io
Approaches to using OpenAPI
for Gateway Configuration
1. Import OpenAPI and refine with
gateway-specific configuration / UI
with / without gateway-specific
OpenAPI Extensions
2. Generate standalone gateway
configuration from OpenAPI
with / without gateway-specific
OpenAPI Extensions
www.kusk.io
Approaches to using OpenAPI
for Gateway Configuration
1. Import OpenAPI and refine with
gateway-specific configuration / UI
with / without gateway-specific
OpenAPI Extensions
2. Generate standalone gateway
configuration from OpenAPI
with / without gateway-specific
OpenAPI Extensions
3. Gateway uses OpenAPI
natively for configuration
with gateway-specific OpenAPI
Extensions
www.kusk.io
● Pros:
1. Import OpenAPI and Refine..
○ Easy to get started
with gateway from OpenAPI
● Very common approach
○ AWS
○ Azure
○ Google
○ Tyk.io
○ Gloo
○ and many more...
○ Access to all gateway features
● Cons:
○ Doesn’t always work with
iterative / automated workflow
○ OpenAPI is not the
source-of-truth
www.kusk.io
● Pros:
2. Generate Gateway configuration from OpenAPI
○ Makes OpenAPI definition
the source of truth
● Generator frameworks
○ Swagger-codegen
○ OpenAPI-generator
○ Automatable / iterative development
● Cons:
○ Needs extensions
for Gateway functionality
○ Extra step to generate
and apply configuration
○ GitOps compatible in Kubernetes
context ● Let’s get back
to this...
www.kusk.io
3. Gateway uses OpenAPI natively
for configuration
● Pros:
○ OpenAPI is the source of truth
● Cons:
○ Needs extensions for Gateway
functionality
○ “Shoehorning” — should all
configuration really be in the
OpenAPI definition?
○ Harness OpenAPI metadata
for QoS functionality
○ Supports automated / iterative
workflows
○ GitOps compatible in Kubernetes
context ● Examples? Let’s get back
to this one…
www.kusk.io
API Gateways and Kubernetes
www.kusk.io
API Gateways
and Kubernetes
● Kubernetes generally uses an Ingress
to expose an API outside a cluster
● An Ingress Controller provides the actual
Ingress implementation; Nginx-Ingress is
the most common, others are Ambassador,
Traefik, etc.
● API Gateways for K8s are usually Ingress
Controllers also
www.kusk.io
Challenges specific
to Ingress Controllers
● The Ingress specification lacks 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
www.kusk.io
Wouldn’t it be great if you could
use OpenAPI to configure your Ingress
Controller?
www.kusk.io
Wouldn’t it be great if you could
use OpenAPI to configure your Ingress
Controller?
1. One source-of-truth!
www.kusk.io
Wouldn’t it be great if you could
use OpenAPI to configure your Ingress
Controller?
1. One source-of-truth!
2. No new/YAML configuration files!
www.kusk.io
Wouldn’t it be great if you could
use OpenAPI to configure your Ingress
Controller?
1. One source-of-truth!
2. No new/YAML configuration files!
3. Automated workflows = No DevOps!
www.kusk.io
That’s why we built Kusk
● Kusk makes your OpenAPI
definition the source of truth for:
○ Operation routing and availability
○ Rate-limiting, CORS, Timeouts
www.kusk.io
● Use Kusk-gen with an existing
Ingress controller / API Gateway
○ Ambassador 1.x / 2.x, Linkerd,
Ingress-Nginx, Traefik, <your
favorite here>
● Use Kusk Gateway as a standalone
Ingress controller / API Gateway
● 100% Open-Source - MIT license
○ Validation, Mocking, Metrics /
Coverage
● x-kusk extension for configuring:
Kusk OpenAPI Extension
○ Rate-limiting
○ Timeouts
○ CORS
○ Disable paths / operations
○ Cluster-specific properties
■ Targeted service(s)
www.kusk.io
○ Mocking
○ Validation
Using Kusk-Gen with an
existing controller - why?
● 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
www.kusk.io
Detect/inspect/generate
www.kusk.io
Kusk-gen + OpenAPI + CD GitOps
www.kusk.io
Wouldn’t it be even greater if your API
Gateway speaks OpenAPI Natively?
1. One source-of-truth!
2. No new/YAML configuration files!
3. Automated workflows = No DevOps!
www.kusk.io
Wouldn’t it be even greater if your API
Gateway speaks OpenAPI Natively?
1. One source-of-truth!
2. No new/YAML configuration files!
3. Automated workflows = No DevOps!
4. OpenAPI Driven functionality
www.kusk.io
Wouldn’t it be even greater if your API
Gateway speaks OpenAPI Natively?
1. One source-of-truth!
2. No new/YAML configuration files!
3. Automated workflows = No DevOps!
4. OpenAPI Driven functionality
a. Validation, Mocking, Debugging, etc
www.kusk.io
Wouldn’t it be even greater if your API
Gateway speaks OpenAPI Natively?
1. One source-of-truth!
2. No new/YAML configuration files!
3. Automated workflows = No DevOps!
4. OpenAPI Driven functionality
a. Validation, Mocking, Debugging, etc
b. Security, Metrics, API Coverage, etc
www.kusk.io
Wouldn’t it be even greater if your API
Gateway speaks OpenAPI Natively?
Kusk Gateway
● Your OpenAPI definition becomes
the source-of-truth for both functional
and QoS / deployment aspects of your
API
● You can rapidly iterate on your API
without 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.
www.kusk.io
Kusk Gateway
● Built on Envoy - a battle proven proxy
for Kubernetes used by many other
Gateways
● Based on the same x-kusk extension
as Kusk-Gen - configure
operation-level rate-limiting,
timeouts, enable/disable, etc.
● Deployed as a standard Kubernetes
Controller/Operator with CRDs for
configuring APIs based on OpenAPI
● OpenAPI-specific functionality
- Configurable request validation with
user-friendly error messages based on the
operation/schema definition
- Configurable operation mocking based on
provided example responses in the OpenAPI
definition
www.kusk.io
● Kusk Gateway UI - Browser-based dashboard
for invoking/debugging deployed APIs
- metrics/health/usage
- operational parameters
- etc
Kusk Gateway UI
www.kusk.io
Kusk-Gateway
+ OpenAPI +
CD GitOps
OpenAPI +
Kusk Gateway
driving the
API Lifecycle
www.kusk.io
Kusk:
kusk.io
Discord:
bit.ly/kubeshop-discord
Kubeshop:
kubeshop.io
by Kubeshop
Come to our virtual booth
to learn more!
Thank You!
Presenter: Ole Lensmar

Contenu connexe

Similaire à 2022 apidays LIVE Helsinki & North_Using OpenAPI to configure your API Gateway

Introduction to Apigility
Introduction to ApigilityIntroduction to Apigility
Introduction to Apigility
Engineor
 
OpenAPI Extensions for OSLC
OpenAPI Extensions for OSLCOpenAPI Extensions for OSLC
OpenAPI Extensions for OSLC
LuisArmandoRamrezAgu
 
Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)
Engineor
 
Get Your Node.js API Swaggering with OpenAPI Spec
Get Your Node.js API Swaggering with OpenAPI SpecGet Your Node.js API Swaggering with OpenAPI Spec
Get Your Node.js API Swaggering with OpenAPI Spec
Adam Paxton
 
OpenAPI Generator The Babel Fish of The API World - apidays Live Paris
OpenAPI Generator The Babel Fish of The API World - apidays Live ParisOpenAPI Generator The Babel Fish of The API World - apidays Live Paris
OpenAPI Generator The Babel Fish of The API World - apidays Live Paris
Cliffano Subagio
 
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
WSO2
 
API Proxy Auto Discovery
API Proxy Auto DiscoveryAPI Proxy Auto Discovery
API Proxy Auto Discovery
Vince Soliza
 
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud GatewaySpring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
Iván López Martín
 
Create and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and BluemixCreate and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and Bluemix
Dev_Events
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud Foundry
Andy Piper
 
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
jaxLondonConference
 
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 201510 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
Peter Sabev
 
Why and how to leverage apache camel integration framework in your io t archi...
Why and how to leverage apache camel integration framework in your io t archi...Why and how to leverage apache camel integration framework in your io t archi...
Why and how to leverage apache camel integration framework in your io t archi...
Aurélien Pupier
 
Space Camp June 2022 - API First.pdf
Space Camp June 2022 - API First.pdfSpace Camp June 2022 - API First.pdf
Space Camp June 2022 - API First.pdf
Postman
 
Using OSGi for script deployment in Apache Sling
Using OSGi for script deployment in Apache SlingUsing OSGi for script deployment in Apache Sling
Using OSGi for script deployment in Apache Sling
Radu Cotescu
 
OSGi, Eclipse and API Tooling
OSGi, Eclipse and API ToolingOSGi, Eclipse and API Tooling
OSGi, Eclipse and API Tooling
Chris Aniszczyk
 
Why we chose Argo Workflow to scale DevOps at InVision
Why we chose Argo Workflow to scale DevOps at InVisionWhy we chose Argo Workflow to scale DevOps at InVision
Why we chose Argo Workflow to scale DevOps at InVision
Nebulaworks
 
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
apidays
 
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
Cliffano Subagio
 
Apidays Paris 2023 - OpenAPI 3.1 and Spring-Boot 3 - What's New?, Badr Nass L...
Apidays Paris 2023 - OpenAPI 3.1 and Spring-Boot 3 - What's New?, Badr Nass L...Apidays Paris 2023 - OpenAPI 3.1 and Spring-Boot 3 - What's New?, Badr Nass L...
Apidays Paris 2023 - OpenAPI 3.1 and Spring-Boot 3 - What's New?, Badr Nass L...
apidays
 

Similaire à 2022 apidays LIVE Helsinki & North_Using OpenAPI to configure your API Gateway (20)

Introduction to Apigility
Introduction to ApigilityIntroduction to Apigility
Introduction to Apigility
 
OpenAPI Extensions for OSLC
OpenAPI Extensions for OSLCOpenAPI Extensions for OSLC
OpenAPI Extensions for OSLC
 
Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)
 
Get Your Node.js API Swaggering with OpenAPI Spec
Get Your Node.js API Swaggering with OpenAPI SpecGet Your Node.js API Swaggering with OpenAPI Spec
Get Your Node.js API Swaggering with OpenAPI Spec
 
OpenAPI Generator The Babel Fish of The API World - apidays Live Paris
OpenAPI Generator The Babel Fish of The API World - apidays Live ParisOpenAPI Generator The Babel Fish of The API World - apidays Live Paris
OpenAPI Generator The Babel Fish of The API World - apidays Live Paris
 
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
[apidays LIVE HONK KONG] - OAS to Managed API in Seconds
 
API Proxy Auto Discovery
API Proxy Auto DiscoveryAPI Proxy Auto Discovery
API Proxy Auto Discovery
 
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud GatewaySpring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
 
Create and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and BluemixCreate and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and Bluemix
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud Foundry
 
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
 
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 201510 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
 
Why and how to leverage apache camel integration framework in your io t archi...
Why and how to leverage apache camel integration framework in your io t archi...Why and how to leverage apache camel integration framework in your io t archi...
Why and how to leverage apache camel integration framework in your io t archi...
 
Space Camp June 2022 - API First.pdf
Space Camp June 2022 - API First.pdfSpace Camp June 2022 - API First.pdf
Space Camp June 2022 - API First.pdf
 
Using OSGi for script deployment in Apache Sling
Using OSGi for script deployment in Apache SlingUsing OSGi for script deployment in Apache Sling
Using OSGi for script deployment in Apache Sling
 
OSGi, Eclipse and API Tooling
OSGi, Eclipse and API ToolingOSGi, Eclipse and API Tooling
OSGi, Eclipse and API Tooling
 
Why we chose Argo Workflow to scale DevOps at InVision
Why we chose Argo Workflow to scale DevOps at InVisionWhy we chose Argo Workflow to scale DevOps at InVision
Why we chose Argo Workflow to scale DevOps at InVision
 
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
apidays LIVE Paris 2021 - APIGEE, different ways for integrating with CI/CD p...
 
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
 
Apidays Paris 2023 - OpenAPI 3.1 and Spring-Boot 3 - What's New?, Badr Nass L...
Apidays Paris 2023 - OpenAPI 3.1 and Spring-Boot 3 - What's New?, Badr Nass L...Apidays Paris 2023 - OpenAPI 3.1 and Spring-Boot 3 - What's New?, Badr Nass L...
Apidays Paris 2023 - OpenAPI 3.1 and Spring-Boot 3 - What's New?, Badr Nass L...
 

Plus de apidays

Apidays Helsinki 2024 - Sustainable IT and API Performance - How to Bring The...
Apidays Helsinki 2024 - Sustainable IT and API Performance - How to Bring The...Apidays Helsinki 2024 - Sustainable IT and API Performance - How to Bring The...
Apidays Helsinki 2024 - Sustainable IT and API Performance - How to Bring The...
apidays
 
Apidays Helsinki 2024 - APIs ahoy, the case of Customer Booking APIs in Finn...
Apidays Helsinki 2024 -  APIs ahoy, the case of Customer Booking APIs in Finn...Apidays Helsinki 2024 -  APIs ahoy, the case of Customer Booking APIs in Finn...
Apidays Helsinki 2024 - APIs ahoy, the case of Customer Booking APIs in Finn...
apidays
 
Apidays Helsinki 2024 - From Chaos to Calm- Navigating Emerging API Security...
Apidays Helsinki 2024 -  From Chaos to Calm- Navigating Emerging API Security...Apidays Helsinki 2024 -  From Chaos to Calm- Navigating Emerging API Security...
Apidays Helsinki 2024 - From Chaos to Calm- Navigating Emerging API Security...
apidays
 
Apidays Helsinki 2024 - What is next now that your organization created a (si...
Apidays Helsinki 2024 - What is next now that your organization created a (si...Apidays Helsinki 2024 - What is next now that your organization created a (si...
Apidays Helsinki 2024 - What is next now that your organization created a (si...
apidays
 
Apidays Helsinki 2024 - There’s no AI without API, but what does this mean fo...
Apidays Helsinki 2024 - There’s no AI without API, but what does this mean fo...Apidays Helsinki 2024 - There’s no AI without API, but what does this mean fo...
Apidays Helsinki 2024 - There’s no AI without API, but what does this mean fo...
apidays
 
Apidays Helsinki 2024 - Security Vulnerabilities in your APIs by Lukáš Ďurovs...
Apidays Helsinki 2024 - Security Vulnerabilities in your APIs by Lukáš Ďurovs...Apidays Helsinki 2024 - Security Vulnerabilities in your APIs by Lukáš Ďurovs...
Apidays Helsinki 2024 - Security Vulnerabilities in your APIs by Lukáš Ďurovs...
apidays
 
Apidays Helsinki 2024 - Data, API’s and Banks, with AI on top by Sergio Giral...
Apidays Helsinki 2024 - Data, API’s and Banks, with AI on top by Sergio Giral...Apidays Helsinki 2024 - Data, API’s and Banks, with AI on top by Sergio Giral...
Apidays Helsinki 2024 - Data, API’s and Banks, with AI on top by Sergio Giral...
apidays
 
Apidays Helsinki 2024 - Data Ecosystems Driving the Green Transition by Olli ...
Apidays Helsinki 2024 - Data Ecosystems Driving the Green Transition by Olli ...Apidays Helsinki 2024 - Data Ecosystems Driving the Green Transition by Olli ...
Apidays Helsinki 2024 - Data Ecosystems Driving the Green Transition by Olli ...
apidays
 
Apidays Helsinki 2024 - Bridging the Gap Between Backend and Frontend API Tes...
Apidays Helsinki 2024 - Bridging the Gap Between Backend and Frontend API Tes...Apidays Helsinki 2024 - Bridging the Gap Between Backend and Frontend API Tes...
Apidays Helsinki 2024 - Bridging the Gap Between Backend and Frontend API Tes...
apidays
 
Apidays Helsinki 2024 - API Compliance by Design by Marjukka Niinioja, Osaango
Apidays Helsinki 2024 - API Compliance by Design by Marjukka Niinioja, OsaangoApidays Helsinki 2024 - API Compliance by Design by Marjukka Niinioja, Osaango
Apidays Helsinki 2024 - API Compliance by Design by Marjukka Niinioja, Osaango
apidays
 
Apidays Helsinki 2024 - ABLOY goes API economy – Transformation story by Hann...
Apidays Helsinki 2024 - ABLOY goes API economy – Transformation story by Hann...Apidays Helsinki 2024 - ABLOY goes API economy – Transformation story by Hann...
Apidays Helsinki 2024 - ABLOY goes API economy – Transformation story by Hann...
apidays
 
Apidays New York 2024 - The subtle art of API rate limiting by Josh Twist, Zuplo
Apidays New York 2024 - The subtle art of API rate limiting by Josh Twist, ZuploApidays New York 2024 - The subtle art of API rate limiting by Josh Twist, Zuplo
Apidays New York 2024 - The subtle art of API rate limiting by Josh Twist, Zuplo
apidays
 
Apidays New York 2024 - RESTful API Patterns and Practices by Mike Amundsen, ...
Apidays New York 2024 - RESTful API Patterns and Practices by Mike Amundsen, ...Apidays New York 2024 - RESTful API Patterns and Practices by Mike Amundsen, ...
Apidays New York 2024 - RESTful API Patterns and Practices by Mike Amundsen, ...
apidays
 
Apidays New York 2024 - Putting AI into API Security by Corey Ball, Moss Adams
Apidays New York 2024 - Putting AI into API Security by Corey Ball, Moss AdamsApidays New York 2024 - Putting AI into API Security by Corey Ball, Moss Adams
Apidays New York 2024 - Putting AI into API Security by Corey Ball, Moss Adams
apidays
 
Apidays New York 2024 - Prototype-first - A modern API development workflow b...
Apidays New York 2024 - Prototype-first - A modern API development workflow b...Apidays New York 2024 - Prototype-first - A modern API development workflow b...
Apidays New York 2024 - Prototype-first - A modern API development workflow b...
apidays
 
Apidays New York 2024 - Post-Quantum API Security by Francois Lascelles, Broa...
Apidays New York 2024 - Post-Quantum API Security by Francois Lascelles, Broa...Apidays New York 2024 - Post-Quantum API Security by Francois Lascelles, Broa...
Apidays New York 2024 - Post-Quantum API Security by Francois Lascelles, Broa...
apidays
 
Apidays New York 2024 - Increase your productivity with no-code GraphQL mocki...
Apidays New York 2024 - Increase your productivity with no-code GraphQL mocki...Apidays New York 2024 - Increase your productivity with no-code GraphQL mocki...
Apidays New York 2024 - Increase your productivity with no-code GraphQL mocki...
apidays
 
Apidays New York 2024 - Driving API & EDA Success by Marcelo Caponi, Danone
Apidays New York 2024 - Driving API & EDA Success by Marcelo Caponi, DanoneApidays New York 2024 - Driving API & EDA Success by Marcelo Caponi, Danone
Apidays New York 2024 - Driving API & EDA Success by Marcelo Caponi, Danone
apidays
 
Apidays New York 2024 - Build a terrible API for people you hate by Jim Benne...
Apidays New York 2024 - Build a terrible API for people you hate by Jim Benne...Apidays New York 2024 - Build a terrible API for people you hate by Jim Benne...
Apidays New York 2024 - Build a terrible API for people you hate by Jim Benne...
apidays
 
Apidays New York 2024 - API Secret Tokens Exposed by Tristan Kalos and Antoin...
Apidays New York 2024 - API Secret Tokens Exposed by Tristan Kalos and Antoin...Apidays New York 2024 - API Secret Tokens Exposed by Tristan Kalos and Antoin...
Apidays New York 2024 - API Secret Tokens Exposed by Tristan Kalos and Antoin...
apidays
 

Plus de apidays (20)

Apidays Helsinki 2024 - Sustainable IT and API Performance - How to Bring The...
Apidays Helsinki 2024 - Sustainable IT and API Performance - How to Bring The...Apidays Helsinki 2024 - Sustainable IT and API Performance - How to Bring The...
Apidays Helsinki 2024 - Sustainable IT and API Performance - How to Bring The...
 
Apidays Helsinki 2024 - APIs ahoy, the case of Customer Booking APIs in Finn...
Apidays Helsinki 2024 -  APIs ahoy, the case of Customer Booking APIs in Finn...Apidays Helsinki 2024 -  APIs ahoy, the case of Customer Booking APIs in Finn...
Apidays Helsinki 2024 - APIs ahoy, the case of Customer Booking APIs in Finn...
 
Apidays Helsinki 2024 - From Chaos to Calm- Navigating Emerging API Security...
Apidays Helsinki 2024 -  From Chaos to Calm- Navigating Emerging API Security...Apidays Helsinki 2024 -  From Chaos to Calm- Navigating Emerging API Security...
Apidays Helsinki 2024 - From Chaos to Calm- Navigating Emerging API Security...
 
Apidays Helsinki 2024 - What is next now that your organization created a (si...
Apidays Helsinki 2024 - What is next now that your organization created a (si...Apidays Helsinki 2024 - What is next now that your organization created a (si...
Apidays Helsinki 2024 - What is next now that your organization created a (si...
 
Apidays Helsinki 2024 - There’s no AI without API, but what does this mean fo...
Apidays Helsinki 2024 - There’s no AI without API, but what does this mean fo...Apidays Helsinki 2024 - There’s no AI without API, but what does this mean fo...
Apidays Helsinki 2024 - There’s no AI without API, but what does this mean fo...
 
Apidays Helsinki 2024 - Security Vulnerabilities in your APIs by Lukáš Ďurovs...
Apidays Helsinki 2024 - Security Vulnerabilities in your APIs by Lukáš Ďurovs...Apidays Helsinki 2024 - Security Vulnerabilities in your APIs by Lukáš Ďurovs...
Apidays Helsinki 2024 - Security Vulnerabilities in your APIs by Lukáš Ďurovs...
 
Apidays Helsinki 2024 - Data, API’s and Banks, with AI on top by Sergio Giral...
Apidays Helsinki 2024 - Data, API’s and Banks, with AI on top by Sergio Giral...Apidays Helsinki 2024 - Data, API’s and Banks, with AI on top by Sergio Giral...
Apidays Helsinki 2024 - Data, API’s and Banks, with AI on top by Sergio Giral...
 
Apidays Helsinki 2024 - Data Ecosystems Driving the Green Transition by Olli ...
Apidays Helsinki 2024 - Data Ecosystems Driving the Green Transition by Olli ...Apidays Helsinki 2024 - Data Ecosystems Driving the Green Transition by Olli ...
Apidays Helsinki 2024 - Data Ecosystems Driving the Green Transition by Olli ...
 
Apidays Helsinki 2024 - Bridging the Gap Between Backend and Frontend API Tes...
Apidays Helsinki 2024 - Bridging the Gap Between Backend and Frontend API Tes...Apidays Helsinki 2024 - Bridging the Gap Between Backend and Frontend API Tes...
Apidays Helsinki 2024 - Bridging the Gap Between Backend and Frontend API Tes...
 
Apidays Helsinki 2024 - API Compliance by Design by Marjukka Niinioja, Osaango
Apidays Helsinki 2024 - API Compliance by Design by Marjukka Niinioja, OsaangoApidays Helsinki 2024 - API Compliance by Design by Marjukka Niinioja, Osaango
Apidays Helsinki 2024 - API Compliance by Design by Marjukka Niinioja, Osaango
 
Apidays Helsinki 2024 - ABLOY goes API economy – Transformation story by Hann...
Apidays Helsinki 2024 - ABLOY goes API economy – Transformation story by Hann...Apidays Helsinki 2024 - ABLOY goes API economy – Transformation story by Hann...
Apidays Helsinki 2024 - ABLOY goes API economy – Transformation story by Hann...
 
Apidays New York 2024 - The subtle art of API rate limiting by Josh Twist, Zuplo
Apidays New York 2024 - The subtle art of API rate limiting by Josh Twist, ZuploApidays New York 2024 - The subtle art of API rate limiting by Josh Twist, Zuplo
Apidays New York 2024 - The subtle art of API rate limiting by Josh Twist, Zuplo
 
Apidays New York 2024 - RESTful API Patterns and Practices by Mike Amundsen, ...
Apidays New York 2024 - RESTful API Patterns and Practices by Mike Amundsen, ...Apidays New York 2024 - RESTful API Patterns and Practices by Mike Amundsen, ...
Apidays New York 2024 - RESTful API Patterns and Practices by Mike Amundsen, ...
 
Apidays New York 2024 - Putting AI into API Security by Corey Ball, Moss Adams
Apidays New York 2024 - Putting AI into API Security by Corey Ball, Moss AdamsApidays New York 2024 - Putting AI into API Security by Corey Ball, Moss Adams
Apidays New York 2024 - Putting AI into API Security by Corey Ball, Moss Adams
 
Apidays New York 2024 - Prototype-first - A modern API development workflow b...
Apidays New York 2024 - Prototype-first - A modern API development workflow b...Apidays New York 2024 - Prototype-first - A modern API development workflow b...
Apidays New York 2024 - Prototype-first - A modern API development workflow b...
 
Apidays New York 2024 - Post-Quantum API Security by Francois Lascelles, Broa...
Apidays New York 2024 - Post-Quantum API Security by Francois Lascelles, Broa...Apidays New York 2024 - Post-Quantum API Security by Francois Lascelles, Broa...
Apidays New York 2024 - Post-Quantum API Security by Francois Lascelles, Broa...
 
Apidays New York 2024 - Increase your productivity with no-code GraphQL mocki...
Apidays New York 2024 - Increase your productivity with no-code GraphQL mocki...Apidays New York 2024 - Increase your productivity with no-code GraphQL mocki...
Apidays New York 2024 - Increase your productivity with no-code GraphQL mocki...
 
Apidays New York 2024 - Driving API & EDA Success by Marcelo Caponi, Danone
Apidays New York 2024 - Driving API & EDA Success by Marcelo Caponi, DanoneApidays New York 2024 - Driving API & EDA Success by Marcelo Caponi, Danone
Apidays New York 2024 - Driving API & EDA Success by Marcelo Caponi, Danone
 
Apidays New York 2024 - Build a terrible API for people you hate by Jim Benne...
Apidays New York 2024 - Build a terrible API for people you hate by Jim Benne...Apidays New York 2024 - Build a terrible API for people you hate by Jim Benne...
Apidays New York 2024 - Build a terrible API for people you hate by Jim Benne...
 
Apidays New York 2024 - API Secret Tokens Exposed by Tristan Kalos and Antoin...
Apidays New York 2024 - API Secret Tokens Exposed by Tristan Kalos and Antoin...Apidays New York 2024 - API Secret Tokens Exposed by Tristan Kalos and Antoin...
Apidays New York 2024 - API Secret Tokens Exposed by Tristan Kalos and Antoin...
 

Dernier

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 

Dernier (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 

2022 apidays LIVE Helsinki & North_Using OpenAPI to configure your API Gateway

  • 1. Using OpenAPI to configure your API Gateway Ole Lensmar, CTO, Kubeshop www.kusk.io
  • 3. 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. www.kusk.io
  • 4. Potential overlap with OpenAPI ● An OpenAPI definition contains metadata on: ○ Operations / paths / methods / parameters ● OpenAPI Extensions can be used / defined for adding arbitrary metadata ○ Additional security ○ SLAs (SLA4OAS) ○ Rate-limits, timeouts ○ etc. ○ Message format (JSON Schema) ○ Security Schemes www.kusk.io
  • 5. 2022 SERIES OF EVENT New York JULY (HYBRID) Australia SEPTEMBER (HYBRID) Singapore APRIL (VIRTUAL) Helsinki & North MARCH (VIRTUAL) Paris DECEMBER (HYBRID) London OCTOBER (HYBRID) Hong Kong AUGUST (VIRTUAL) JUNE (VIRTUAL) India MAY (VIRTUAL) APRIL (VIRTUAL) Dubai & Middle East JUNE (VIRTUAL) Check out our API Conferences here Wa nt t o t a lk a t one of our conference? Apply t o spea k here
  • 6. Wouldn’t it be great if you could use your OpenAPI definition to configure your API Gateway? www.kusk.io
  • 7. OpenAPI driving your API Gateway — why? ● One source of truth the OpenAPI definition defines both functional and operational aspects of an API www.kusk.io
  • 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.) www.kusk.io
  • 9. 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. www.kusk.io
  • 11. Approaches to using OpenAPI for Gateway Configuration www.kusk.io
  • 12. Approaches to using OpenAPI for Gateway Configuration 1. Import OpenAPI and refine with gateway-specific configuration / UI with / without gateway-specific OpenAPI Extensions www.kusk.io
  • 13. Approaches to using OpenAPI for Gateway Configuration 1. Import OpenAPI and refine with gateway-specific configuration / UI with / without gateway-specific OpenAPI Extensions 2. Generate standalone gateway configuration from OpenAPI with / without gateway-specific OpenAPI Extensions www.kusk.io
  • 14. Approaches to using OpenAPI for Gateway Configuration 1. Import OpenAPI and refine with gateway-specific configuration / UI with / without gateway-specific OpenAPI Extensions 2. Generate standalone gateway configuration from OpenAPI with / without gateway-specific OpenAPI Extensions 3. Gateway uses OpenAPI natively for configuration with gateway-specific OpenAPI Extensions www.kusk.io
  • 15. ● Pros: 1. Import OpenAPI and Refine.. ○ Easy to get started with gateway from OpenAPI ● Very common approach ○ AWS ○ Azure ○ Google ○ Tyk.io ○ Gloo ○ and many more... ○ Access to all gateway features ● Cons: ○ Doesn’t always work with iterative / automated workflow ○ OpenAPI is not the source-of-truth www.kusk.io
  • 16. ● Pros: 2. Generate Gateway configuration from OpenAPI ○ Makes OpenAPI definition the source of truth ● Generator frameworks ○ Swagger-codegen ○ OpenAPI-generator ○ Automatable / iterative development ● Cons: ○ Needs extensions for Gateway functionality ○ Extra step to generate and apply configuration ○ GitOps compatible in Kubernetes context ● Let’s get back to this... www.kusk.io
  • 17. 3. Gateway uses OpenAPI natively for configuration ● Pros: ○ OpenAPI is the source of truth ● Cons: ○ Needs extensions for Gateway functionality ○ “Shoehorning” — should all configuration really be in the OpenAPI definition? ○ Harness OpenAPI metadata for QoS functionality ○ Supports automated / iterative workflows ○ GitOps compatible in Kubernetes context ● Examples? Let’s get back to this one… www.kusk.io
  • 18. API Gateways and Kubernetes www.kusk.io
  • 19. API Gateways and Kubernetes ● Kubernetes generally uses an Ingress to expose an API outside a cluster ● An Ingress Controller provides the actual Ingress implementation; Nginx-Ingress is the most common, others are Ambassador, Traefik, etc. ● API Gateways for K8s are usually Ingress Controllers also www.kusk.io
  • 20. Challenges specific to Ingress Controllers ● The Ingress specification lacks 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 www.kusk.io
  • 21. Wouldn’t it be great if you could use OpenAPI to configure your Ingress Controller? www.kusk.io
  • 22. Wouldn’t it be great if you could use OpenAPI to configure your Ingress Controller? 1. One source-of-truth! www.kusk.io
  • 23. Wouldn’t it be great if you could use OpenAPI to configure your Ingress Controller? 1. One source-of-truth! 2. No new/YAML configuration files! www.kusk.io
  • 24. Wouldn’t it be great if you could use OpenAPI to configure your Ingress Controller? 1. One source-of-truth! 2. No new/YAML configuration files! 3. Automated workflows = No DevOps! www.kusk.io
  • 25. That’s why we built Kusk ● Kusk makes your OpenAPI definition the source of truth for: ○ Operation routing and availability ○ Rate-limiting, CORS, Timeouts www.kusk.io ● Use Kusk-gen with an existing Ingress controller / API Gateway ○ Ambassador 1.x / 2.x, Linkerd, Ingress-Nginx, Traefik, <your favorite here> ● Use Kusk Gateway as a standalone Ingress controller / API Gateway ● 100% Open-Source - MIT license ○ Validation, Mocking, Metrics / Coverage
  • 26. ● x-kusk extension for configuring: Kusk OpenAPI Extension ○ Rate-limiting ○ Timeouts ○ CORS ○ Disable paths / operations ○ Cluster-specific properties ■ Targeted service(s) www.kusk.io ○ Mocking ○ Validation
  • 27. Using Kusk-Gen with an existing controller - why? ● 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 www.kusk.io
  • 29. www.kusk.io Wouldn’t it be even greater if your API Gateway speaks OpenAPI Natively?
  • 30. 1. One source-of-truth! 2. No new/YAML configuration files! 3. Automated workflows = No DevOps! www.kusk.io Wouldn’t it be even greater if your API Gateway speaks OpenAPI Natively?
  • 31. 1. One source-of-truth! 2. No new/YAML configuration files! 3. Automated workflows = No DevOps! 4. OpenAPI Driven functionality www.kusk.io Wouldn’t it be even greater if your API Gateway speaks OpenAPI Natively?
  • 32. 1. One source-of-truth! 2. No new/YAML configuration files! 3. Automated workflows = No DevOps! 4. OpenAPI Driven functionality a. Validation, Mocking, Debugging, etc www.kusk.io Wouldn’t it be even greater if your API Gateway speaks OpenAPI Natively?
  • 33. 1. One source-of-truth! 2. No new/YAML configuration files! 3. Automated workflows = No DevOps! 4. OpenAPI Driven functionality a. Validation, Mocking, Debugging, etc b. Security, Metrics, API Coverage, etc www.kusk.io Wouldn’t it be even greater if your API Gateway speaks OpenAPI Natively?
  • 34. Kusk Gateway ● Your OpenAPI definition becomes the source-of-truth for both functional and QoS / deployment aspects of your API ● You can rapidly iterate on your API without 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. www.kusk.io
  • 35. Kusk Gateway ● Built on Envoy - a battle proven proxy for Kubernetes used by many other Gateways ● Based on the same x-kusk extension as Kusk-Gen - configure operation-level rate-limiting, timeouts, enable/disable, etc. ● Deployed as a standard Kubernetes Controller/Operator with CRDs for configuring APIs based on OpenAPI ● OpenAPI-specific functionality - Configurable request validation with user-friendly error messages based on the operation/schema definition - Configurable operation mocking based on provided example responses in the OpenAPI definition www.kusk.io ● Kusk Gateway UI - Browser-based dashboard for invoking/debugging deployed APIs - metrics/health/usage - operational parameters - etc
  • 38. OpenAPI + Kusk Gateway driving the API Lifecycle www.kusk.io
  • 39. Kusk: kusk.io Discord: bit.ly/kubeshop-discord Kubeshop: kubeshop.io by Kubeshop Come to our virtual booth to learn more! Thank You! Presenter: Ole Lensmar