Integration

API Management – Google Apigee unter der Lupe

Welche Produkte gibt es?

Zu Beginn der Blog-Post Serie haben wir allgemein über API-Management gesprochen. Auf dem Markt gibt es diverse Anbieter, die API Management System in verschiedensten Ausprägungen und Variationen anbieten. Anhand des Gartner Reports „Magic Quadrant for Full Life Cycle API Management“ wählen wir nun die führenden Produkthersteller aus, um diese anhand eines Kriterienkataloges näher zu betrachten.

Zu den stärksten Anbietern auf dem Markt gehören derzeit Google und MuleSoft. Redhat ist als Visionär dabei, während Oracle und Microsoft als Nischen-Hersteller gelten. Diese Hersteller wollen wir gemeinsam in diesem und in folgenden Posts analysieren.

Welche Kriterien sind relevant?

Google Apigee

Apigee startete ursprünglich als unabhängiger Softwarehersteller, ist aber seit 2016 Teil des Produktportfolios von Google. Mit Apigee Edge bietet Google eine On-Premise und Cloud Alternative zu API Management. Zusätzlich zur Abdeckung des API-Lebenszyklus bietet Apigee einen Fokus auf API-Monetasrisierung. Infolgedessen wird es Unternehmen ermöglicht, individuelle Zahlungspläne für die Nutzung von APIs zu erstellen.

Apigee Edge setzt sich aus der API Runtime, dem Developers Ecosystem und dem API Monitoring & Analytics Dashboards zusammen. Diese drei Komponenten ermöglichen die Erstellung, die Verwaltung, den Betrieb sowie die Security-Verwaltung von bereitgestellten APIs.

 

Kategorie: Design

Design Patterns

Apigee unterstützt Entwickler im Design von APIs mittels einer eigenen Dokumentation. Mit dem Apigee Proxy Cookbook werden verschiedene Code Beispiele und Umsetzungsmethoden aufgezeigt, die das Arbeiten mit Apigee erleichtern sollen. Weiterhin bietet Apigee ein Community Forum an, welches einen separaten Bereich für Design Pattern Diskussionen enthält.

Kategorie: Develop

API Entwicklung

Für die Entwicklung von APIs gibt es das Apigee Edge Management UI. Dazu werden verschiedene Möglichkeiten geboten, um APIs zu erstellen. Zu diesen gehören:

  • Reverse Proxy – Anbindung an HTTP Backend (JSON oder XML)
  • SOAP Service – Anbindung auf Basis WSDL
  • js App – Anbindung Node.js App
  • No Target – Proxy ohne Backend Ziel
  • Proxy Bundle – Import bestehender Proxys aus ZIP

Weiterhin bietet Apigee ebenfalls unterschiedliche Policies an, um API Proxys individuell konfigurieren zu können. Eine kurze Auflistung der Punkte auf die später weiter eingegangen wird:

  • Traffic Management – Kontrolle des Nachrichtenvolumens
  • Security – Sicherheitskonfigurationen auf API Proxys
  • Mediation – Message Transformation zwischen Provider und Consumer
  • Extension – Custom Code Erweiterungen

API Dokumentation

Entwickler können selbständig Dokumentationen mit automatisch generierten Code Snippets für die Einbindung im Developer Portal erstellen.

Kategorie: Deploy

API Deployment

Die Bereitstellung von Apigee APIs bzw. Proxys erfolgt in der Regel über das Apigee Edge Management UI. Dabei handelt es sich um eine Benutzeroberfläche, welche sowohl Administratoren als auch Entwickler unterstützt. Abgesehen davon gibt es noch die Möglichkeit mittels Command Line Tools ohne das UI Deployments durchzuführen.

API Testing

Für das Testing von APIs bietet Apigee keine besonderen Funktionalitäten an. Die gängigen Vorgehensweisen mit cURL oder mit Werkzeugen wie SoapUI sind zu empfehlen.

Kategorie: Secure

API Gateway

Apigee bietet ein eigenes Gateway an, welches in die Plattform integriert ist. Dieses bietet die üblichen Funktionalitäten eine API Gateways an wie Policy Management und Nachrichtendurchlaufverwaltung. Auf beide Punkte wird nachfolgend genauer eingegangen.

Security

Sowohl OAuth als auch SAML sind Methoden, um Endpunkte abzusichern und bieten standardgemäß die Funktionalität JWT und SAML Tokens zu akzeptieren und zu verifizieren.

