BLOG | NGINX

Bonnes pratiques pour la gestion des API internes

NGINX-Partie-de-F5-horiz-black-type-RGB
Vignette de Karthik Krishnaswamy
Karthik Krishnaswamy
Publié le 2 septembre 2020

Certaines API destinées aux consommateurs sont si répandues qu’elles sont devenues des noms familiers (pensez à Google Maps et Stripe), mais les API internes sont le véritable moteur de l’économie des API.

Les API internes – par lesquelles nous entendons les API exposées uniquement aux clients et aux développeurs au sein d'une organisation – sont un pilier essentiel des efforts de transformation numérique d'une entreprise. La création d’API internes constitue généralement la première étape du développement de produits et services numériques. En fait, selon la récente enquête d'IDC, APIs – The Determining Agents Between Success or Failure of Digital Business , la prise en charge de l'intégration interne des applications et des produits est l'une des principales priorités des initiatives de développement d'API dans les entreprises.

Pourquoi les API internes sont-elles importantes ? Quels sont les avantages des API internes ? Et surtout, quelle est l’architecture la plus optimale pour les gérer ? Ce blog répond à ces questions pour vous aider à fournir des API internes de manière sécurisée et à grande échelle.

Pourquoi les API internes sont-elles importantes ?

Les API internes déverrouillent les silos de données et construisent des ponts en ouvrant les systèmes back-end disparates d'une organisation à l'utilisation par d'autres développeurs au sein d'un secteur d'activité (LOB). Par exemple, l’organisation marketing d’un fabricant peut avoir besoin de visibilité sur les systèmes utilisés par l’organisation de la chaîne d’approvisionnement pour déterminer s’il faut accorder des remises sur certains produits et modèles afin de cibler le bon segment de marché et de maximiser les revenus.

Comment les API internes éliminent-elles les silos ? Ils fournissent une interface commune qui prend en charge l'échange de données à l'aide de formats standard tels que HTML ou JSON. Il est facile et rapide non seulement de créer une API, mais également d’en utiliser une. Comparez cela avec l’utilisation de connecteurs de bases de données propriétaires et de protocoles d’échange de données obscurs pour récupérer des informations à partir de référentiels de données. En réduisant les frictions, les API améliorent considérablement la productivité. Ces API ne sont pas exposées aux développeurs externes et aux tiers. Le trafic API interne se fait au sein de l’organisation, donc au sein du pare-feu de l’entreprise.

Avantages des API internes

Les API internes accélèrent la mise sur le marché et réduisent le temps et le coût du développement logiciel. Passons en revue les avantages en détail.

Efficacité opérationnelle

Les API internes fournissent une couche d’abstraction facilement utilisable pour connecter différentes parties d’une entreprise et offrent la flexibilité nécessaire pour s’adapter aux exigences changeantes. Plutôt que de créer une pile technologique cloisonnée pour les applications de chaque secteur d’activité, les développeurs de toute l’organisation peuvent s’appuyer sur un pool commun d’API internes pour accéder aux données. Cela élimine les doublons et réduit le temps de développement du logiciel, améliorant ainsi la productivité des développeurs et de l’informatique.

Développement d'un système d'enregistrement

Les API internes favorisent le développement d’un système d’enregistrement qui sert de source faisant autorité pour les éléments de données clés d’une organisation. Pour garantir l’intégrité des données, il doit exister un seul et unique système d’enregistrement pour une information donnée. Si chaque LOB possède ses propres données ou même une version légèrement différente, cela entraîne des divergences et des confusions. Les API internes sont un mécanisme efficace pour accéder à cette source unique de vérité.

Économies de coûts

L’efficacité se traduit par des économies de coûts – il n’est pas nécessaire de créer des plateformes propriétaires avec de lourdes personnalisations au sein de chaque secteur d’activité. Il n’est pas non plus nécessaire de construire ou d’acheter des connecteurs et des intégrations coûteux qui sont essentiellement des outils ponctuels.

À titre d’exemple, le gouvernement fédéral estonien exploite X-Road, une plateforme d’échange de données qui relie toutes les agences gouvernementales de manière transparente. Les citoyens estoniens n'ont même pas besoin d'avoir leur permis de conduire sur eux, car ces informations peuvent être rapidement récupérées à partir du registre de la population et du registre des véhicules, même si les deux référentiels de données sont distincts. Ce rapport de la Banque mondiale estime de manière prudente qu’en facilitant l’accès à l’information, X-Road a permis au gouvernement et aux citoyens estoniens d’économiser 2,8 millions d’heures-personnes en une seule année (2014).

Lignes directrices pour la gestion des API internes

Passons en revue quelques bonnes pratiques pour la gestion des API internes.

Utiliser un outil de gestion d'API

Pour définir, publier, sécuriser, surveiller et analyser efficacement les API internes et externes, vous avez besoin d'une solution de gestion des API . Un portail de développement permettant aux développeurs internes de se renseigner rapidement sur les API publiées est également nécessaire.

Assurer des performances élevées

