Cinq conseils indispensables pour gérer ses API
La gestion des API est incontestablement essentielle, mais elle nécessite de mettre en place un programme global. Voici les cinq étapes à intégrer dans ce processus.
Dans le sillage des architectures applicatives bâties sur les microservices, la gestion des API est montée en puissance dans les entreprises. Ce processus implique un enchaînement d’actions, et les décisions prises à chacune des étapes ont un effet sur la chaîne de processus.
La gestion des API comporte cinq étapes distinctes : la conception et le développement, l’exposition, la sécurité, l’analyse des performances et, enfin, la gestion du cycle de vie. Les entreprises doivent prendre au sérieux chacune d’entre elles.
Conception et développement des API
La première étape de la conception et du développement d'une API consiste à créer une vue fonctionnelle de l'application. Cette vue doit diviser l'application en composantes logiques, alignées selon le modèle applicatif – si par exemple, l’application repose sur un événement, est transactionnelle ou analytique. Elle doit également définir les API nécessaires, ainsi que le type d'informations qui seront échangées via ces API.
Il est important de commencer la documentation de l'API à cette étape, car elle relie toutes les étapes de la gestion de l'API entre elles. Il convient de trouver des outils adaptés qui ont la capacité de s’intégrer dans les équipes de développement et favoriser la collaboration.
L’exposition
L’étape suivante consiste à examiner les méthodes de publication et l’accès aux API. C'est à cette étape qu'intervient le choix entre un proxy ou une gateway. Tous deux servent d'intermédiaires entre les utilisateurs et l'API pour assurer la sécurité, la conformité et les fonctions de monitoring. C'est peut-être l'étape la plus critique dans le processus de gestion de l'API, car elle influence les étapes suivantes.
Les proxies sont des templates légers qui appliquent les règles d'accès aux API, alors que les gateways sont beaucoup plus sophistiquées. Les politiques de sécurité et de conformité mises en place par les gateways sont beaucoup plus complexes, ont des coûts d'exécution plus élevés et peuvent avoir un effet sur les performances. Si la gateway est préférée, il convient de porter une attention particulière aux tests de performance. Dans le cas d’un proxy, on doit ajouter la sécurité réseau et d'autres mécanismes pour contrôler la visibilité de l'API et ainsi compléter les capacités du proxy. Quel que soit le choix retenu, il faut documenter les actions prises lors de cette étape et expliquer toutes les raisons qui ont motivé la décision.
Sécurité des API
D'autres pratiques permettent d’améliorer la sécurité. L’un d’elle consiste à ne jamais mélanger les fonctions sécurisées et non sécurisées dans la même API. Certains développeurs peuvent vouloir réutiliser d'anciens composants d'API, mais cela présente le risque d’étendre une API, là où la sécurité n’est pas garantie. Il est également important d'utiliser des adresses réseau et des pare-feu qui limitent l'accès aux API. Lorsque les applications internes accèdent aux API, il est préférable de conserver les composants que les API représentent sur un sous-réseau privé.
En général, la gestion de la sécurité des API s’effectue via des jetons qui représentent une permission. La sécurité d'une API dépend de la sécurité des jetons. Cela devrait toujours se présenter sous la forme d'un jeton d'accès et non d'un jeton d'identité. En d'autres termes, le jeton doit rester spécifique à l'API et à l'utilisateur de l'API et ne jamais être une simple identification de l'utilisateur. Les jetons d'identité sont difficiles à maintenir et ils entraînent presque toujours un accès non autorisé.
Utilisation et performances des API
En matière d’usage et d’analyse des performances, les objectifs sont nombreux. Malheureusement, les projets de développement d'API n'aboutissent généralement à aucun d'entre eux. Le contrôle de l'utilisation des API est un excellent moyen de vérifier les politiques de sécurité et de gouvernance. Cette étape contribue à garantir que l'utilisation de l'API est conforme aux outils. De plus, la performance de l'API est un facteur majeur dans la qualité de l'expérience utilisateur.
L’analyse des performances peut également aider à déterminer si un composant doit être mis à l'échelle pour supporter des variations de workloads. Les gateway d’API offrent souvent plus de fonctions de monitoring (usage et performances) que les proxies.
Gestion du cycle de vie des API
La gestion du cycle de vie des API est liée à celle des applications (ALM – Application LifeCycle Management), mais ce n'est pas la même chose. La principale différence tient au fait que les API s'étendent au-delà d'une application et peuvent, en fait, relier de nombreuses applications dans un écosystème coopératif.
Il existe deux façons d'intégrer la gestion du cycle de vie des API dans l'ALM. La première consiste à utiliser la gestion du cycle de vie des API pour identifier comment l'exposition d'une API affecte l'intégration des applications. La seconde est de configurer l’ALM pour qu'il évalue automatiquement tout changement d'API et en détermine l'impact. Dans l'ensemble, la meilleure approche consiste à commencer tout processus de changement d'application par une évaluation de l'impact de l'API. Ensuite, cette analyse d'impact peut être utilisée pour identifier la façon dont les applications – celles qui s’adossent à cette API – changent.
Chouchouter les API
La gestion des API ne se limite pas aux logiciels. Les API sont la colle qui intègre tous les logiciels et définit la façon dont l'information d'entreprise migre à travers les processus métier. Il est important que les concepteurs d'API ne l'oublient jamais et utilisent des pratiques de gestion rigoureuses qui préservent l'intégrité de ces interfaces.