Data Masking und Hiding ist eine weitere Sicherheitsfunktionalität die Apigee anbietet. Mit dieser lassen sich gezielt Datensätze anonymisieren und verstecken. Damit wird vermieden, dass diese Daten schließlich in Logs oder in Debug Sessions einsehbar sind. Besonders bei sensiblen Informationen wie persönlichen Angaben von Kunden wir hiermit eine Alternative geboten, datenschutzkonform zu bleiben.

Apigee bietet weiterhin generelle Schutzmechanismen an, um die Integrität der Plattform gewährleisten zu können. Zu diesen gehören JSONThreatProtection und XMLThreatProtection, um den Inhalt von Nachrichten auf potenzielle Gefahren zu prüfen. Weiterhin können mittels JavaScript der Inhalt von Request Parameter und Header geprüft werden, während mit SQLCodeInjection bei Datenbank Queries auf schädliche Befehle geachtet wird.

Neben den genannten generellen Schutzmechanismen bietet Apigee eine weitere Funktionalität an, die zudem entscheidend für die Funktionalität der Plattform mit. Jeder Request, der auf Apigee Proxys getätigt wird, benötigt prinzipiell einen API Key. Durch API Keys wird gewährleistet, das das aufrufende System auch tatsächlich den Proxy verwenden darf, der nach außen angeboten wird. Diese sind in der Regel für jede Applikation individuell. Um einen API Key erstellen zu können, muss die Applikation, die API-Proxys aufrufen möchte, auf Apigee registriert werden und einem API Product zugeordnet werden. API Products bündelt API-Proxys und ermöglicht einen Produktschnitt. Applikationen können schließlich für API Products registriert werden, sodass diese mit ihrem API Key die zugehörigen Proxys eines API Products aufrufen können.

Kategorie: Manage

Developer Portal

Applikationen, die Apigee aufrufen möchten, müssen sich auf der Plattform registrieren. Über das Developer Portal können Applikationsverantwortlich genau dies tun, sodass Requsts von der Applikation akzeptiert werden. Für das Developer Portal gibt es diverse Möglichkeiten, um dieses zu betreiben. Dazu gehören:

  • Apigee integrated Portal –Gehostet von Apigee und individualisierbar (nur mit New Edge Version).
  • Drupal 7/ 8 Portal – Kein Hosting durch Apigee. CMS und Framework auf PHP Basis.
  • Custom Portal – Selbst entwickeltes Portal mit Verwendung der Apigee Plattform APIs

API Versionierung

Durch das Klonen von API Proxys lassen sich unterschiedliche Versionen der API Proxys betreiben und auch weiterentwickeln, während durch API Revisionen die bestehenden Proxys angepasst werden können. Durch einen URL Parameter kann man die unterschiedlichen Versionen voneinander unterscheiden.

API Retirement

Im Apigee Management UI lassen sich API Proxys undeployen und löschen, sodass diese nicht mehr zugreifbar sind. Eine fortgeschrittene Methode, um Proxys als veraltet einzustufen gibt es nicht.

Caching

Um die Transaktionskosten bei Aufrufen auf Apigee zu optimieren bietet die Plattform Caching Funktionalitäten an. Über Caching Policies lässt sich ebenfalls definieren, wie auf den Cache zur Laufzeit zugegriffen wird. Dabei gibt es die folgenden Varianten:

  • Populate Cache – Konfiguriert für das Schreiben von Einträge in einen Kurzzeit-Cache
  • LookUpCache – Konfiguration für das Lesen von Einträge aus einem Kurzzeit-Cache
  • Invalidate Cache – Konfiguration für das Purging von Einträge aus dem Cache
  • Response Cache – Konfiguration, ob und welche Requests aus dem Cache beantwortet werden oder an das Backend weitergeleitet werden

Traffic Management und Throttling

Um den Nachrichtendurchfluss kontrollieren zu können bietet Apigee ebenfalls Policies an. Diese können unter folgenden Ausprägungen konfiguriert werden:

  • Spike Arrest Policy – Aufteilung von Traffic Spikes in Intervalle
  • Quota Policy – Definition des Nutzungskontingent für API Aufrufe
  • ConcurrentRateLimiting – Definition der Anzahl konkurrierender API Aufrufe

Kategorie: Analyze

Performance Kennzahlen

