Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

API-Lösungen auf der Google Cloud Platform

By Kefeng DengOct 18, 20226 min read

Diese Seite ist auch in English, Español, Français, Italiano, 日本語 und Português verfügbar.

Wie finden Sie die passende zentrale API-Lösung für Ihre Anwendungen in der Google Cloud? Wir vergleichen ApigeeX, Cloud Endpoints und API Gateway, damit Sie die richtige Wahl treffen.

Cloud Endpoints, API Gateway und ApigeeX im Vergleich

Seit ich als Senior Cloud Architect bei DoiT International arbeite, werde ich von Kunden immer wieder gefragt, wie sie auf GCP eine zentrale API-Lösung für ihre Anwendungen auswählen sollen. Vom Enterprise-Produkt ApigeeX einmal abgesehen: Was ist im direkten Vergleich von Cloud Endpoints und API Gateway die bessere Wahl? Und worin liegt der entscheidende Unterschied zwischen den beiden Lösungen?

Anfang 2017 gab Google die allgemeine Verfügbarkeit von Cloud Endpoints bekannt – einer Lösung, die auf einem serverlokalen Proxy auf Basis derselben Services aufsetzt. Anfangs arbeitete Cloud Endpoints mit dem Extensible Service Proxy (ESP) V1, einer nginx-basierten Data Plane, um die AppEngine Flexible Environment, GCE und GKE zu unterstützen. 2019 brachte Google den Envoy-basierten ESP v2 heraus, der weitere Serverless-Dienste wie Cloud Functions, Cloud Run und die AppEngine Standard Environment abdeckt. ESP v1 gilt zwar als veraltet, unterstützt aber weiterhin AppEngine Flexible und individuelle Nginx-Konfigurationen – Funktionen, die ESP v2 nicht bietet.

Da Cloud Endpoints zudem ein selbstverwalteter, verteilter API-Management-Dienst mit zusätzlichen Kostenfaktoren ist, hat Google mit API Gateway einen weiteren API-Management-Dienst auf den Markt gebracht, der sich in mancher Hinsicht als verbesserte Variante von Cloud Endpoints verstehen lässt.

Apigee bietet Google darüber hinaus in mehreren Managed-Varianten an, darunter ApigeeX (gehostet in der Google Cloud) und ApigeeEdge (gehostet in der Apigee Cloud).

In diesem Beitrag zeige ich Ihnen, wie Sie die passende API-Lösung für sich finden.

Unterstützte Protokolle

Welche Protokolle müssen unterstützt werden? Das ist die erste Frage, die Sie sich stellen sollten.

Auf allen drei Plattformen lässt sich der API-Proxy mithilfe der OpenAPI-Spezifikation definieren. Sie alle unterstützen HTTPS-Restful-APIs. Auch gRPC steht auf allen drei Plattformen zur Verfügung.

Wer hingegen WebSocket oder SOAP unterstützen möchte, kommt an ApigeeX nicht vorbei – das ist die einzige Plattform, die das leistet.

Integration mit Backend-Diensten

Cloud Endpoints, API Gateway und ApigeeX lassen sich mit Diensten der Google Cloud Platform wie Cloud Functions, Cloud Run, GKE und AppEngine sowie mit Nicht-Google-Funktionen und -Diensten wie AWS Lambda, Azure Functions und On-Premise-API-Services verbinden.

Setzt Ihr Backend allerdings auf SOAP, ist ApigeeX die einzige Option. ApigeeX kann eine RESTful-Schnittstelle zum SOAP-Backend generieren, sodass sich ein SOAP-Service als API-Proxy bereitstellen lässt. Daneben gibt es einen Pass-Through-Modus, der eingehende SOAP-Anfragen direkt an den Backend-Service weiterreicht.

Eine weitere Stärke von ApigeeX ist die Unterstützung benutzerdefinierter Skripte: Sie können eigene Funktionen in JavaScript implementieren und im ApigeeX-Portal bereitstellen. Innerhalb dieser Skripte greifen Sie über das `onLoad`-Event auf das DOM-Objekt der Portalseite zu, sobald der Nutzer die Seite öffnet, und über `onUnload`, wenn er sie wieder verlässt.

Cloud Endpoints und ApigeeX unterstützen zum Zeitpunkt der Veröffentlichung beide eigene Domain-Namen. API Gateway bietet ebenfalls Custom Domains, allerdings noch im Preview-Modus.

Sicherheit

API Keys sind der Standard, um APIs abzusichern. Cloud Endpoints, API Gateway und ApigeeX unterstützen alle die Authentifizierung per API Key.

Da es sich um Google-managed Services handelt, ist zusätzlich die Authentifizierung über Service Accounts möglich. (Dabei wird der private Schlüssel des Service Accounts verwendet, um ein sicheres JWT zu signieren; die API-Anfragen werden dann mit diesem signierten JWT versendet.)

Über diese beiden Methoden hinaus unterstützt Cloud Endpoints die Firebase-Authentifizierung und Auth0, ApigeeX bietet OAuth2.

Erwähnenswert ist außerdem, dass sich alle drei API-Management-Lösungen mit einem Rate Limit absichern lassen. So steuern Sie den Traffic zwischen Ihren APIs und Backend-Services und beugen DOS-Angriffen auf Ihre Anwendungen vor.

