Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[CES23] Le versioning des APIs REST par la pratique

[CES23] Le versioning des APIs REST par la pratique

Quand on souhaite publier des APIs avec par exemple, une solution d' API Management, on évoque régulièrement le versioning. Cette pratique répond à des contraintes projet mais apporte malheureusement son lot de complexité.

Imaginez, vous travaillez sur un produit qui expose des APIs à plusieurs clients. Vous devez leur proposer des évolutions et nouvelles fonctionnalités tout en maîtrisant l'existant.
Comment faire évoluer et proposer vos APIs à certains clients sans pénaliser les autres? Quelle stratégie adopter? Quelles solutions techniques peut-on mettre en place simplement?

Lors de cet atelier, vous (re)découvrirez et mettrez en pratique des conseils que j'ai pu mettre en oeuvre et qui m'ont aidé lors de mes derniers projets.

Au travers d'un cas concret basé sur une architecture microservices, nous définirons la stratégie à mettre en œuvre, les différentes possibilités d'implémentation ainsi que leurs contraintes.
Nous les challengerons ensuite en apportant différentes évolutions (ajout d'un nouveau client ou de nouvelles fonctionnalités).

A l’issue de cet atelier, nous aurons une vue complète et mis en pratique différentes manières d'appréhender le versioning d'APIs.

Alexandre Touret

October 26, 2023
Tweet

More Decks by Alexandre Touret

Other Decks in Programming

Transcript

  1. Version initiale avec un client j ’ ’ é é

    des descriptions j é ’ ’ Prise en considération de la sécurité (autorisations, habilitations) Roadmap de notre produit Besoin de versionner nos APIS?
  2. Main Feature Hotfix Develop Release V1 V2 V2.1 Release avec

    la liste des auteurs Compatibilité ascendante V1.1
  3. • 1 livrable par branche ou tag • JAR, ZIP,

    Charts HELM, Image Docker • Idéalement les livrables sont agnostiques (sans configuration) • La configuration est portée par un référentiel • Statique : ex. environnement Gitlab et fichiers associés • Dynamique: serveur de configuration Quels seront les livrables et configurations associées?
  4. D ’ ! Follow & get in touch @touret_alex linkedin.com/in/atouret

    blog.worldline.tech @WorldlineTech Follow our tech team: Follow me: blog.touret.info alexandre-touret Feedback