10 meilleurs outils de gestion d'API

Le monde des affaires moderne est basé sur des logiciels et des API. Toute application, qu'elle soit publique ou privée, a besoin d'API puissantes et pratiques pour être vraiment utile. Construire et maintenir des API est un travail difficile, il n'est donc pas étonnant que des classes entières de logiciels se soient développées autour de la gestion des API.

La plupart des produits de gestion d'API offrent un ensemble commun de fonctionnalités: routage et proxy, transformation des données et des URL, tableaux de bord et analyses, politiques et restrictions, et outils de développement tels que les générateurs de documentation. Nous examinerons ici 10 outils de gestion d'API populaires (projets open source, produits commerciaux, services cloud et mélanges de ceux-ci) qui offrent tout, d'une suite de services complets pour les API aux outils ciblés pour des scénarios spécifiques.

3 échelle

À l'origine un produit à source fermée, 3scale a été acquis par Red Hat et open source après environ deux ans de travail. Le projet open source peut être utilisé librement sous la licence Apache, tandis que Red Hat propose une implémentation SaaS prise en charge commercialement.

Les fonctionnalités de 3scale sont en ligne avec les autres offres de ce tour d'horizon. Vous trouverez la gestion des versions d'API, le contrôle d'accès et la limitation de débit, les contrôles de sécurité et les analyses. 3scale propose également des fonctionnalités conviviales pour les développeurs telles qu'un portail développeur et un CMS pour créer de la documentation pour ses API. 3scale propose également des outils natifs pour la monétisation des API, comme la facturation et l'intégration aux services de paiement.

Si vous avez l'intention d'installer 3scale vous-même pour la production, vous aurez besoin d'Oracle Database et d'OpenShift. Étant donné que même une installation minimale de 3scale pour les tests nécessite Minishift, un cluster OpenShift à un seul nœud, vous pouvez être mieux servi en utilisant la version d'essai gratuite de 90 jours de 3scale si vous souhaitez démarrer le plus rapidement possible.

La version Pro commence à 750 USD par mois pour 5 000 comptes de développeur, 500 000 appels d'API par jour et jusqu'à trois API. La version Enterprise (prix disponible sur demande) supprime la plupart de ces restrictions.

Ambassadeur

Ambassador est un système de gestion d'API open source conçu pour fonctionner avec Kubernetes. Ambassador est implémenté au-dessus du proxy Envoy, qui gère l'abstraction du réseau pour les microservices, de sorte que l'essentiel du travail est effectué par Envoy et Kubernetes.

L'ensemble de fonctionnalités d'Ambassador est conforme à la plupart des autres outils de gestion d'API disponibles: réécriture d'URL et routage des demandes, filtrage, authentification et contrôle d'accès, limitation de débit et délais d'expiration, et intégration avec les outils de journalisation, de dépannage et de visibilité.

Cependant, la majorité des fonctionnalités d'Ambassador tournent autour de la gestion d'exécution et de l'intégration avec Kubernetes et d'autres outils Kubernetes (par exemple, Prometheus). Ambassador laisse la conception et la configuration déclarative des API entièrement à l'utilisateur. Des fonctionnalités telles que la gestion des versions d'API ne sont pas prises en charge de manière native; vous devez gérer vous-même de telles choses. Cela rend Ambassador le mieux adapté pour travailler avec des API dans le cadre d'un déploiement Kubernetes, plutôt que comme une solution de gestion d'API générale.

Apiman

Apiman - anciennement «JBoss Apiman» - est un projet open source Red Hat construit en Java. Bien qu'il soit toujours maintenu par Red Hat, la plupart des développements actifs de Red Hat dans la gestion des API semblent avoir été déplacés vers son produit 3Scale.

Apiman se concentre sur les bases: publier et gérer les API, fournir un accès basé sur les rôles à ces fonctions, définir des règles d'utilisation des API, collecter des métriques d'exécution et de facturation, et créer des structures organisationnelles descendantes pour tous ces éléments.

Apiman peut définir des politiques pour les API concernant la sécurité, les ressources (par exemple, la limitation du débit), les transformations des données, la mise en cache et la journalisation. Les stratégies sont configurées via JSON, de sorte qu'elles peuvent être lues et modifiées par les humains et les machines. Les politiques de sécurité peuvent être appliquées en fonction de l'identité ou du rôle de l'utilisateur, et les API peuvent être contrôlées de manière lâche ou étroite. Vous pouvez publier des API avec l'ID de révision dans l'URL et aucun contrat associé à leur utilisation; ou vous pouvez exiger une clé API et gérer étroitement la manière dont elles sont versionnées.

La plupart de tout ce qui dépasse les bases est de votre responsabilité. Par exemple, si un certain nombre de plug-ins pour Apiman sont disponibles, ils représentent généralement de petites extensions de la fonctionnalité Apiman, fournies par les principaux responsables du projet.

