10 besten API-Management-Tools

Die moderne Geschäftswelt ist softwarebasiert und API-gesteuert. Jede öffentliche oder private Anwendung benötigt leistungsstarke und bequeme APIs, um wirklich nützlich zu sein. Das Erstellen und Verwalten von APIs ist harte Arbeit, daher ist es kein Wunder, dass ganze Softwareklassen rund um das API-Management entstanden sind.

Die meisten API-Verwaltungsprodukte bieten eine Reihe von Funktionen: Routing und Proxy, Transformation von Daten und URLs, Dashboards und Analysen, Richtlinien und Einschränkungen sowie Entwicklertools wie Dokumentationsgeneratoren. Hier sehen wir uns 10 beliebte API-Verwaltungstools an - Open Source-Projekte, kommerzielle Produkte, Cloud-Services und Mixe derselben -, die alles von einer Full-Service-Suite für APIs bis hin zu fokussierten Tools für bestimmte Szenarien bieten.

3skala

Ursprünglich ein Closed-Source-Produkt, wurde 3scale von Red Hat übernommen und nach etwa zweijähriger Arbeit als Open-Source-Produkt angeboten. Das Open Source-Projekt kann unter der Apache-Lizenz frei verwendet werden, während Red Hat eine kommerziell unterstützte SaaS-Implementierung anbietet.

Die Funktionen von 3scale stimmen mit den anderen Angeboten in dieser Zusammenfassung überein. Sie finden API-Versionierung, Zugriffskontrolle und Ratenbegrenzung, Sicherheitskontrollen und Analysen. 3scale bietet außerdem entwicklerfreundliche Funktionen wie ein Entwicklerportal und ein CMS zum Erstellen von Dokumentationen für die eigenen APIs. 3scale bietet auch native Tools zur Monetarisierung von APIs, z. B. Rechnungsstellung und Integration in Zahlungsdienste.

Wenn Sie 3scale selbst für die Produktion installieren möchten, benötigen Sie Oracle Database und OpenShift. Da für eine minimale 3scale-Installation zum Testen Minishift, ein OpenShift-Cluster mit einem Knoten, erforderlich ist, können Sie die kostenlose 90-Tage-Testversion von 3scale am besten verwenden, wenn Sie so schnell wie möglich beginnen möchten.

Die Pro-Version kostet ab 750 US-Dollar pro Monat für 5.000 Entwicklerkonten, 500.000 API-Aufrufe täglich und bis zu drei APIs. Die Enterprise-Version (Preis auf Anfrage erhältlich) hebt die meisten dieser Einschränkungen auf.

Botschafter

Ambassador ist ein Open-Source-API-Verwaltungssystem, das für die Zusammenarbeit mit Kubernetes entwickelt wurde. Ambassador wird auf dem Envoy-Proxy implementiert, der die Netzwerkabstraktion für Microservices verwaltet, sodass Envoy und Kubernetes den größten Teil der Arbeit erledigen.

Der Funktionsumfang von Ambassador entspricht den meisten anderen API-Verwaltungstools: URL-Umschreiben und Weiterleiten von Anforderungen, Filtern, Authentifizierung und Zugriffskontrolle, Ratenbegrenzung und Zeitüberschreitungen sowie Integration in Tools für Protokollierung, Fehlerbehebung und Sichtbarkeit.

Die meisten Funktionen von Ambassador beziehen sich jedoch auf die Laufzeitverwaltung und die Integration in Kubernetes und andere Kubernetes-Tools (z. B. Prometheus). Ambassador überlässt das Design und die deklarative Konfiguration von APIs vollständig dem Benutzer. Funktionen wie die API-Versionierung werden von Haus aus nicht unterstützt. Sie müssen solche Dinge selbst erledigen. Damit eignet sich Ambassador am besten für die Arbeit mit APIs als Teil einer Kubernetes-Bereitstellung und nicht als allgemeine API-Verwaltungslösung.

Apiman

Apiman - früher „JBoss Apiman“ - ist ein in Java erstelltes Open-Source-Projekt von Red Hat. Obwohl es immer noch von Red Hat gewartet wird, scheint der größte Teil der aktiven Entwicklung von Red Hat im API-Management auf sein 3Scale-Produkt übergegangen zu sein.

