CI/CD avec l’API Management Azure

Objectifs

L’intégration continue (CI) et le déploiement continue (CD) sont des pratiques indispensables aujourd’hui. Tant pour construire, déployer ou encore configurer une plateforme. Elles sont progressivement absorbées par les pratiques DevOps. Ces pratiques CICD ont pour principaux objectifs de:

  • automatiser le build des artefacts,
  • automatiser le déploiement de ces artefacts vers des environnements cibles.

Dans le cas de l’API Management pour Azure, il est nécessaire de déployer les éléments suivants:

  • les API et leurs contrats respectifs,
  • les Policies, stratégies ou traitements internes,
  • les BackEnds, cibles des API,
  • les NamesValues, ou tables de références externes.

Une version d’une API est alors la combinaison de tous ces éléments. C’est leur combinaison qui est le résultat d’un déploiement vers une plateforme de Recette ou de Production, par exemple.

Chaque API possède son propre cycle de vie. Les étapes de construction, de validation et de déploiement sont temporellement décorrélées les unes des autres API. Au quotidien, chaque API doit être gérée de manière unitaire.

Contextualisation ou Variabilisation

L’automatisation est un point important mais il s’accompagne systématiquement par la capacité à déployer dans plusieurs environnements. Pour cela, il est nécessaire d’intégrer des variables externes aux scripts CI/CD. Un livrable d’un environnement n’est donc pas égal à celui d’un autre.

Diffusion d’une API versionnée dans les environnements cibles.

Avec quels outils ?

Microsoft propose plusieurs outils, complémentaires ou non, pour supporter ces actions. La richesse et la multiplicité des solutions n’aide pas toujours…

Cet article détaille le résultat de mes travaux qui ont pour objectifs de mettre en place un socle de CI/CD complet et efficace pour l’ API Management Azure.

Lire la suite “CI/CD avec l’API Management Azure”