DreamFactory

La plate-forme de gestion des API DreamFactory est construite avec le framework Laravel en PHP. DreamFactory est disponible en tant qu'offre open source gratuite, ou avec différents niveaux de support commercial (prix non divulgué). C'est un choix naturel pour les développeurs déjà investis dans PHP et qui souhaitent se plonger dans l'implémentation open source. DreamFactory propose également une intégration de scripts côté serveur avec Node.js et Python.

La fonction «Datamesh» de DreamFactory, disponible prête à l'emploi dans toutes ses incarnations, vous permet de combiner les résultats de plusieurs appels de base de données hétérogènes, y compris à différents produits de base de données, et de renvoyer les résultats sous la forme d'un seul appel API. De même, les mises à jour de table sur plusieurs bases de données peuvent être combinées en un seul appel d'API.

La documentation DreamFactory ne dispose pas d'une liste unique, canonique et consultable de tous les services disponibles. Les informations sont organisées par catégorie, vous devez donc effectuer une exploration manuelle pour découvrir ce qui est disponible. Du côté positif, la documentation comprend de nombreuses vidéos pratiques pour des cas d'utilisation spécifiques, comme la configuration d'une application simple ou la connexion à diverses sources de données.

Kong

Kong est l'un des outils de gestion d'API les plus connus, créé à l'origine par Mashape (renommé Kong) pour alimenter son propre produit de marché API. Kong est disponible dans une édition open source ou dans une offre commerciale de niveau entreprise (prix non divulgué) avec des fonctionnalités supplémentaires de gestion, de surveillance et de développement. L'édition entreprise peut s'exécuter sur site ou dans un service cloud de votre choix. La documentation des produits open source et d'entreprise est abondante et détaillée.

Kong fournit un contrôleur Ingress pour l'intégration de Kubernetes et un maillage de services pour permettre aux fonctionnalités de Kong d'être «injectées» dans un déploiement de services existant. L'édition entreprise offre un portail pour les développeurs visant à faciliter la création de nouvelles API et à familiariser les nouveaux développeurs avec votre base de code API.

Kong utilise normalement une base de données, mais peut également s'exécuter en mode sans base de données, en utilisant un fichier de configuration JSON / YAML et un stockage en mémoire. C'est mieux si vous n'exécutez qu'un seul nœud minimal mais que vous souhaitez des performances maximales.

KrakenD

KrakenD, écrit en Go, ne fournit que l'essentiel mais vante la haute performance comme une caractéristique clé. KrakenD est fourni sous la forme d'un binaire unique et autonome, comme c'est le cas avec la plupart des applications intégrées à Go. Alternativement, il peut être compilé à partir des sources ou utilisé comme bibliothèque Go si vous souhaitez créer votre propre application autour de lui.

KrakenD utilise un fichier de configuration, qui peut être roulé à la main ou généré par machine. La limitation de débit, la manipulation des réponses, le transfert, le débogage des points finaux, les mesures de sécurité du protocole (par exemple, la protection contre le détournement de clic), le proxy, le stubbing et la mise en cache des réponses en mémoire sont tous pris en charge immédiatement.

Les instances KrakenD peuvent être mises en cluster pour une haute disponibilité. Aucun logiciel supplémentaire n'est nécessaire pour ce faire, juste KrakenD lui-même. Vous pouvez également déployer KrakenD sur un cluster Kubernetes sans trop de travail supplémentaire. Un assortiment de middleware tiers peut être obtenu à partir du référentiel KrakenD GitHub.

Le support aux entreprises, y compris le conseil et la formation, est disponible auprès des créateurs de KrakenD, bien que les prix ne soient pas divulgués.

Plateforme MuleSoft Anypoint

La plate-forme Anypoint de MuleSoft se veut une offre complète: elle couvre la conception d'API, la construction, l'hébergement, la gestion, l'intégration et le support aux développeurs dans un seul produit commercial. 

Avec Anypoint, vous pouvez développer des API à partir de zéro, ou réutiliser les connecteurs et intégrations existants créés par d'autres clients MuleSoft et partagés dans Anypoint Exchange. Les connecteurs sont disponibles pour les protocoles génériques (accès aux fichiers, HTTP, e-mail), les modules de langage pour les transformations de données (Java, JavaScript), les services cloud (Amazon AWS), les applications commerciales (Salesforce, SAP) et les applications open source (MongoDB).