Apigee bietet als Teil der Plattform die Möglichkeit, individualisiert Dashboards und Reports über bereitgestellte Analytics Funktionen zu erstellen. Dazu werden per Standard diverse Kennzahlen angeboten, welche als Basis für die Reports und Dashboards dienen können:

  • Durchschnittliche Transaktionen pro Sekunde
  • Cache Hits
  • Anzahl L1 Cache Elemente
  • Policy Fehler
  • Latenzzeit Request Verarbeitung
  • Latenzzeit Response Verarbeitung
  • Request Größe
  • Ausführung Response Cache
  • Target Fehler
  • Target Response Zeit
  • Durchschnittliche Response Zeit
  • Message Traffic

Analytics Tools

Die Apigee Plattform bietet zudem die Möglichkeit, über Dashboard diverse Informationen und Kennzahlen zu beziehen.

Das API Dashboard zeigt generelle Informationen zu API Products und Porxys auf, zu denen folgende Parameter gehören:

  • API Performance
  • Target Performance
  • Cache Performance
  • Errors Code Analyse

Das Developer Dashboard bietet Konsumenten und Entwickler die Möglichkeit ihre Applikationen registrieren und verwalten sowie entsprechende API Products zu bestellen, um diese Nutzen zu können. Folgende Funktionalitäten sind dabei enthalten:

  • Developer Engagement
  • Traffic Composition
  • Business Transactions

Das Exploration Dashboard bietet die Möglichkeit individuell erstellte Reports und Dashboards darstellen zu können.

Abgesehen von den Reports und Dashboards bietet die Apigee Plattform ebenfalls Auditing Debugging Funktionalitäten am, um Entwickler und Administratoren zu unterstützen.

  • Debugging
  • Trace Tool für API Proxy Tools
  • Audit
  • API History
  • API Product History

Kategorie: Betrieb

Cloud/On-Premises

Apigee kann in drei Varianten betrieben werden:

  • Public Cloud – Apigee bietet in der Public Cloud Variante das Hosting der Plattform bei sich an. Dieses bringt einige Limitation wie beispielsweise ein Limit auf der Anzahl der Custom Attribute an.
  • Private Cloud – In der Private Cloud bietet Apigee identische Funktionalitäten zur Public Cloud an nur mit dem Unterschied, dass in der Private Variante die Limitationen nicht existieren. Eine ausführliche Gegenüberstellung der Unterschiede bietet Apigee selbst.
  • On-Prem – Die Plattform kann ebenfalls auch komplett Inhouse betrieben und gewartet werden. Eine der entschiedenen Voraussetzungen dazu ist, dass diese Betriebsmaschinen mit CentOS aufgesetzt werden müssen.

Community Support

Apigee selbst bietet ein Community Forum als Diskussionsplattform und die Interaktion miteinander an, während auf StackOverflow rund 700 Threads mit dem Tag apigee eröffnet worden sind.

Fazit

Durch die Zugehörigkeit zu Google besteht das Risiko einer zunehmend steigenden Produktkomplexität oder gar Stagnation in der Weiterentwicklung. Wie genau sich Apigee weiterentwickeln wird, muss sich noch zeigen. Des Weiteren fehlt bei Apigee ein klares Vorgehen wie APIs als veraltet eingestuft werden können, um diese abschließend auch vollständig von der Plattform zu entfernen.

Besonders positiv fallen dafür das Developer- und das Adiminstrationsportal auf. Durch die intuitive Aufteilung und Navigation ist das Arbeiten mit der Apigee Plattform einfach und unkompliziert. Weiterhin ist die Zugehörigkeit zu Google nicht nur mit Risiken behaftet. Dadurch, dass Apigee nun Teil des Google Stacks ist, ergeben sich Zugänge zu anderen Produkte wie aus dem Bereich Machine Learning und AI. Google bietet die Möglichkeit, in Kooperation mit etablierten Kompetenzen neue Funktionalitäten für Apigee zu entwickeln und damit Innovationen im Bereich API Management voranzutreiben.

Zusammengefasst lassen sich prinzipiell alle Phasen des API Lebenszyklus durch die Apigee Plattform abdecken. Vor allem die intuitive Gestaltung des Developer- und Administrationsportal überzeugen und bieten eine gute Grundlage, um sowohl Fachbereiche als auch IT-Bereich im Arbeiten näher aneinander heranzuführen. Zusätzlich bietet Apigee gut ausgebaute Monetarisierungsfunktionen an, um gezielt Einnahmen über APIs zu generieren.