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.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Rust and GoLang

Rust and GoLang

NHe4a GmbH
Karlsruhe, Germany

Remote
55-65K
Intermediate
Senior
Go
Rust