Apiman konzentriert sich auf die Grundlagen: Veröffentlichen und Verwalten von APIs, Bereitstellen eines rollenbasierten Zugriffs auf diese Funktionen, Festlegen von Richtlinien für die API-Verwendung, Sammeln von Laufzeit- und Abrechnungsmetriken und Erstellen von Top-Down-Organisationsstrukturen für alle diese Elemente.

Apiman kann Richtlinien für APIs in Bezug auf Sicherheit, Ressourcen (z. B. Ratenbegrenzung), Datentransformationen, Caching und Protokollierung festlegen. Richtlinien werden über JSON konfiguriert, sodass sie sowohl von Menschen als auch von Maschinen gelesen und bearbeitet werden können. Sicherheitsrichtlinien können nach Benutzeridentität oder -rolle angewendet werden, und APIs können lose oder streng kontrolliert werden. Sie können APIs mit der Revisions-ID in der URL und ohne Vertrag im Zusammenhang mit ihrer Verwendung veröffentlichen. Sie können auch einen API-Schlüssel anfordern und die Versionierung genau verwalten.

Fast alles, was über die Grundlagen hinausgeht, liegt in Ihrer Verantwortung. Während beispielsweise eine Reihe von Plug-Ins für Apiman verfügbar sind, handelt es sich im Allgemeinen um kleine Erweiterungen der Apiman-Funktionalität, die von Kernprojektbetreuern bereitgestellt werden.

Traumfabrik

Die DreamFactory API-Verwaltungsplattform basiert auf dem Laravel-Framework in PHP. DreamFactory ist als kostenloses Open-Source-Angebot oder mit unterschiedlichem kommerziellen Support erhältlich (Preise nicht bekannt gegeben). Dies ist eine natürliche Wahl für Entwickler, die bereits in PHP investiert haben und sich mit der Open Source-Implementierung befassen möchten. DreamFactory bietet auch serverseitige Scripting-Integration mit Node.js und Python.

Mit der „Datamesh“ -Funktion von DreamFactory, die in allen Inkarnationen sofort verfügbar ist, können Sie Ergebnisse aus mehreren heterogenen Datenbankaufrufen - einschließlich verschiedener Datenbankprodukte - kombinieren und die Ergebnisse als einen einzigen API-Aufruf zurückgeben. Ebenso können Tabellenaktualisierungen über mehrere Datenbanken hinweg zu einem einzigen API-Aufruf kombiniert werden.

In der DreamFactory-Dokumentation fehlt eine einzige kanonische, durchsuchbare Liste aller verfügbaren Dienste. Die Informationen sind nach Kategorien geordnet. Sie müssen daher einige manuelle Drilldowns durchführen, um herauszufinden, was verfügbar ist. Auf der anderen Seite enthalten die Dokumente viele Videos mit Anleitungen für bestimmte Anwendungsfälle, z. B. das Einrichten einer einfachen Anwendung oder das Herstellen einer Verbindung zu verschiedenen Datenquellen.

Kong

Kong ist eines der bekanntesten API-Management-Tools, das ursprünglich von Mashape (umbenannt in Kong) entwickelt wurde, um sein eigenes API-Marktplatz-Produkt zu betreiben. Kong ist in einer Open Source Edition oder in einem kommerziellen Angebot für Unternehmen (Preisangabe nicht bekannt gegeben) mit zusätzlichen Verwaltungs-, Überwachungs- und Entwicklerfunktionen erhältlich. Die Enterprise Edition kann vor Ort oder in einem Cloud-Service Ihrer Wahl ausgeführt werden. Die Dokumentation sowohl für Open Source- als auch für Enterprise-Produkte ist umfangreich und detailliert.

Kong bietet einen Ingress-Controller für die Kubernetes-Integration und ein Service-Mesh, mit dem die Funktionalität von Kong in eine vorhandene Bereitstellung von Services „eingefügt“ werden kann. Die Enterprise Edition bietet ein Entwicklerportal, das die Erstellung neuer APIs vereinfachen und neue Entwickler mit Ihrer API-Codebasis vertraut machen soll.

Kong verwendet normalerweise eine Datenbank, kann jedoch auch in einem datenbanklosen Modus mit einer JSON / YAML-Konfigurationsdatei und einem speicherinternen Speicher ausgeführt werden. Dies ist am besten, wenn Sie nur einen einzelnen, minimalen Knoten ausführen, aber maximale Leistung wünschen.

