En termes généraux, une API (Application Programming Interface) est un module de code qui exécute une tâche spécifique et définit un ensemble de protocoles qui peuvent être utilisés par d'autres pour effectuer cette tâche. Dans le monde d'aujourd'hui, cependant, les API sont devenues plus que de simples outils : il existe désormais une économie vaste et croissante pour le code qui peut être facilement intégré à une application pour effectuer une tâche discrète. Une stratégie de gestion d'API efficace améliore l'expérience des développeurs, élève la qualité des logiciels, réduit les dépenses de développement, permet l'évolutivité du système et renforce les mesures de sécurité.
Si votre organisation gère une API et envisage de la rendre accessible au public, que ce soit dans le cadre d'une stratégie de monétisation ou de notoriété de la marque, il est essentiel de garantir que l'API est bien gérée. Les utilisateurs extérieurs à votre organisation s'attendent à une bonne expérience et vous devez être prêt à offrir cette expérience via votre API.
C’est là qu’entre en jeu une solide stratégie de gestion des API . L'élaboration d'un plan stratégique de gestion des API efficace comporte trois éléments principaux : identifier les domaines d'une gestion efficace des API, décider si vous avez besoin d'un outil de gestion des API et quel type d'outil vous devez utiliser, et sélectionner cet outil.
Une gestion efficace des API implique de superviser tous les aspects de l’API que votre entreprise ou les utilisateurs externes utiliseront. Cela inclut les performances, la sécurité, l’autorisation, la documentation, l’analyse et l’accessibilité.
Passerelle/Accès Une passerelle API est la couche entre le public et vos services backend. C'est ici que les requêtes entrantes seront interceptées et acheminées vers les parties appropriées de votre API. Vous devez utiliser la mise en cache, la limitation et la limitation du débit, ainsi que le regroupement des réponses pour garantir la rapidité et la cohérence de vos utilisateurs.
Objectifs de performance La disponibilité, la vitesse et la fiabilité sont des aspects cruciaux de toute API publique. Vous devez être en mesure de garantir un certain temps de disponibilité à vos utilisateurs et d'être capable de protéger et de récupérer les données des utilisateurs en cas de panne ou de temps d'arrêt. Identifiez les objectifs de votre API.
Types de sécurité/autorisation La sécurité est importante non seulement pour protéger votre serveur, mais également pour protéger les données sensibles des clients. Votre stratégie API doit inclure une stratégie sécurisée par une clé API, un certificat client ou une stratégie OAuth. Même si votre API fournit des données qui ne sont pas privées, les requêtes réseau qu'elle traite doivent toujours être sécurisées.
Authentification/gestion des politiques Après l'autorisation, l'authentification et la gestion des politiques sont importantes pour établir les rôles des utilisateurs et l'accès des équipes, ainsi que pour gérer les identités et les privilèges. Cela améliore la sécurité en limitant les ressources disponibles pour quels utilisateurs et améliore l'organisation de vos utilisateurs.
Portail développeur / Documentation Un portail développeur intuitif et une bonne documentation sont également essentiels à une bonne gestion des API. Votre portail de développeur doit inclure un bac à sable où les développeurs peuvent tester vos points de terminaison, un catalogue d'API décrivant toutes les API disponibles au sein de votre organisation et une documentation claire et consultable avec des guides pour démarrer et effectuer les tâches courantes.
Analyses Vos analyses vous donneront des informations précieuses sur la manière dont les gens utilisent votre API, ce qui vous permettra de concentrer vos ressources sur les domaines qui seront les plus rentables. De plus, les analyses sont souvent utiles pour vos utilisateurs.
Les solutions de gestion d'API peuvent gérer une ou plusieurs de ces tâches à votre place. Les solutions sont fournies via des proxys, des agents ou des approches hybrides.
Proxies Une solution proxy se situe entre l'API et ses utilisateurs. Les proxys offrent des avantages tels que la mise en cache pour optimiser les performances et protéger l'API des augmentations soudaines de trafic. Cependant, un proxy pourrait potentiellement entraîner des coûts et des problèmes liés à la confidentialité et à la latence. Des exemples de telles implémentations de proxy incluent Apigee, Mashape et Mashery.
Agents Les agents sont des plugins qui fonctionnent de manière transparente aux côtés de votre serveur. Contrairement aux proxys, ils n'interfèrent pas avec les appels API. Par conséquent, ils n’introduisent pas de retards réseau ni de dépendances externes. Cependant, la mise en œuvre de fonctionnalités telles que la mise en cache peut s’avérer difficile. Un exemple de ce type de mise en œuvre est 3scale.
Hybride Pour bénéficier des deux implémentations, vous pouvez utiliser en combinaison un agent et un proxy. Par exemple, vous pouvez opter pour un proxy pour gérer la mise en cache tout en utilisant un agent à des fins d'authentification. Des entreprises telles qu'Apigee et 3scale évoluent vers des solutions hybrides.
Certains des meilleurs outils de gestion d'API sont les suivants :
Déterminer quelle solution vous convient nécessitera une évaluation de votre budget, des ressources existantes (c'est-à-dire les personnes dont vous disposez en interne pour travailler là-dessus), de vos besoins et de l'échelle prévue de votre API.
Puis-je gérer mes API en interne ou dois-je faire appel à une aide externe ?
Cela dépend entièrement de vous. Si vous disposez d'une organisation suffisamment grande pour consacrer une équipe à la gestion des API, vous pourrez peut-être la gérer vous-même. Mais la gestion des API est une tâche complexe et spécialisée et ne doit pas simplement être confiée à des ingénieurs déjà surchargés de travail dans d’autres domaines de votre entreprise.