Pour ceux qui créent des API qui seront utilisées par des partenaires ou le public, Anypoint fournit le gestionnaire de communauté API pour créer des interfaces utilisateur Web - ce que MuleSoft appelle des «portails» - pour ces API. La documentation interactive, la personnalisation (y compris des fonctionnalités telles que la personnalisation de la sortie en fonction de la géolocalisation de l'utilisateur) et l'analyse de l'utilisation des API sont toutes incluses.

Anypoint propose trois plans tarifaires, Gold, Platinum et Titanium, qui varient en fonction du niveau de support client et des fonctionnalités d'entreprise. Les trois forfaits incluent des API illimitées et facturent des frais supplémentaires pour les connecteurs «premium» (par exemple, le connecteur mainframe IBM AS / 400).

Netflix Zuul

Zuul, un projet open source créé par les ingénieurs de Netflix, a été conçu en interne pour gérer les demandes de routage vers les services de streaming vidéo de Netflix. Il n'y a pas d'offre commerciale Zuul - du moins, pas de Netflix - vous devrez donc faire tourner Zuul et le gérer entièrement par vous-même.

Zuul est écrit en Java et utilise des outils Java courants - Gradle, Ivy, Maven - pour être opérationnel. Zuul offre un ensemble de fonctionnalités relativement minimal par rapport aux autres systèmes de gestion d'API, en se concentrant sur le filtrage et la distribution des demandes entrantes entre les services. Zuul fournit des fonctionnalités de découverte de services, d'équilibrage de charge, de mise en commun de connexions et de débogage (le «passeport de demande»), mais manque de fonctions plus sophistiquées telles que l'intégration des développeurs et la documentation automatique.

Zuul est un projet actif avec de nombreuses nouvelles fonctionnalités prévues pour les versions futures. Le prochain «filtre de baisse de tension», par exemple, désactivera certaines fonctionnalités pour libérer le processeur pendant les périodes de forte activité.

Tyk

Tyk comprend beaucoup par défaut: la passerelle API, des outils d'analyse, un portail de développement et un tableau de bord de gestion. Il comprend également des fonctionnalités de simulation des API avant leur publication officielle, la mise en cache des demandes intégrée (qui peut être incluse directement dans une définition d'API) et des modèles de réponse pour différents codes d'erreur HTTP.

Tyk est disponible en quatre éditions, chacune pour différents cas d'utilisation. L'édition communautaire, la version open source de Tyk, comprend uniquement la passerelle, qui gère le proxy, le contrôle d'accès, les transformations et la journalisation. Vous pouvez déployer vos propres fonctionnalités directement ou en exploitant l'écosystème de plug-ins de Tyk, avec prise en charge de plusieurs langues.

L'édition sur site vous permet d'utiliser le produit commercial complet derrière votre pare-feu. Les licences de passerelle unique (éditions développeur, essentiellement) sont disponibles gratuitement, sans limite d'appel d'API, bien que les API ne puissent pas être utilisées dans des contextes commerciaux. Les licences à usage commercial commencent à 3000 $ par an.

Les éditions cloud et multicloud, disponibles pour une variété de services cloud populaires, fournissent Tyk en tant que service hébergé. Une version de base à cloud unique prenant en charge 1 000 appels d'API par jour est disponible gratuitement (indépendamment des frais facturés par votre fournisseur de services cloud) les plans de niveau professionnel commencent à 450 $ par mois.

Gestionnaire d'API WSO2

WSO2 API Manager est au cœur d'un produit open source, construit avec Java. Le produit est disponible pour un déploiement sur site ou hébergé dans le cloud avec un support commercial, ou en tant que service géré dans le cloud.

Les différentes options de déploiement permettent un certain nombre de scénarios de gestion différents. Par exemple, un déploiement WSO2 sur site peut avoir ses stratégies et autres configurations appliquées via un portail de développeur hébergé dans le cloud, les modifications étant soit synchronisées entre le cloud et les locaux, soit transmises périodiquement à partir du cloud (pour les environnements qui doivent être verrouillé).

WSO2 possède quelque 200 connecteurs qui peuvent être utilisés pour relier des services externes. Beaucoup sont des agrafes de développement courantes: Slack, Splunk, Kafka, Redis, Amazon S3, etc.

Une autre fonctionnalité WSO2, la «micro-passerelle API», garantit que certains types d'appels bénéficient d'une sécurité supplémentaire et d'une latence plus faible. Par exemple, les appels utilisés pour gérer la passerelle ou les appels acheminés entre les microservices peuvent être traités de cette manière.

Un nouveau module complémentaire à WSO2 ajoute une intégration avec le maillage de services Istio pour Kubernetes. Istio ne gère pas les API exposées par les microservices qu'il gère, donc WSO2 s'intègre au proxy Envoy utilisé par Istio pour ce faire.

La tarification des offres commerciales de WSO2 commence par un essai gratuit de deux semaines avec jusqu'à un million d'appels API, se poursuit à 550 $ par mois pour 20 millions d'appels, et évolue à partir de là vers des configurations sur mesure.