KrakenD

KrakenD, geschrieben in Go, liefert nur das Nötigste, wirbt aber als Hauptmerkmal für hohe Leistung. KrakenD wird als einzelne, in sich geschlossene Binärdatei geliefert, wie dies bei den meisten in Go integrierten Anwendungen der Fall ist. Alternativ kann es aus dem Quellcode kompiliert oder als Go-Bibliothek verwendet werden, wenn Sie eine eigene Anwendung darauf erstellen möchten.

KrakenD verwendet eine Konfigurationsdatei, die von Hand gerollt oder maschinell generiert werden kann. Ratenbegrenzung, Manipulation von Antworten, Weiterleitung, Endpunkt-Debugging, Protokollsicherheitsmaßnahmen (z. B. Schutz vor Clickjacking), Proxy, Stubbing und In-Memory-Antwort-Caching werden sofort unterstützt.

KrakenD-Instanzen können für hohe Verfügbarkeit geclustert werden. Dazu wird keine zusätzliche Software benötigt, nur KrakenD selbst. Sie können KrakenD auch ohne zusätzlichen Aufwand in einem Kubernetes-Cluster bereitstellen. Eine Auswahl an Middleware von Drittanbietern kann aus dem KrakenD GitHub-Repository bezogen werden.

Unternehmensunterstützung, einschließlich Beratung und Schulung, wird von den Entwicklern von KrakenD angeboten, obwohl die Preise nicht bekannt gegeben werden.

MuleSoft Anypoint-Plattform

Die Anypoint-Plattform von MuleSoft soll ein komplettes Angebot sein - sie umfasst API-Design, Konstruktion, Hosting, Management, Integration und Entwicklerunterstützung in einem einzigen kommerziellen Produkt. 

Mit Anypoint können Sie APIs von Grund auf neu entwickeln oder vorhandene Konnektoren und Integrationen wiederverwenden, die von anderen MuleSoft-Kunden erstellt und in Anypoint Exchange freigegeben wurden. Konnektoren sind für generische Protokolle (Dateizugriff, HTTP, E-Mail), Sprachmodule für Datentransformationen (Java, JavaScript), Cloud-Services (Amazon AWS), kommerzielle Anwendungen (Salesforce, SAP) und Open Source-Anwendungen (MongoDB) verfügbar.

Für diejenigen, die APIs erstellen, die von Partnern oder der Öffentlichkeit verwendet werden, bietet Anypoint den API Community Manager zum Erstellen von Web-Benutzeroberflächen - was MuleSoft als "Portale" bezeichnet - für diese APIs. Interaktive Dokumentation, Personalisierung (einschließlich Funktionen wie das Anpassen der Ausgabe basierend auf der Geolokalisierung des Benutzers) und API-Nutzungsanalysen sind enthalten.

Anypoint bietet drei Preispläne an: Gold, Platin und Titan, die sich je nach Kundensupport und Unternehmensfunktionen unterscheiden. Alle drei Pläne enthalten unbegrenzte APIs und kosten zusätzliche Gebühren für Premium-Konnektoren (z. B. den IBM AS / 400-Mainframe-Konnektor).

Netflix Zuul

Zuul, ein Open-Source-Projekt, das von den Ingenieuren von Netflix erstellt wurde, wurde intern entwickelt, um Routing-Anfragen an die Video-Streaming-Dienste von Netflix zu bearbeiten. Es gibt kein kommerzielles Zuul-Angebot - zumindest nicht von Netflix -, daher müssen Sie Zuul hochfahren und es vollständig selbst verwalten.

Zuul ist in Java geschrieben und verwendet gängige Java-Tools - Gradle, Ivy, Maven -, um einsatzbereit zu sein. Zuul bietet im Vergleich zu anderen API-Verwaltungssystemen einen relativ geringen Funktionsumfang, wobei der Schwerpunkt auf dem Filtern und Versenden eingehender Anforderungen über Dienste hinweg liegt. Zuul bietet zwar Funktionen zur Serviceerkennung, zum Lastausgleich, zum Verbindungspooling und zum Debuggen (den „Anforderungspass“), es fehlen jedoch komplexere Funktionen wie das Onboarding von Entwicklern und die automatische Dokumentation.

