Passerelle API
Une passerelle d’API reçoit les requêtes API d’un client, les traite selon des politiques définies, les achemine vers les services appropriés et regroupe les réponses afin de simplifier l’expérience utilisateur. En règle générale, elle traite une requête en faisant appel à plusieurs microservices et en agrégeant les résultats. Elle peut également assurer la conversion entre différents protocoles dans les déploiements de systèmes existants.
Qu’est-ce qu’une passerelle API ?
Une passerelle d’API reçoit les requêtes API d’un client, les traite selon des politiques définies, les achemine vers les services appropriés et combine les réponses afin de simplifier l’expérience utilisateur. En règle générale, elle traite une requête en faisant appel à plusieurs microservices et en agrégeant les résultats. Elle peut également assurer la conversion entre différents protocoles dans les déploiements de systèmes existants.
Fonctionnalités de la passerelle API
Les passerelles API mettent généralement en œuvre des fonctionnalités telles que :
- Politique de sécurité – Authentification, autorisation, contrôle d’accès et chiffrement
- Politique de routage – Routage, limitation du débit, manipulation des requêtes/réponses, disjoncteur, déploiements bleu-vert et Canary, tests A/B, équilibrage de charge, contrôles d’intégrité et gestion personnalisée des erreurs
- Politique d’observabilité – Métriques en temps réel et historiques, journalisation et traçage
Pour renforcer la sécurité au niveau des applications et des API, les passerelles API peuvent être complétées par un pare-feu d’applications web (WAF) et une protection contre les attaques par déni de service (DoS).
Avantages d’une passerelle API
Le déploiement d’une passerelle API pour la mise à disposition d’applications peut contribuer à :
- Réduire la complexité et accélérer les mises en production des applications en masquant l’architecture interne de l’application et en fournissant des API adaptées à chaque type de client
- Rationalisez et simplifiez le traitement des requêtes et l’application des politiques en centralisant le point de contrôle et en transférant les exigences non fonctionnelles vers la couche d’infrastructure
- Simplifiez le dépannage grâce à des métriques et des tableaux de bord détaillés, en temps réel et historiques
Architecture de passerelle API et de microservices
Pour les applications basées sur des microservices, une passerelle API constitue un point d’entrée unique dans le système. Placée devant les microservices, elle simplifie à la fois les implémentations clientes et l’application de microservices en dissociant la complexité de l’application de ses clients.
Dans une architecture de microservices, la passerelle API est chargée du routage et de la composition des requêtes, ainsi que de l’application des politiques. Elle traite certaines requêtes en les acheminant simplement vers le service backend approprié, et d’autres en faisant appel à plusieurs services backend et en agrégeant les résultats.
Une passerelle API peut fournir d’autres fonctionnalités aux microservices, telles que l’authentification, l’autorisation, la supervision, l’équilibrage de charge et la gestion des réponses. Elle permet ainsi de déléguer la mise en œuvre des exigences non fonctionnelles à la couche d’infrastructure et aide les développeurs à se concentrer sur la logique métier principale, accélérant ainsi la publication des applications.
Pour en savoir plus sur la création de microservices à l’aide d’une passerelle API consultez notre blog.
Passerelle API pour Kubernetes
Les conteneurs constituent le moyen le plus efficace d’exécuter des microservices, et Kubernetes est la norme de facto pour déployer et gérer des applications et des charges de travail conteneurisées.
Selon l’architecture du système et les exigences de déploiement des applications, une passerelle API peut être déployée devant le cluster Kubernetes en tant qu’équilibreur de charge (niveau multicluster), à sa périphérie en tant que contrôleur Ingress (niveau cluster) ou en son sein en tant que maillage de services (niveau service).
Pour les déploiements de passerelles d’API en périphérie et au sein du cluster Kubernetes, il est recommandé d’utiliser un outil natif de Kubernetes comme passerelle d’API. Ces outils sont étroitement intégrés à l’API Kubernetes, prennent en charge YAML et peuvent être configurés à l’aide de l’interface de ligne de commande standard de Kubernetes. Parmi eux figurent NGINX Ingress Controller et NGINX Service Mesh.
Pour en savoir plus sur les passerelles d’API et Kubernetes, consultez l’article « Passerelle d’API, contrôleur Ingress ou maillage de services : quelles différences ? » sur notre blog.
Passerelle API et passerelle d’entrée ou contrôleur d’entrée
Les passerelles Ingress et les contrôleurs Ingress sont des outils qui implémentent l’objet Ingress, qui fait partie de l’API Ingress de Kubernetes, afin d’exposer les applications exécutées dans Kubernetes à des clients externes. Ils gèrent les communications entre les utilisateurs et les applications (connectivité utilisateur-service ou nord-sud). Toutefois, les capacités de l’objet Ingress sont à elles seules très limitées. Par exemple, il ne permet pas de définir les politiques de sécurité qui lui sont associées. Par conséquent, de nombreux fournisseurs créent des définitions de ressources personnalisées (CRD) afin d’étendre les capacités de leur contrôleur Ingress et de répondre à l’évolution des besoins et des exigences des clients, notamment en permettant d’utiliser le contrôleur Ingress comme passerelle API.
Par exemple, NGINX Ingress Controller peut être utilisé comme une passerelle d’API complète à la périphérie d’un cluster Kubernetes grâce à ses ressources personnalisées VirtualServer et VirtualServerRoute, TransportServer et Policy.
Une passerelle d’API n’est pas la même chose que Gateway API
Malgré la similitude de leurs noms, une passerelle d’API n’est pas la même chose que la Kubernetes Gateway API. La Gateway API de Kubernetes est un projet open source géré par la communauté Kubernetes, qui vise à améliorer et à standardiser la mise en réseau des services dans Kubernetes. La spécification Gateway API est issue de la Kubernetes Ingress API afin de résoudre différents problèmes liés au déploiement de ressources Ingress pour exposer des applications Kubernetes en production, notamment en permettant de définir des politiques précises de traitement des requêtes et de déléguer le contrôle de la configuration entre plusieurs équipes et rôles.
Les outils basés sur la spécification Gateway API, tels que NGINX Kubernetes Gateway, peuvent servir de passerelles API pour différents cas d’usage, notamment l’acheminement des requêtes vers des microservices spécifiques, la mise en œuvre de politiques de trafic et le déploiement de versions Canary et bleu-vert.
Regardez cette courte vidéo dans laquelle Jenn Gile de NGINX explique la différence entre une passerelle d’API et l’API Gateway de Kubernetes.
Maillage de services vs passerelle API
Un maillage de services est une couche d’infrastructure qui contrôle les communications entre les services d’un cluster Kubernetes (connectivité de service à service ou est-ouest). Le maillage de services fournit des fonctionnalités essentielles aux services exécutés dans Kubernetes, notamment l’équilibrage de charge, l’authentification, l’autorisation, le contrôle d’accès, le chiffrement, l’observabilité et des modèles avancés de gestion de la connectivité (disjoncteur, tests A/B, déploiements bleu-vert et déploiements canari), afin de garantir des communications rapides, fiables et sécurisées.
Déployé au plus près des applications et des services, un maillage de services peut faire office de passerelle d’API distribuée, à la fois légère et complète, pour les communications de service à service dans Kubernetes.
Pour en savoir plus sur le maillage de services, consultez l’article « Comment choisir un maillage de services » sur notre blog.
Passerelle API et gestion des API
Les termes passerelle d’API et gestion des API sont souvent utilisés – à tort – pour désigner la même fonctionnalité.
Une passerelle d’API est un point d’entrée du plan de données pour les appels d’API correspondant aux requêtes des clients adressées aux applications et services cibles. Elle traite généralement les requêtes selon des politiques définies, notamment en matière d’authentification, d’autorisation, de contrôle d’accès, de déchargement SSL/TLS, de routage et d’équilibrage de charge.
La gestion des API est le processus qui consiste à déployer, documenter, exploiter et surveiller des API individuelles. Elle s’effectue généralement à l’aide d’un logiciel de plan de gestion (par exemple, un gestionnaire d’API) qui définit et applique des politiques aux passerelles d’API et aux portails pour développeurs.
Selon les exigences métier et fonctionnelles, une passerelle d’API peut être déployée en tant que composant autonome dans le plan de données ou dans le cadre d’une solution intégrée de gestion des API, telle que F5 NGINX Management Suite API Connectivity Manager.
Critères à prendre en compte pour choisir une passerelle API
Plusieurs facteurs clés doivent être pris en compte lors de la définition des exigences relatives à votre passerelle API :
- Architecture – L’endroit où vous déployez la passerelle API peut influencer votre choix d’outils, tout comme la décision d’utiliser les options intégrées de votre fournisseur de services cloud. Avez-vous besoin de la flexibilité d’une passerelle API indépendante de la plateforme et de l’environnement d’exécution ?
- Performances – Les performances sont essentielles pour les sites web et les applications à fort trafic. Votre passerelle API offre-t-elle le débit élevé et la faible latence dont vous avez besoin ?
- Évolutivité – Votre passerelle d’API doit pouvoir évoluer facilement pour répondre à l’augmentation du trafic. Prend-elle en charge la mise à l’échelle verticale (débit élevé) et horizontale (haute disponibilité) afin de garantir que vos API restent toujours rapides et disponibles ?
- Sécurité – Les passerelles API constituent un élément important d’une architecture Zero Trust. Votre passerelle API propose-t-elle un contrôle d’accès (AuthN/AuthZ), le protocole mTLS et d’autres fonctionnalités de sécurité avancées, telles qu’un WAF intégré et la validation des schémas OpenAPI pour une sécurité positive ?
- Coût – Évaluez le coût total de possession (TCO) de la passerelle API. Quels sont les coûts et les compromis liés au développement et à la maintenance d’une solution personnalisée par rapport à l’achat d’une passerelle API de niveau entreprise ?
Comment NGINX peut vous aider
NGINX propose plusieurs options pour déployer et exploiter une passerelle d’API en fonction de vos cas d’usage et de vos modèles de déploiement.
Outils natifs de Kubernetes :
- NGINX Ingress Controller – Gère la connectivité des applications à la périphérie d’un cluster Kubernetes grâce à des fonctionnalités de passerelle API, de gestion des identités et d’observabilité
- NGINX Service Mesh – Solution conviviale pour les développeurs, dédiée à la connectivité entre services, à la sécurité, à l’orchestration et à l’observabilité
Commencez par demander votre essai gratuit de 30 jours de NGINX Ingress Controller avec NGINX App Protect WAF et DoS, puis téléchargez NGINX Service Mesh, qui est toujours gratuit.
Outils universels :
- NGINX Plus comme passerelle d’API – Une passerelle d’API légère et hautement performante, pouvant être déployée dans le cloud, sur site et dans des environnements en périphérie
- F5 NGINX Management Suite API Connectivity Manager – Déployez et exploitez des passerelles API à l’aide d’outils conviviaux pour les développeurs, dédiés à la gestion, à la gouvernance et à la sécurité des API
Pour en savoir plus sur l’utilisation de NGINX Plus comme passerelle d’API, demandez votre essai gratuit de 30 jours et consultez l’article Déployer NGINX comme passerelle d’API sur notre blog. Pour essayer NGINX Management Suite, demandez votre essai gratuit de 30 jours.

