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

[RVD23]Le versioning des APIs REST par la pratique

[RVD23]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 versionning. 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 allons définir la stratégie à mettre en oeuvre, 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 versionning d'APIs.

Alexandre Touret

July 10, 2023
Tweet

More Decks by Alexandre Touret

Other Decks in Programming

Transcript

  1. We design payments technology that powers the growth of millions

    of businesses around the world. Who are we?
  2. 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?
  3. Main Feature Hotfix Develop Release V1 V2 V2.1 Release avec

    la liste des auteurs Compatibilité ascendante V1.1
  4. • 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?
  5. D ’ ! Follow & get in touch @foxlegend linkedin.com/in/davi

    dpequegnot/ blog.worldline.tech @WorldlineTech Follow our tech team: Follow us: @touret_alex linkedin.com/in /atouret 27 |