Pourquoi les outils d’API Management sont-ils devenus indispensables dans les SI des entreprises ?

Pourquoi et comment utiliser une solution d’API Management dans son système d’informations ?
Florian NECASMis à jour le 18 Déc 2020
api management

Le terme d’API Management et les outils qui en découlent ont fleuri ces dernières années dans le paysage des SILe SI désigne le système d'informations d'une organisation. d’entreprises ! Pourquoi et comment ces outils d’API Management se sont-ils implantés au coeur des discussions, jusqu’à devenir indispensables dans les SI des entreprises ?

Nous avons enregistré un podcast sur ce thème, que vous pouvez écouter ici : https://soundcloud.com/axopen/simplifier-la-gestion-des-apis-grace-aux-solutions-dapi-management.

Mais si vous souhaitez en savoir un peu plus, alors prenons un moment pour comprendre les solutions d’APIUne API est un programme permettant à deux applications distinctes de communiquer entre elles et d’échanger des données. Management au travers de cet article.

Une API, c’est quoi ?

Une API (Application Programming Interface) est un ensemble de fonctions qui sert à exposer un ou des services à d’autres logiciels.

L’idée de l’API est plus ancienne que le terme en lui-même. Travailler sur un logiciel modulaire revient, en soit, à développer une API. Le terme a vu le jour pour la première fois en 1968 dans un document intitulé ’Data structures and techniques for remote computer graphics’.

Il existe bon nombre d’APIs qui permettent de récupérer toutes sortes d’informations. En voici quelques exemples :

  • L’API d’OpenWeatherMap qui permet de récupérer des données météo
  • L’API de SWAPI qui permet de récupérer des informations sur Star Wars
  • Une API d’email, pour pouvoir envoyer quelques mails
  • Etc.

Les APIs sont maintenant omniprésentes dans nos applications et, leur volume grandissant, elles nécessitent d’être de mieux en mieux gérées.

Le besoin et la mise en place d’un outil d’API Management dans son SI

Le besoin d’une solution d’API Management

Les applications "utilisatrices", comme par exemple un front Web ou une application mobile, viennent communiquer avec différentes APIs pour récupérer et/ou envoyer des données afin d’alimenter leurs applications.

Côté Web, la mise en place d’une API consiste à exposer, à des utilisateurs internes ou externes, tout ou partie des services proposés par le logiciel.

C’est généralement en faisant communiquer les APIs avec les applications "utilisatrices" que nous concevons un système complet.

Bien qu’au départ on ne se limitait qu’à une poignée d’APIs faciles à gérer, le succès croissant des systèmes modulaires a rendu difficilement administrable la gestion de ces modules.

Si l’on prend par exemple des centaines, voire des milliers d’APIs, cela devient difficile d’identifier :

  • Qui a accès à quoi ?
  • Comment repérer qui accède à tel ou tel service ?
  • Comment monétiser les accès ?

La gestion de ces accès peut très vite devenir complexe et chronophage.

Les APIs Management à la rescousse

Le marché des API Management a grandi rapidement au début des années 2010 et continue d’évoluer à grande vitesse.

Prenons le cas de notre cher Kong. Initialement appelée Mashape, la société Kong Inc. avait pour projet d’agréger différentes fonctions de services et/ou produits tiers. Pendant le développement, l’équipe a décidé de créer un hub pour regrouper les APIs exposées.

L’expansion des services CloudLe Cloud consiste à accéder à des ressources informatiques, à partir d'internet, via un fournisseur. a aussi contribué à développer ces outils qui permettent de gérer plus facilement tous les services auxquels on peut accéder.

À quoi les outils d’API Management nous servent-elles concrètement au quotidien ?

Pour des petits SI, les APIs Gateway peuvent être pratiques pour filtrer, sécuriser, monitorer et logger les accès à l’application.

Avec une dizaine de lignes de code, on se retrouve face à un reverse-proxy efficace, qui filtre selon les critères que vous avez défini :

  • Restriction par IP
  • Authentification Basic ou autre
  • Monitoring avec graphs et logs dans fichiers
  • Et plein d’autres fonctionnalités !

À plus grande échelle, le besoin sera évident et la mise en place d’un tel outil simplifiera grandement le travail du/des Devops.

Comment mettre en place un outil d’API Management dans son système d’informations ?

Prenons l’exemple de l’API Kong. Dès que le besoin est bien défini, il s’agit de se mettre d’accord sur le choix de la base de données.

Nous pouvons, dans notre cas, utiliser Postgresql ou CassandraDB.

  • Postgresql est un bon choix si vous ne souhaitez pas distribuer ou élargir horizontalement votre reverse-proxy.
  • CassandraDB est conseillé dans le cas où l’on préfère privilégier la haute disponibilité.

Dès lors, les étapes sont simples. Il suffit d’installer Kong et sa base de données sur la distribution de son choix (un large choix est disponible : d’un container Docker à Debian) et le tour est joué. Il ne reste plus qu’à administrer ses Routes, Services et Consumers.

Pour aller plus loin, vous pouvez consulter les articles de notre site qui abordent ce sujet :

Et pour ce qui est de la partie technique, restez connectés : nous avons plusieurs articles à venir qui vous expliquerons concrètement comment mettre en place une solution d’API Management au sein de votre SI !