Monitoring

Alle drei API-Lösungen lassen sich auf der Google Cloud Platform problemlos überwachen.

Cloud Endpoints stellt ein Portal bereit, mit dem Sie ein Developer-Portal aufbauen sowie Logs und Metriken einsehen können. API Gateway liefert ein Dashboard mit zusätzlichen Diagrammen, das Spikes, Einbrüche oder ungewöhnliche Aktivitäten verständlich macht. Über die Methods-Tabelle des API Gateway können Sie noch tiefer ins Detail gehen.

Als Enterprise-API-Plattform bietet ApigeeX ein Monitoring-Dashboard, das alle Ausführungsmetriken sowohl auf Integrations- als auch auf Task-Ebene anzeigt. Zudem lassen sich in ApigeeX problemlos verschiedene Alerts einrichten.

Kosten

Sowohl Cloud Endpoints als auch API Gateway bieten ein Free-Tier-Kontingent für eine bestimmte Anzahl an API-Aufrufen. Liegen Ihre monatlichen Aufrufe darunter, fallen keine Kosten an. Da Cloud Endpoints aber eine Endpoints-Runtime in einem Google-Dienst benötigt, um eingehende Anfragen weiterzuleiten, entstehen für den Google-Dienst, der diese Runtime hostet, zusätzliche Kosten neben den eigentlichen API-Services.

ApigeeX bietet eine Evaluierungsoption, mit der Sie die Plattform ausrollen und testen können. Nach Abschluss der Evaluierung müssen Sie auf einen kostenpflichtigen Tarif wechseln. Wenn Ihre APIs nur ein geringes Anfragevolumen bedienen, eignet sich der Pay-as-you-go-Tarif: keine Vorabverpflichtung, Abrechnung rein nutzungsbasiert. Brauchen Sie mehrere Umgebungen für hohe Anfragevolumina, ist eine kommerzielle Subscription die richtige Wahl.

Insgesamt ist ApigeeX die teuerste API-Lösung. API Gateway ist eine gute Wahl für große Umgebungen, während Cloud Endpoints bei geringerem Volumen die günstigere Variante ist.

Fazit

Cloud Endpoints und API Gateway sind schlanke API-Management-Plattformen mit ähnlichem Funktionsumfang und decken die meisten Szenarien ab. API Gateway ist ein neuer Dienst in GCP; einzelne Funktionen wie Custom Domains befinden sich noch im Preview-Modus.

Die Enterprise-Lösung ApigeeX bringt einen umfassenden Funktionsumfang mit, hat dafür aber ihren Preis.

Cloud Endpoints

SaaS

Teilweise

Preis

Free Tier + Runtime-Kosten

Unterstützung interner GCP-Backend-Services

Ja

Unterstützung öffentlicher Nicht-GCP-Backend-Services

Ja

Unterstützte Protokolle

HTTPS / gRPC

CORS-Unterstützung

Ja

Custom Domain

Ja

Nachrichten formen, lesen und konvertieren

Nein

Authentifizierung

API Key / Firebase Authentication / Auth0 / Google ID Token / Google Service Account / Custom Authentication

OpenAPI-Spezifikation

Ja

Dokumentation

Schwach

API Gateway

SaaS

Ja

Preis

Free Tier

Unterstützung interner GCP-Backend-Services

Ja

Unterstützung öffentlicher Nicht-GCP-Backend-Services

Ja

Unterstützte Protokolle

HTTPS / gRPC

CORS-Unterstützung

Nein

Custom Domain

Preview

Nachrichten formen, lesen und konvertieren

Nein

Authentifizierung

API Key / Google Service Account

OpenAPI-Spezifikation

Ja

Dokumentation

Schwach

Apigee

SaaS

Ja

Preis

Pay-as-you-go, kommerzielle Subscriptions

Unterstützung interner GCP-Backend-Services

Nein

Unterstützung öffentlicher Nicht-GCP-Backend-Services

Ja

Unterstützte Protokolle

HTTPS / gRPC / WebSocket

CORS-Unterstützung

Ja

Custom Domain

Ja

Nachrichten formen, lesen und konvertieren

Ja

Authentifizierung

API Key / OAuth

OpenAPI-Spezifikation

Ja

Dokumentation

Gut

Cloud Endpoints

API Gateway

Apigee

SaaS

Teilweise

Ja

Ja

Preis

Free Tier + Runtime-Kosten

Free Tier

Pay-as-you-go, kommerzielle Subscriptions

Unterstützung interner GCP-Backend-Services

Ja

Ja

Nein

Unterstützung öffentlicher Nicht-GCP-Backend-Services

Ja

Ja

Ja

Unterstützte Protokolle

HTTPS / gRPC

HTTPS / gRPC

HTTPS / gRPC / WebSocket

CORS-Unterstützung

Ja

Nein

Ja

Custom Domain

Ja

Preview

Ja

Nachrichten formen, lesen und konvertieren

Nein

Nein

Ja

Authentifizierung

API Key / Firebase Authentication / Auth0 / Google ID Token / Google Service Account / Custom Authentication

API Key / Google Service Account

API Key / OAuth

OpenAPI-Spezifikation

Ja

Ja

Ja

Dokumentation

Schwach

Schwach

Gut