> Markdown version of [/videos/434-evolving-your-apis-a-step-by-step-approach](https://www.wearedevelopers.com/videos/434-evolving-your-apis-a-step-by-step-approach). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Evolving your APIs, a step-by-step approach Are your API updates breaking client applications? Discover how API gateways solve versioning nightmares through dynamic routing, canary releases, and graceful deprecation without downtime. - **Speakers:** Nicolas Fränkel - **Event:** World Congress 2022 - **Published:** June 15, 2022 - **Duration:** 28:49 - **URL:** https://www.wearedevelopers.com/videos/434-evolving-your-apis-a-step-by-step-approach ## Summary Developers often focus heavily on domain modeling and semantics when building APIs, but overlook the long-term challenges of versioning and evolution. Upgrading an API without disrupting existing consumers requires decoupling routing from application logic. Implementing an API gateway solves this by acting as a specialized reverse proxy that supports hot-reloading, dynamic configuration, and advanced traffic management—capabilities that traditional reverse proxies lack without custom extensions or system downtime. Using Apache APISIX as an example, evolving an API involves several practical steps. First, establish versioned resources through path-based routing and use request rewriting to pass expected paths to the upstream service. To seamlessly migrate users, implement HTTP 301 redirects from old endpoints to new ones. Additionally, introducing rate-limiting policies encourages consumer registration. By providing basic access for anonymous users but requiring an API key for higher limits, organizations can organically build a directory of consumers to notify them of future breaking changes. The gateway pattern also facilitates safe deployments and standards-based deprecation. Acknowledging that 'in the end, you always test in production,' teams can utilize canary releases via split-traffic routing. By routing a small percentage of traffic to a new version and monitoring metrics via tools like Prometheus, engineers can safely validate changes without full exposure. Finally, when phasing out older versions, leveraging standard HTTP headers like Deprecation, Sunset, and Link gracefully communicates transition timelines to consumers before an endpoint is fully retired. **Keywords:** api evolution, api gateway, apache apisix, reverse proxy configuration, api versioning strategies, path-based routing, request rewriting, http 301 redirects, api rate limiting, consumer registration, canary releases, traffic splitting, production testing, endpoint deprecation, http sunset header, hot-reload configuration ## Chapters 1. **Challenges of versioning and evolving existing HTTP APIs** (00:00) — Moving beyond initial domain modeling requires a robust strategy for deploying new API versions gracefully. 1. **Comparing traditional reverse proxies with modern API gateways** (02:57) — API gateways provide zero-downtime configuration changes and advanced rate limiting without requiring service restarts. 1. **Setting up Apache APISIX for dynamic route configuration** (06:19) — Deploying Apache APISIX with Docker Compose allows developers to configure upstream backend routes on the fly. 1. **Implementing versioned routes and rewriting request paths dynamically** (11:02) — Abstracting upstream configurations and rewriting incoming request URIs ensures the backend receives correctly formatted paths. 1. **Redirecting outdated endpoints to current versions using HTTP redirects** (13:14) — Modifying route configurations to return HTTP 301 status codes safely migrates clients away from deprecated endpoints. 1. **Driving user registration by applying custom rate limits** (14:57) — Applying custom Lua plugins to enforce rate limits encourages unauthenticated API consumers to register for access keys. 1. **Executing canary releases by splitting production API traffic** (19:48) — Routing a percentage of live traffic to new endpoints enables monitoring and comparing performance before full deployment. 1. **Deprecating outdated API routes with standardized HTTP headers** (21:34) — Returning deprecation headers and sunset dates informs clients about upcoming endpoint removals while pointing to alternatives. 1. **Addressing questions on gateway rate limiting and architecture choices** (23:17) — Considerations include handling multiple API versions, reverting deployments, and maintaining high availability with multi-node gateway clusters. ## Related Moments - [Designing a resilient API gateway architecture](https://www.wearedevelopers.com/videos/54-improving-developer-happiness-with-gitops) (from "Improving Developer Happiness with GitOps") - [Establishing a baseline modern API architecture](https://www.wearedevelopers.com/videos/377-architecting-api-security) (from "Architecting API Security") - [Strategies for versioning application programming interfaces consistently and effectively](https://www.wearedevelopers.com/videos/1675-api-some-rest-and-http-right-right) (from "API = Some REST and HTTP, right? RIGHT?!") - [Strategies for API versioning and handling deprecations](https://www.wearedevelopers.com/videos/100182-an-opinionated-guide-to-bulletproof-apis) (from "An Opinionated Guide to Bulletproof APIs") - [Designing a centralized API gateway and identity provider](https://www.wearedevelopers.com/videos/776-our-gitops-approach-for-deploying-an-identity-provider-and-an-api-gateway-in-a-saas-company) (from "Our GitOps approach for deploying an Identity Provider and an API Gateway in a SaaS company") - [Managing technical debt while iterating on API infrastructure](https://www.wearedevelopers.com/videos/942-insights-from-building-the-canva-developers-platform-to-empower-185-million-designers) (from "Insights from building the Canva Developers Platform to empower 185 million designers") ## Related Articles - [The CAMARA Project: How Telcos Collaborating Improves Developer Experience](https://www.wearedevelopers.com/magazine/671-the-camara-project-how-telcos-collaborating-improves-developer-experience) - [Navigating the AI Shift](https://www.wearedevelopers.com/magazine/629-navigating-the-ai-shift) - [What is Software Engineering in the Age of AI?](https://www.wearedevelopers.com/magazine/640-what-is-software-engineering-in-the-age-of-ai) - [Dev Digest 108 - Git off my cloud!](https://www.wearedevelopers.com/magazine/407-dev-digest-108-git-off-my-cloud) ## Related Jobs - [Software Engineer, Python (Asset Pricing & Hedging)](https://www.wearedevelopers.com/jobs/ext/2772280-software-engineer-python-asset-pricing-hedging) at **Bitpanda** - [Mid/Senior Full-Stack Engineer (Web-first)](https://www.wearedevelopers.com/jobs/ext/1210833-mid-senior-full-stack-engineer-web-first) at **SMG Swiss Marketplace Group** - [Senior Software Engineer, Angular](https://www.wearedevelopers.com/jobs/ext/2796428-senior-software-engineer-angular) at **Bitpanda** - [Forward Deployed Software Engineering - Senior Manager](https://www.wearedevelopers.com/jobs/ext/1404892-forward-deployed-software-engineering-senior-manager) at **PwC** - [Software Engineer, Fullstack](https://www.wearedevelopers.com/jobs/48415-software-engineer-fullstack) at **Sciforium** - [Principal Software Engineer (m/f/x)](https://www.wearedevelopers.com/jobs/48548-principal-software-engineer-m-f-x) at **Dynatrace**