Zuul ist ein aktives Projekt mit vielen neuen Funktionen, die für zukünftige Versionen geplant sind. Der bevorstehende „Brownout-Filter“ deaktiviert beispielsweise bestimmte Funktionen, um die CPU in Zeiten hoher Aktivität freizugeben.

Tyk

Tyk enthält standardmäßig eine Menge: das API-Gateway, Analysetools, ein Entwicklungsportal und ein Verwaltungs-Dashboard. Es enthält auch Funktionen zum Verspotten von APIs vor ihrer offiziellen Freigabe, integriertes Anforderungs-Caching (das direkt in eine API-Definition aufgenommen werden kann) und Antwortvorlagen für verschiedene HTTP-Fehlercodes.

Tyk ist in vier Editionen für unterschiedliche Anwendungsfälle erhältlich. Die Community Edition, die Open Source-Version von Tyk, enthält nur das Gateway, das Proxy, Zugriffskontrolle, Transformationen und Protokollierung übernimmt. Sie können Ihre eigenen Funktionen direkt oder durch Tippen auf das Plug-in-Ökosystem von Tyk mit Unterstützung für mehrere Sprachen erweitern.

Mit der lokalen Edition können Sie das kommerzielle Produkt mit allen Funktionen hinter Ihrer Firewall verwenden. Einzelne Gateway-Lizenzen - im Wesentlichen Entwicklereditionen - sind kostenlos und ohne API-Aufrufbeschränkungen verfügbar, obwohl die APIs in kommerziellen Einstellungen nicht verwendet werden können. Lizenzen für die kommerzielle Nutzung beginnen bei 3000 USD pro Jahr.

Die Cloud- und Multi-Cloud-Editionen, die für eine Vielzahl beliebter Cloud-Dienste verfügbar sind, bieten Tyk als gehosteten Dienst. Eine einfache Single-Cloud-Version, die 1.000 API-Aufrufe pro Tag unterstützt, ist kostenlos verfügbar (abgesehen von den Gebühren Ihres Cloud-Dienstanbieters). Pro-Level-Pläne beginnen bei 450 USD pro Monat.

WSO2 API Manager

WSO2 API Manager ist im Kern ein Open Source-Produkt, das mit Java erstellt wurde. Das Produkt ist für die lokale oder in der Cloud gehostete Bereitstellung mit kommerziellem Support oder als Cloud-verwalteter Dienst verfügbar.

Die verschiedenen Bereitstellungsoptionen ermöglichen eine Reihe unterschiedlicher Verwaltungsszenarien. Beispielsweise können bei einer lokalen WSO2-Bereitstellung die Richtlinien und andere Konfigurationen über ein in der Cloud gehostetes Entwicklerportal erzwungen werden, wobei die Änderungen entweder zwischen Cloud und Standort synchronisiert oder regelmäßig aus der Cloud übertragen werden (für Umgebungen, die erforderlich sind) gesperrt).

WSO2 verfügt über rund 200 Anschlüsse, über die externe Dienste miteinander verbunden werden können. Viele sind gängige Entwickler-Grundnahrungsmittel: Slack, Splunk, Kafka, Redis, Amazon S3 und so weiter.

Eine weitere WSO2-Funktion, das „API-Microgateway“, stellt sicher, dass bestimmte Arten von Anrufen zusätzliche Sicherheit und geringere Latenz erhalten. Auf diese Weise können beispielsweise Anrufe zur Verwaltung des Gateways oder Anrufe, die zwischen Microservices weitergeleitet werden, verarbeitet werden.

Ein neues Add-On zu WSO2 erweitert das Istio-Service-Mesh für Kubernetes. Istio verwaltet nicht die APIs, die von den von ihm verwalteten Mikrodiensten verfügbar gemacht werden. Daher wird WSO2 in den von Istio verwendeten Envoy-Proxy integriert.

Die Preise für die kommerziellen Angebote von WSO2 beginnen mit einer kostenlosen zweiwöchigen Testversion mit bis zu einer Million API-Aufrufen, werden für 20 Millionen Anrufe bei 550 USD pro Monat fortgesetzt und von dort aus auf maßgeschneiderte Konfigurationen skaliert.