Nicolas Fränkel

Evolving your APIs, a step-by-step approach

How do you evolve an API without breaking it for your users? This talk demonstrates a step-by-step approach using an API gateway.

Evolving your APIs, a step-by-step approach
#1about 1 minute

The challenge of evolving APIs without breaking changes

Evolving an API is difficult because initial development focuses on domain modeling, not long-term versioning strategies.

#2about 5 minutes

Using an API gateway instead of a reverse proxy

An API gateway is a specialized reverse proxy that handles modern, complex requirements like dynamic configuration and client-specific rate limiting.

#3about 4 minutes

Setting up the initial proxy route with Apache APISIX

The first step is to configure the API gateway to proxy requests to the existing upstream service without any downtime.

#4about 3 minutes

Creating a versioned route with path rewriting

Introduce a versioned path like /v1 and use the API gateway to rewrite the request path before forwarding it to the upstream service.

#5about 1 minute

Redirecting legacy endpoints using an HTTP 301 response

Deprecate the old, unversioned endpoint by configuring the API gateway to return an HTTP 301 permanent redirect to the new versioned URL.

#6about 5 minutes

Implementing rate limiting to encourage user registration

Use a custom Lua plugin to enforce rate limits on unauthenticated users, prompting them to register to get an API key for unlimited access.

#7about 2 minutes

Canary releasing the new API version with traffic splitting

Safely roll out the new API version by configuring the gateway to split a percentage of production traffic between the old and new upstreams.

#8about 2 minutes

Deprecating an old API version using HTTP headers

Formally deprecate the V1 endpoint by adding Deprecation, Link, and Sunset headers to the response, guiding clients to the new V2 endpoint.

#9about 6 minutes

Q&A on API versioning and management strategies

The audience asks questions about rate limiting per token, managing multiple versions, reverting changes, and the definition of API management.

Related jobs
Jobs that call for the skills explored in this talk.

job ad

Saby Company
Delebio, Italy

Intermediate

test

Milly
Vienna, Austria

Intermediate

Featured Partners

Related Articles

View all articles
CH
Chris Heilmann
Dev Digest 139 - Soft and hard queries
News and ArticlesLet's start with Amelia Wattenberger's excellent essay Bridging the hard and the soft talking about humans and data. Do you sometimes also miss aspects of the early web like a lack of big data and freedom to create without numeric go...
Dev Digest 139 - Soft and hard queries
CH
Chris Heilmann
All the videos of Halfstack London 2024!
Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
All the videos of Halfstack London 2024!

From learning to earning

Jobs that call for the skills explored in this talk.

API Engineer

API Engineer

Axiom Software Solutions

GIT
JIRA
Node.js
Ansible
Confluence
+1
API Developer

API Developer

Indicate Data GmbH

Intermediate
JSON
GraphQL