Managing API Versions: The API Lifecycle

Опубликовано: 15 Октябрь 2024
на канале: Erik Wilde
1,263
40

Managing API versions is part of API lifecycle management. Most importantly, the goal is to make sure that API consumption is as little impacted by changes in the API landscape as possible, while still allowing individual APIs and the entire landscape to evolve.
After all, when consumers use an API, they should be able to do so in a stable way. But on the other hand, API product management should be able to improve and evolve APIs based on consumer feedback. The management of API versions has to tackle these conflicting goals.
We look at the two most important aspects of how managing API versions should be done:
Use design patterns that allow you to evolve APIs in a backwards-compatible way, so that APIs can be evolved without having to be versioned (in non-backwards-compatible ways).
Plan ahead how non-backwards-compatible API versions can be released with as little damage as possible. This means planning ahead for API deprecation and sunsetting, so that API consumers can be alerted when an API is going to be replaced.

If you are interested in the four-part mini-series about API lifecycle management, here are links to all videos in that series:

1. "What is Semantic Versioning"    • What is Semantic Versioning?  
2. "Managing API Versions: The API Lifecycle"    • Managing API Versions: The API Lifecycle   (this video)
3. "Designing APIs for Extensibility: How to create evolvable APIs"    • Designing APIs for Extensibility: How...  
4. "API Lifecycle Management: Deprecation and Sunsetting"    • API Lifecycle Management: Deprecation...