The Knot migration pattern ties every API consumer and its surrounding ecosystem to one provider version, then forces all consumers to update, test, and release together in a coordinated migration. section 4.10
A coordinated migration creates several costs:
- Consumers bear implementation, testing, and release work, plus migration risk and the opportunity cost of postponing other business priorities. section 4.10
- Providers avoid maintaining multiple API versions in production, but the coordinated burden grows as the number of versions increases. section 4.10
- The accumulated cost can make service changes tactical, especially when a new version offers consumers little business benefit. section 4.10
Coordinated API release
When a provider releases a new API version under the Knot pattern, every consumer must update its client code, test it, and release the update rather than migrating at its own pace. section 4.10
Figure 4.6 Jean-Jacques Dubray’s three models of API version migration. The cost of version migration for each model is illustrated in the chart. (Source: This is adapted from JJ’s original diagram available at https://mng.bz/0GON, along with the accompanying equations.)
Compare the Knot pattern with Point-to-Point migration, which keeps multiple API services running, and the Compatible pattern, which serves compatible versions through one API service. section 4.10
