API gateway (passerelle d'API)
Qu'est-ce qu'une API gateway ?
Une API gateway, ou passerelle d'API, est un serveur placé entre les applications clientes et vos services backend. Au lieu qu'une application mobile ou un site appelle dix services directement, tout passe par une seule adresse. La passerelle vérifie qui appelle, applique des limites, route la requête vers le bon service et renvoie la réponse. Elle devient la porte d'entrée de votre couche d'interface de programmation.
Ce modèle s'est généralisé avec les microservices, où un seul écran peut dépendre de nombreux petits services. Sans passerelle, chaque client doit connaître l'adresse de chaque service, gérer chaque mode d'authentification et absorber chaque panne. La passerelle retire ce fardeau au client.
Comment fonctionne une API gateway
Quand une requête arrive, la passerelle lui fait traverser une chaîne d'étapes avant l'exécution du moindre code backend.
- Authentification et autorisation : valider les clés d'API, les jetons JWT ou l'accès OAuth.
- Limitation de débit : plafonner les requêtes par client pour protéger les services des abus.
- Routage : faire correspondre un chemin public à un service interne.
- Transformation : réécrire des en-têtes, fusionner des réponses ou convertir des formats.
- Cache : servir des réponses répétées sans solliciter le backend.
- Journalisation et métriques : enregistrer chaque appel pour la supervision et la facturation.
Une règle de routage simplifiée ressemble à ceci :
GET /api/orders/* → orders-service:8080
GET /api/users/* → users-service:8081
policy: require_jwt, rate_limit=100/min
Fonctions principales et avantages
Une passerelle centralise des préoccupations qui seraient sinon répétées dans chaque service. Les règles de sécurité vivent à un seul endroit, ce qui réduit le risque d'un contrôle oublié. Les clients disposent d'un contrat stable même quand les services derrière lui évoluent. Les équipes peuvent versionner une API, retirer d'anciennes routes et déployer progressivement. L'observabilité progresse, car chaque appel passe par un point unique qui peut mesurer la latence, les erreurs et l'usage.
Les préoccupations transverses prises en charge
La terminaison TLS, les en-têtes CORS, la validation des requêtes, les listes d'IP autorisées et la compression des réponses en sont des exemples typiques. Les traiter en périphérie garde les services eux-mêmes simples.
API gateway, reverse proxy et load balancer
Ces composants se recoupent, ce qui crée de la confusion. Une passerelle comprend l'API, alors que les autres travaillent à un niveau plus bas.
| Composant | Rôle principal | Comprend l'API ? |
|---|---|---|
| API gateway | Authentification, limites, routage, transformation | Oui |
| Reverse proxy | Relayer le trafic, masquer les serveurs, mettre en cache | En partie |
| Load balancer | Répartir le trafic entre des instances | Non |
Quand l'utiliser, et quand s'en passer
Une passerelle devient rentable quand vous exposez plusieurs services, servez plusieurs types de clients, avez besoin d'une sécurité homogène ou vendez l'accès à une API. Elle est souvent inutile pour une petite application avec un seul backend, où elle ajoute de la latence, un coût et un composant de plus à exploiter. N'oubliez pas qu'elle est aussi un point de défaillance unique : elle doit donc tourner en configuration redondante.
- Gardez la logique métier hors de la passerelle.
- Versionnez vos routes dès le premier jour.
- Surveillez la latence ajoutée par chaque politique.
- Documentez le contrat public, par exemple avec OpenAPI.
Les solutions courantes
Des passerelles managées existent chez tous les grands fournisseurs cloud, et des passerelles open source comme Kong tournent sur votre propre infrastructure. Pour des besoins plus légers, une plateforme d'edge comme Cloudflare peut imposer l'authentification et des limites de débit devant n'importe quel backend, et des backends low-code comme Xano exposent des endpoints d'API managés avec contrôle d'accès intégré.
API gateway chez BeBranded
Quand nous concevons des applications web qui reposent sur plusieurs services, nous décidons tôt si une passerelle se justifie, puis nous dessinons le routage, la sécurité et la supervision pour que le produit évolue sans refonte. Découvrez notre service de développement d'applications web.