Les microservices sont une nouvelle approche architecturale du développement logiciel qui gagne du terrain. De nombreuses entreprises réorganisent leurs applications internes existantes ou en créent de nouvelles en utilisant ce framework. Dans les architectures de microservices, les API sont le moyen de communication entre les clients et l’application basée sur les microservices et entre les microservices qui composent l’application. Lorsqu'un client API demande des ressources à une application back-end, une passerelle API achemine le trafic vers le microservice approprié. La passerelle API authentifie également les appels et applique des limites de débit pour empêcher les attaques qui pourraient survenir si des acteurs externes parviennent à franchir le pare-feu de l'entreprise.

Les microservices sont « plus bavards » que les applications monolithiques, avec des volumes élevés de trafic « est-ouest » entre les microservices. Il est donc très important de choisir une passerelle hautes performances capable de traiter à haut débit (requêtes par seconde) et de fournir des réponses très rapidement. Les demandes des clients génèrent souvent plusieurs appels d'API vers différents microservices. Ainsi, un retard au niveau de la passerelle API pour un seul appel peut potentiellement avoir un effet en cascade et entraîner des latences très élevées.

Ne pas acheminer les appels via un cloud en dehors du réseau de l’entreprise

Bien qu’il existe des solutions cloud de première génération qui offrent une gestion complète du cycle de vie des API, elles ne sont pas adaptées à la gestion des API internes. Étant donné que leurs architectures couplent étroitement le plan de données (la passerelle API qui traite le trafic API) et le plan de contrôle (qui exécute les fonctions de gestion des API), lors de l’exécution, chaque appel d’API interne doit être acheminé via le cloud de la solution de gestion des API. Cela présente deux inconvénients :

  • Ajoute de la latence – Le passage au cloud pour traiter un appel d’API interne est sinueux et nuit inévitablement aux performances.
  • Viole la politique de confiance zéro de l’entreprise – Étant donné que l’appel d’API interne doit être acheminé vers le cloud, il nécessite de percer des trous dans le pare-feu. Cela expose le réseau de l’entreprise aux attaques et aux violations et introduit une complexité inutile.

Pour des raisons de sécurité, le trafic API interne doit rester derrière le pare-feu de l'entreprise, ce qui empêche le routage des appels vers un cloud externe. Cela est vrai même pour les entreprises qui hébergent des applications et des API dans leurs propres environnements de cloud privé.

Comment NGINX peut-il vous aider ?

NGINX vous aide à gérer vos API internes de plusieurs manières.

  • NGINX est connu pour ses performances. Selon GigaOm, un analyste de recherche technologique indépendant, NGINX peut traiter les appels API de bout en bout en moins de 30 ms, même à des taux de plus de 30 000 requêtes par seconde. Apprenez-en davantage sur les résultats de l'analyse comparative sur notre blog . Nous avons publié une architecture de référence avec des directives détaillées pour la fourniture d’API en temps réel.
  • NGINX et NGINX Plus sont conçus pour les conteneurs, l'infrastructure de choix pour le développement de microservices. Avec une empreinte d'environ 2 Mo , NGINX et NGINX Plus fonctionnent sur des serveurs Linux pris en charge (bare metal, cloud ou virtuel) ou directement dans des conteneurs Docker orchestrés par Kubernetes et d'autres plateformes.
  • L'architecture innovante de la solution de gestion des API NGINX est conçue pour l'évolutivité. NGINX prend en charge la gestion des API distribuées en découplant la passerelle API (NGINX Plus) du logiciel de gestion des API (NGINX Controller [maintenant F5 NGINX Management Suite] ). Il n'y a aucune dépendance d'exécution entre les deux, ce qui garantit que le trafic API est traité sans surcharge inutile telle que des scripts supplémentaires, des appels de base de données ou une autre logique de plan de contrôle.

    L'architecture découplée vous offre une flexibilité maximale dans le lieu de déploiement de Controller [NGINX Management Suite] et des passerelles API NGINX Plus : vous pouvez les déployer sur site, dans le cloud public ou même sur plusieurs clouds publics si votre réseau d'entreprise s'étend jusqu'au cloud. Les appels API internes n'ont pas besoin d'être acheminés via un cloud en dehors du réseau d'entreprise, car les passerelles API NGINX Plus qui gèrent le trafic API peuvent être déployées indépendamment derrière le pare-feu de l'entreprise.

Avez-vous des API internes ? Ou envisagez-vous de développer des API internes ? Acheminez-vous vos API internes via le cloud ? Nous aimerions avoir de vos nouvelles dans les commentaires ci-dessous. En attendant, commencez dès aujourd'hui avec un essai gratuit de 30 jours de NGINX Controller [NGINX Management Suite] ou contactez-nous pour discuter de vos cas d'utilisation .


« Cet article de blog peut faire référence à des produits qui ne sont plus disponibles et/ou qui ne sont plus pris en charge. Pour obtenir les informations les plus récentes sur les produits et solutions F5 NGINX disponibles, explorez notre famille de produits NGINX . NGINX fait désormais partie de F5. Tous les liens NGINX.com précédents redirigeront vers un contenu NGINX similaire sur F5.com."