Les 2 piliers de la gouvernance des API

Les 2 piliers de la gouvernance des API

Auteur : Thomas Plantain (Manager du pôle API et intégration) - Date de publication : novembre 2, 2020

Les entreprises qui veulent mettre en œuvre des API, pour exposer des services en interne ou pour des partenaires externes, doivent aujourd’hui s’organiser. On parle de la Gouvernance des API.

La gouvernance des API contient deux aspects, un premier qui est technique car il faut définir les standards et les normes pour les API de l’entreprise et un second qui est organisationnel car il faut gérer et développer l’utilisation et la mise en place des API.

La mise en place de la gouvernance commence souvent par un projet porteur qui veut déployer des API et qui va choisir l’API Manager de l’entreprise.

Cependant dans cet article nous n’allons pas aborder le choix de l’API Manager, la mise en place de la gouvernance ne va pas dépendre de la plateforme choisie. Nous allons aborder ici la mise en place de la gouvernance.

L’aspect technique de la gouvernance des API

Les architectes SI de l’entreprise, regroupés dans une communauté d’experts, vont devoir définir les normes et standards des API, à savoir :

La définition des standards d’interface utilisés pour créer et publier les API dans l’entreprise.

Le modèle de sécurité des API employé et les caractéristiques de leur gestion.

Le modèle des structures de données entrantes et sortantes.

Le référentiel des API existantes et celui de leurs versions.

Voici quelques bonnes pratiques pour la définition des API :

Utiliser des verbes HTTP

– GET, POST, DELETE, PUT

Utiliser des codes standards de réponse HTTP

– 200 OK

– 400 Bad Request

– 500 Internal Server Error

Faire apparaitre la version majeure de l’API qui devrait apparaitre dans l’URL des ressources

GET /v1/orders

Ne supporter si possible à la fois que deux versions de la même API (n, n-1)

Essayer de préserver au maximum la compatibilité ascendante

Définir un dictionnaire unique pour les services de l’entreprise

Il existe des outils comme Stoplight ou SwaggerHub pour aider les équipes projets à concevoir correctement les interfaces (Swagger) des API.

Pour le choix des règles de sécurité, le RSSI doit étudier la criticité des données pour évaluer quel protocole est le plus adapté pour répondre.

La norme OAuth2 va définir trois acteurs principaux dans les échanges sécurisés entre le client qui souhaite consommer une API et le fournisseur du service.

Le principe est donc le suivant : le client doit s’identifier auprès du serveur d’autorisation, soit avec une clef, soit avec un identifiant et un mot de passe. Le serveur d’autorisation fournira un Token au client qui pourra ensuite l’exposer au fournisseur de service pour prouver son identité et demander le résultat de l’appel au service.

Une fois l’aspect technique pris en compte, intervient alors la mise en place de l’équipe qui va promouvoir et supporter les API ainsi que l’API Manager dans l’entreprise.

L’aspect organisationnel de la gouvernance des API

Cette mise en place du centre de compétences API est le CECAPI ou l’API Team.

Le CECAPI est le garant de l’évolution du patrimoine des API et des ressources. Il a à la fois une Mission stratégique car il définit la trajectoire d’évolution du patrimoine et une Mission opérationnelle car il définit les règles de conception des API, accompagne les projets dans le design des ressources et déploie des API sur étagères (des API techniques ou fonctionnels réutilisables par toutes les entités de l’entreprise).

Le centre de compétences API se doit donc d’être constitué de ressources expertes :

D’une part un sponsor ayant de la visibilité au niveau du comité de direction de l’entreprise, ceci afin de mettre en évidence la plateforme de gestion des API et afin d’attirer de nouveaux projets désireux de développer et de déployer des services d’entreprise.

D’autre part des experts de l’API manager, des architectes, des experts techniques (Java, DevOps) pour conseiller les projets et concevoir les guides. Enfin pour animer cette équipe, il faut un pilote (Product Owner) qui va superviser la livraison des guides et de la communication qui sera aussi le contact principal pour les projets nécessitant informations et conseils.

Quelles sont les activités clés du CECAPI (API Team) ?

Le pilotage du patrimoine

– Définir les référentiels et outils nécessaires au pilotage

– Administrer la cartographie des actifs

– Faire un suivi de la qualité des API et ressources*

Le Design fonctionnel des API

– Accompagner les projets dans l’identification et le design des API et ressources

– Concevoir des ressources stratégiques sur étagère

La méthodologie

– Produire les guides de conception (versioning, sécurité…) à destination des fabricants

– Produire les chartes d’utilisation à destination des projets consommateurs

Les formations et la communication

– Construire des supports de formation à usage interne

– Construire et animer une communauté de développeurs en externe pour stimuler la création de nouveaux services

Au final il est important que l’API Team s’assure d’optimiser l’utilisation de la plateforme de gestion des API (API Manager) et de diffuser la culture API dans l’entreprise. L’objectif que les API deviennent rentables en étant réutilisées par plusieurs projets ou partenaires doit être conservé.

Le schéma suivant montre les interactions entre l’API Team et les différentes équipes de l’entreprise.

La gouvernance des API ne fonctionne pas en vase clos. Elle doit être connectée à la gestion du changement, à la gestion des actifs, à la gestion des configurations et à la gouvernance de l’architecture orientée services (SOA) existante (avec pour objectif son éventuel remplacement) – afin d’obtenir une architecture complète de gestion des API fonctionnant à la fois pour les utilisateurs, les processus et les systèmes en place dans l’entreprise.