Une passerelle d’API est un outil de gestion des API qui agit comme intermédiaire entre un client d’API (l’application sur l’appareil d’un utilisateur) et les services de back-end (sites sur un serveur). Une passerelle d’API constitue un point d’entrée unique pour les appels d’API.
Une API, ou interface de programmation des applications, est un ensemble de règles et/ou de protocoles qui permettent aux applications logicielles de communiquer entre elles pour échanger des données, des caractéristiques et des fonctionnalités. Une requête de données d’un client à une API est connue sous le nom « appel d’API ».
Une passerelle d’API reçoit un appel d’API (parfois appelé requête d’API), l’achemine vers un ou plusieurs services back-end, rassemble les données demandées et les livre au client dans un paquet unique et combiné. Elle fournit également des analyses, des couches de protection contre les menaces et d’autres éléments de sécurité pour l’application.
Prenons l’exemple de l’application web d’un restaurant. À l’aide d’un appareil portable (ordinateur ou téléphone), un utilisateur peut saisir une demande et accéder facilement au menu, aux photos et aux avis du restaurant, à son service de paiement et à une carte pour vérifier son emplacement, malgré le fait que toutes ces informations sont collectées et transmises par différents microservices ou API de back-end. La demande soumise dans l’application de l’utilisateur est reçue et exécutée par une passerelle d’API.
Les passerelles d’API peuvent être déployées dans le cloud, sur site et dans des environnements hybrides ; elles sont un composant important de la gestion des API et de la sécurité des API. Les passerelles d’API aident les organisations à fournir une expérience cohérente, sécurisée et satisfaisante aux utilisateurs d’API.
La gestion des API est le processus évolutif de création, de publication et de gestion des API au sein d’une entreprise. Les passerelles d’API améliorent et rationalisent les tâches de gestion telles que le routage des requêtes, l’équilibrage des charges et la gestion des erreurs. Elles améliorent également l’observabilité des API en consignant les appels d’API dans des journaux et en permettant l’utilisation d’outils d’analytique intégrés.
La sécurité des API fait référence aux pratiques et aux procédures qui protègent les API contre les abus, les attaques malveillantes et les menaces de cybersécurité . Les passerelles d’API permettent d’appliquer les protocoles de sécurité des API et peuvent être utilisées pour gérer l’authentification, l’autorisation et d’autres contrôles des accès (en confirmant les clés API ou en s’intégrant à des protocoles d’autorisation tels que l’OAuth, par exemple), la limitation du débit (pour se protéger contre les attaques par déni de service distribué) et le chiffrement (conformément aux politiques de sécurité des API d’une organisation).
Les passerelles d’API offrent des fonctions supplémentaires pour améliorer l’efficacité au sein d’une entreprise, ce qui permet d’assurer des performances élevées et une haute disponibilité pour les applications et les services back-end. Par exemple, les passerelles d’API peuvent être utilisées pour la mise en cache, un processus dans lequel les données couramment référencées sont stockées localement et qui permet d’améliorer le temps de réponse et de réduire la charge sur les serveurs. Les passerelles peuvent également compresser les réponses volumineuses dans des fichiers plus petits, ce qui permet de réduire la consommation de bande passante.
Enfin, elles offrent des capacités de limitation du débit, qui fixe une limite à la fréquence à laquelle un client peut envoyer une requête à un service dans un laps de temps donné. Cela favorise la stabilité, empêche la surcharge des serveurs et contribue à garantir que les clients ont un accès égal aux API.
Les passerelles d’API et leurs capacités aident à équilibrer le trafic API et les workloads à mesure que l’organisation évolue. En centralisant ces fonctions, les passerelles d’API contribuent à rationaliser la manière dont une entreprise développe, déploie et gère les API. Les passerelles contribuent à améliorer les performances, l’évolutivité et la disponibilité des applications et des services et permettent aux développeurs de se concentrer davantage sur la logique cœur de métier plutôt que sur l’administration des API.
Les API permettent aux applications de communiquer entre elles et de partager des données à l’intérieur et à l’extérieur de l’environnement informatique d’une entreprise. Les entreprises modernes peuvent disposer de milliers d’API, et une passerelle fournit un point central (une « porte d’entrée ») et une interface standardisée qui permet de gérer et d’acheminer les appels d’API à partir d’un seul emplacement. Une entreprise peut choisir d’utiliser plusieurs passerelles (comme beaucoup le font) pour permettre l’application de différents protocoles et normes de sécurité à différentes API ou à différents utilisateurs, mais les mêmes principes s’appliquent.
Une passerelle d’API reçoit tous les appels dirigés vers les points de terminaison API d’une entreprise, authentifie les appels, les traite en fonction des politiques organisationnelles, les achemine vers les services appropriés, puis agrège et renvoie les résultats au client qui a effectué l’appel. Même si l’appel d’API demande plusieurs services et y accède, le client ne reçoit qu’une réponse avec toutes les données.
Une passerelle d’API fournit une orchestration des workflows : elle agrège les informations demandées à partir de plusieurs microservices, regroupe les données et les renvoie au demandeur sous forme composée.
Une passerelle d’API gère la traduction des données et des protocoles dans les cas où l’appareil client et les microservices utilisent différents formats, langages (par exemple, la requête arrive en JavaScript ou en JSON, mais le microservice utilise le XML) ou protocoles (comme les requêtes HTTP vs. les requêtes gRPC).
Pour les informations couramment demandées, les passerelles d’API peuvent utiliser la mise en cache, qui permet d’accélérer le temps de réponse à la requête. Ces données sont stockées dans un cache séparé afin que la passerelle puisse les renvoyer rapidement sans avoir à acheminer le trafic vers un service supplémentaire.
Les passerelles d’API peuvent surveiller et enregistrer les événements qui ont lieu au sein des API (requêtes, réponse et erreurs). Ces données analytiques peuvent être exploitées pour mieux comprendre le trafic et les performances des API, améliorer le dépannage et renforcer la sécurité.
Les API sont essentielles au flux de données des systèmes modernes, et les passerelles d’API aident à protéger les API et les applications, permettent aux organisations de collecter des données et garantissent les performances des API.
Les passerelles d’API peuvent rendre les processus plus efficaces. Toutes les API d’une organisation peuvent avoir besoin d’effectuer quelques tâches courantes (en plus de leur fonction propre) à chaque fois qu’un appel est effectué vers cette API. Dans un écosystème axé sur les API, où les API sont des éléments constitutifs sur lesquels les logiciels sont construits, ce cas de figure est particulièrement courant.
Par exemple, pour se conformer aux protocoles de sécurité des API, chaque appel d’API peut devoir passer par un processus d’autorisation et de validation. Autre cas : pour garantir une gestion adéquate de la bande passante, le taux d’utilisation et le trafic de chaque API peuvent devoir être surveillés. Si les API sont monétisées, chaque appel peut devoir être acheminé vers un service de facturation. Une passerelle d’API est capable de gérer toutes ces tâches.
Certains appels d’API ont besoin de ressources provenant de différents microservices. Une passerelle d’API répartit les différents appels, achemine les requêtes vers les services back-end appropriés et agrège les ressources demandées en une seule réponse pour le client. En évitant au client de devoir envoyer un appel API distinct pour chaque microservice, cette capacité simplifie le processus et réduit la charge des appels. Les appels aboutissent toujours au même endroit, et la passerelle organise la récupération et le renvoi des ressources.
Cette capacité est particulièrement bénéfique dans un environnement DevOps, où les architectures de microservices sont souvent utilisées pour aider les équipes à accélérer le développement et à fournir en continu de nouvelles applications et de nouveaux services. Les microservices s’appuient sur les API pour communiquer, et des passerelles peuvent être employées pour orchestrer cette communication. Une passerelle d’API peut également permettre de garantir que chaque appel arrive au bon endroit lorsque plusieurs versions d’une application se trouvent sur le même serveur.
Les passerelles d’API sont également utilisées dans les modèles d’informatique sans serveur et d’autres approches du développement cloud natif. Dans un modèle sans serveur, l’infrastructure et les autres services back-end sont exécutés à la demande et activés à l’aide des API. Les passerelles peuvent être utilisées pour gérer cette fonction.
Les environnements informatiques modernes sont construits autour du principe d’intégration, dont le succès repose en grande partie sur les API. Plus un environnement d’API est complexe et plus le trafic reçu par les API est important, plus une passerelle d’API peut apporter de la valeur.
Une architecture de microservices est une approche du développement logiciel dans laquelle les applications sont composées de parties plus petites qui fonctionnent de façon indépendante. Ces fonctions distinctes peuvent être déployées de manière autonome et communiquer par l’intermédiaire des API. Les microservices sont conçus pour répondre à un objectif unique, et ont pour vocation d’être regroupés pour former les éléments constitutifs de programmes plus importants.
Le routage des appels des clients de l’API vers ces microservices individuels est possible, mais il n’est pas très efficace et nécessiterait un appel distinct pour chaque ressource. Une passerelle d’API permet à une organisation de renvoyer les ressources demandées avec un seul appel d’API.
Le processus est le suivant : la passerelle reçoit l’appel d’API qui nécessite une communication avec plusieurs microservices. Elle décompose la requête, achemine chaque segment vers les ressources appropriées et agrège les ressources en une seule réponse pour le client de l’API. Lorsqu’une organisation augmente le nombre d’API et de microservices utilisés dans les fonctions métier, une passerelle d’API permet de réduire le volume des appels et la complexité du routage en agissant comme un point d’entrée unique standardisé.
Imaginons qu’un client souhaite extraire des informations concernant des produits à partir d’une boutique en ligne construite en architecture de microservices. Les informations dont le client a besoin sont réparties dans plusieurs services différents : un service qui contient des informations basiques sur les produits, un service pour la tarification, un service pour les stocks, etc.
La passerelle d’API reçoit la demande d’informations sur les produits, l’achemine pour extraire les données de chaque service requis, puis les compile et les renvoie au client sous la forme d’une réponse complète.
Kubernetes est considéré comme la norme du secteur pour le déploiement et la gestion de microservices conteneurisés. Les passerelles d’API peuvent interagir avec un cluster Kubernetes conteneurisé de plusieurs manières.
Lorsqu’elle est déployée devant plus d’un cluster Kubernetes, une passerelle d’API peut servir d’équilibreur de charge (elle dirige dans ce cas le trafic vers le cluster approprié afin qu’aucune instance ne soit en situation de surcharge). Lorsqu’elle est déployée à la périphérie d’un cluster Kubernetes unique, une passerelle d’API peut servir de contrôleur d’entrée. Les contrôleurs d’entrée dirigent le trafic vers un cluster Kubernetes, vers les services demandés, puis le trafic revient vers l’entrée. Lorsqu’elle est déployée au sein d’un cluster Kubernetes, une passerelle d’API peut agir comme un maillage de services. Un maillage de services gère le trafic qui circule entre les services Kubernetes, offre un équilibrage de charge et une découverte de services. Il est couramment utilisé pour le chiffrement de bout en bout.
En plus de permettre aux organisations d’acheminer et d’équilibrer plus efficacement le trafic des API, les passerelles d’API renforcent la gestion des API en les aidant à :
Les passerelles d’API peuvent aider à optimiser le routage du trafic et l’équilibrage de charge entre les services back-end en gérant les appels d’API via un point d’entrée centralisé. Ces mesures contribuent à maintenir une faible latence. Les passerelles d’API utilisent diverses méthodes de gestion du trafic des API, qui utilisent la bande passante plus efficacement et améliorent l’expérience utilisateur.
L’une de ces méthodes est la limitation du débit. Les politiques de limitation du débit spécifient le nombre de requêtes (un quota de requêtes) qu’un client particulier peut envoyer à une API au cours d’une période donnée. Cela permet de garantir que les utilisateurs ont un accès égal aux API, mais aussi de protéger les services back-end contre toute surcharge de requêtes.
Le « throttling » de requêtes est un type de limitation qui régule le nombre de requêtes capables d’atteindre un serveur. Il permet d’éviter les pics d’activité et aide l’organisation à maintenir les performances et la stabilité.
Les passerelles d’API peuvent également effectuer un équilibrage dynamique des charges en surveillant en permanence le trafic vers les services back-end. Une passerelle d’API peut déterminer l’état de santé d’un serveur en fonction d’indicateurs en temps réel et ajuster la manière dont elle achemine les appels vers les services back-end.
Les API sont vulnérables aux attaques de cybersécurité, en particulier les attaques par déni de service distribué (DDoS). Les attaques DDoS surchargent les serveurs de requêtes et de trafic malveillant et provoquent ainsi une interruption des services. Une passerelle d’API prend en charge la limitation du débit et d’autres techniques pour contrecarrer les attaques DDoS.
Les passerelles d’API peuvent également contribuer à sécuriser les API en surveillant leur utilisation et en fournissant des journaux de trafic. Certaines passerelles d’API fournissent également des rapports et des analyses sur les requêtes envoyées à toutes les API de l’infrastructure d’une organisation, ce qui permet à cette dernière d’identifier le trafic suspect avant qu’une attaque ne se produise.
Les passerelles d’API aident non seulement à gérer le trafic et à fournir une connexion sécurisée aux API, mais peuvent également être configurées pour authentifier les utilisateurs et autoriser les requêtes, ce qui réduit la vulnérabilité des API dans une entreprise. Par exemple, les passerelles d’API sont utilisées pour vérifier les clés d’API avant d’accorder l’accès aux ressources lorsque des appels sont reçus d’un client. Pour plus de sécurité, les passerelles d’API peuvent être utilisées conjointement avec des outils tels que les pare-feu d’applications web (WAF), qui surveillent, filtrent et bloquent le trafic HTTP malveillant.
Les passerelles d’API centralisent le flux des appels d’API et améliorent ainsi la visibilité des services et leur capacité à être découverts. Elles permettent également aux API qui utilisent différents protocoles et formats de données de communiquer entre elles.
De nombreuses API web utilisent un style d’architecture appelé REST (« Representational State Transfer », utilisé dans les API REST), mais d’autres protocoles, tels que le SOAP (« Simple Object Access Protocol ») ou les API WebSocket, sont également utilisés. Qu’il s’agisse d’appels au sein d’une entreprise ou d’appels externes dirigés vers les API internes d’une entreprise, il est courant d’avoir des API avec différents protocoles et formats de données, qui doivent communiquer entre elles et demander des ressources auprès des mêmes services back-end.
La conversion manuelle de chaque requête prendrait un temps astronomique, et les passerelles d’API aident à éliminer ce problème en effectuant la traduction des données et du protocole, c’est-à-dire en traduisant automatiquement les requêtes et les réponses dans le format approprié.
Les passerelles d’API permettent également aux développeurs d’itérer et de déployer plus facilement les API, car elles peuvent gérer plusieurs versions d’une API en même temps. Les développeurs peuvent ensuite tester plusieurs versions d’une même API avant le déploiement ou conserver une instance de l’ancienne version d’une API pour des cas d’utilisation spécifiques.
Si les passerelles d’API peuvent aider à résoudre des problèmes de routage complexes, l’ajout d’un nouveau logiciel de gestion dans une organisation peut également poser de nouveaux défis. Quelques exemples de défis courants :
Bien que les passerelles d’API puissent aider à organiser l’infrastructure des API et à réduire la latence, si elles reçoivent plus de requêtes que ce qui est prévu dans leur configuration et qu’elles ne disposent pas de ressources suffisantes pour gérer le trafic, elles risquent paradoxalement d’augmenter la latence.
Les organisations doivent s’assurer que les passerelles d’API sont provisionnées et configurées de façon adéquate pour l’environnement API et les besoins de trafic de l’entreprise. Au fur et à mesure qu’une entreprise augmente le nombre d’API et de services qui sont utilisés à tout moment, les ressources doivent être dimensionnées et provisionnées en conséquence pour éviter aux utilisateurs de subir des interruptions de service.
Un point d’entrée unique implique également que ce point d’entrée peut devenir un point de défaillance. La centralisation des API présente un grand nombre d’avantages, mais l’inconvénient est que la passerelle elle-même devient un vecteur potentiel pour une attaque ou une infiltration. Les problèmes de passerelle peuvent avoir des effets sur tous les aspects des entreprises qui reposent sur l’accès aux API et les services de back-end.
Une fois qu’une organisation a choisi la passerelle d’API qui répond à ses besoins et a créé son environnement API autour de cet passerelle d’API, il peut être à la fois coûteux et chronophage de changer de fournisseur.
De plus, bien que les passerelles puissent rendre l’utilisation des API plus rentable, elles ont également besoin d’une surveillance et d’une gestion, ce qui coûte du temps et de l’argent. Dans certains cas, une organisation peut choisir d’autohéberger une passerelle open source plutôt que d’utiliser un service géré, le but étant d’avoir un contrôle plus précis sur ses différentes options. Si une organisation choisit une option autohébergée, celle-ci s’ajoutera aux frais généraux globaux de l’équipe de développement.
Testez IBM API Connect grâce à un essai gratuit ou contactez nos experts pour discuter de vos besoins. Que vous soyez prêt à optimiser votre gestion des API ou que vous souhaitiez en savoir plus, nous sommes là pour vous accompagner dans votre transformation numérique.
Découvrez tout le potentiel de vos processus d’intégration avec des solutions alimentées par l’IA. Prenez rendez-vous avec nos experts ou explorez notre documentation produit pour vous lancer.
Dynamisez votre activité avec les solutions de messagerie sécurisées et performantes IBM MQ. Commencez votre essai gratuit ou contactez nos experts pour découvrir comment IBM MQ peut transformer vos opérations.
Transférez des fichiers plus rapidement et en toute sécurité, quelle que soit leur taille ou la distance du transfert. Essayez IBM Aspera dès aujourd’hui et rationalisez vos workflows de données avec une efficacité à grande vitesse.
Intégrez vos applications et automatisez le travail avec la plateforme multicloud hybride IBM WebMethods.
Libérez le potentiel de votre entreprise avec les solutions d’intégration IBM qui connectent les applications et les systèmes pour fournir un accès rapide et sécurisé aux données critiques.
Déverrouillez de nouvelles fonctionnalités et stimulez l’agilité de votre entreprise grâce aux services de conseil d’IBM Cloud. Découvrez comment co-créer des solutions, accélérer la transformation numérique et optimiser les performances grâce à des stratégies de cloud hybride et à des partenariats d’experts.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io