Apigee Hybrid ist eine Plattform zur Entwicklung und Verwaltung von API-Proxys, die ein Hybrid-Bereitstellungsmodell enthält. Das Hybridmodell umfasst eine Verwaltungsebene, die von Apigee in der Cloud gehostet wird, sowie eine Laufzeitebene, die auf einer der unterstützten Kubernetes-Plattformen installiert und verwaltet werden muss.
Alle APIs an einem Ort verwalten |
Apigee Hybrid unterstützt Sie beim Verwalten von internen und externen APIs mit Google Cloud. Dank dieser einheitlichen API-Verwaltung können Sie Entwicklern, Partnern und Kunden ein konsistentes API-Programm bieten. |
Sicherheits- und Compliancefragen lösen |
Wenn Ihre Anwendungen aus Compliance- und Sicherheitsgründen lokal bereitgestellt werden müssen, ist ein Hybridgateway für Unternehmen wie beispielsweise Apigee Hybrid die Lösung, da es Ihnen erlaubt, die Laufzeitebene lokal zu hosten und zu verwalten. Sie verwalten und steuern die Laufzeit selbst und können Ihre vorhandene Compliance-, Governance- und Sicherheitsinfrastruktur weiter nutzen. |
Multi-Cloud-Strategie unterstützen |
Wenn Sie Kosten und Leistung abwägen ist es gut möglich, dass Sie eine Hybridstrategie erwägen. Ihre API-Verwaltungsplattform sollte Ihnen hier die notwendige Flexibilität bieten – egal, ob Sie verschiedene Cloudanbieter testen oder sich bereits für eine Hybridstrategie entschieden haben. Sie können Hybrid-Gateways für Unternehmen über Ihr Rechenzentrum, Google Cloud oder unter Verwendung beider Optionen hosten und verwalten. |
Weitere Informationen zu Hybrid:
|
So installieren Sie Hybrid:
|
API-Programme in einer hybriden Welt
Apigee Hybrid besteht aus einer von Google verwalteten Verwaltungsebene und einer Laufzeitebene, die Sie auf einer unterstützten Kubernetes-Plattform installieren. Beide Ebenen verwenden Google Cloud Platform-Dienste, wie das folgende Bild zeigt:
Wie Sie sehen, besteht Hybrid aus den folgenden primären Komponenten:
- Von Apigee ausgeführte Verwaltungsebene: Eine Reihe von Diensten, die in der Cloud gehostet und von Google verwaltet werden. Zu diesen Diensten gehören Benutzeroberfläche, Management API und Analytics.
Vom Kunden verwaltete Laufzeitebene: Eine Reihe containerisierter Laufzeitdienste, die Sie in Ihrem eigenen Kubernetes-Cluster einrichten und verwalten. Der gesamte API-Traffic wird innerhalb der Laufzeitebene weitergeleitet und verarbeitet.
Für noch mehr Flexibilität können Sie die containerisierte Laufzeit auf Ihrem Kubernetes-Cluster ausführen und von gestaffelten Rollouts, automatischer Skalierung und anderen betrieblichen Vorteilen von Containern profitieren.
- Google Cloud Platform: Eine Suite von Google-Diensten, die von Google gehostet werden.
Der Hauptvorteil von Hybrid ist, dass der gesamte API-Traffic innerhalb der Grenzen Ihres Netzwerks und Ihrer Kontrolle verarbeitet wird. Verwaltungsdienste wie die Benutzeroberfläche und die API-Analyse werden hingegen in der Cloud ausgeführt und von Google verwaltet, um die Option zu aktivieren. Weitere Informationen finden Sie unter Wo werden Ihre Daten gespeichert?
Im folgenden Video wird die Hybridarchitektur ausführlich erläutert:
Informationen zur Laufzeitebene
Die Laufzeitebene besteht aus mehreren containerisierten Laufzeitdiensten, die Sie in Ihrem eigenen, auf einer unterstützten Kubernetes-Plattform ausgeführten Kubernetes-Cluster einrichten und verwalten. Der gesamte API-Traffic wird innerhalb der Laufzeitebene weitergeleitet und verarbeitet. Die Laufzeitebene umfasst folgende Hauptkomponenten:
Die Laufzeitebene wird in einem Kubernetes-Cluster ausgeführt, der auf einer von Ihnen verwalteten, unterstützten Kubernetes-Plattform ausgeführt wird.
Folgende Abbildung zeigt die primären Dienste, die auf der Laufzeitebene ausgeführt werden:
Allgemeine Informationen zu den Laufzeitkomponenten finden Sie in den folgenden Abschnitten. Weitere Informationen finden Sie unter Laufzeitdienst-Konfiguration – Übersicht.
In den folgenden Abschnitten werden die wichtigsten Dienste der Laufzeitebene ausführlicher beschrieben.
Message Processor
Hybrid MPs (Message Processors, "Nachrichtenverarbeiter") ermöglichen die Verarbeitung von API-Anfragen und die Ausführung von Richtlinien auf der Laufzeitebene. MPs laden die bereitgestellten Proxys, Ressourcen, Zielserver, Zertifikate und Schlüsselspeicher aus dem lokalen Speicher. Sie konfigurieren ein Apigee-Ingress-Gateway, damit die MPs Anfragen von außerhalb des Clusters erhalten können.
Synchronizer
Der Synchronizer ruft Konfigurationsdaten zu API-Umgebungen von der Verwaltungsebene ab und überträgt diese in die Laufzeitebene. Die heruntergeladenen Daten werden auch Contract genannt. Sie werden im lokalen Dateisystem gespeichert.
Der Synchronizer prüft regelmäßig den Verwaltungsserver auf Änderungen und lädt eine neue Konfiguration herunter, wenn Änderungen erkannt werden. Die Konfigurationsdaten werden lokal als JSON-Datei im lokalen Dateisystem abgerufen und gespeichert, wo die Nachrichtenprozessoren auf sie zugreifen können.
Dank der heruntergeladenen Konfigurationsdaten kann die Laufzeitebene unabhängig von der Verwaltungsebene arbeiten. Mit dem Contract verwenden die Nachrichtenprozessoren auf der Laufzeitebene die lokal gespeicherten Daten als Konfiguration. Wird die Verbindung zwischen Verwaltungs- und Laufzeitebene unterbrochen, funktionieren Dienste auf der Laufzeit weiterhin.
Zu den vom Synchronizer heruntergeladenen Konfigurationsdaten zählen:
- Proxy-Bundles und freigegebene Ablaufbereitstellungen
- Ablauf-Hooks
- Umgebungsinformationen
- Freigegebene API-Ressourcen
- Zielserverdefinitionen
- TLS-Einstellungen
- Namen der Zuordnung von Schlüssel/Wert-Paar (KVM)
- Datenmasken
Cassandra-Datenspeicher
Apache Cassandra ist der Laufzeitdatenspeicher, der die Datenpersistenz für die Laufzeitebene bereitstellt.
Cassandra ist ein verteiltes Datensystem, das Datenpersistenz auf Laufzeitebene bereitstellt. Die Cassandra-Datenbank wird als StatefulSet-Knotenpool in Ihrem Kubernetes-Cluster bereitgestellt. Diese Entitäten in der Nähe der Laufzeitverarbeitungsdienste zu lokalisieren bringt Vorteile in Sachen Sicherheit und Skalierbarkeit.
Die Cassandra-Datenbank speichert Informationen zu folgenden Entitäten:
- Schlüsselverwaltungssystem (KMS)
- Zuordnung von Schlüssel/Wert-Paar (KVM)
- OAuth
- Management API für Laufzeitdaten (MART)
- Monetarisierungsdaten
- Kontingente
- Antwort-Cache
Management-API für Laufzeitdaten (MART)
Daten, die zu Ihrer Organisation gehören und auf die während API-Aufrufen in der Laufzeit zugegriffen wird, werden von Cassandra auf der Laufzeitebene gespeichert.
Dazu gehören:
- Anwendungskonfigurationen
- KMS-Daten (Key Management System)
- Cache
- Zuordnungen von Schlüssel/Wert-Paar (KVMs)
- API-Produkte
- Entwickler-Apps
Zugriff auf und Aktualisierung dieser Daten, z. B. um eine neue KVM hinzuzufügen oder um eine Umgebung zu entfernen, erfolgt über die Apigee-Hybrid-UI oder die Apigee APIs. Der MART-Server (Management API für Laufzeitdaten) verarbeitet API-Aufrufe für den Laufzeitdatenspeicher.
In diesem Abschnitt wird die Rolle beschrieben, die MART beim Aufruf der Apigee APIs für den Zugriff auf den Laufzeitdatenspeicher hat.
Was MART ist | Zum Aufrufen einer Apigee API senden Sie eine authentifizierte Anfrage an den MS (Management Server) auf der Verwaltungsebene. Der MS authentifiziert und autorisiert die Anfrage und leitet sie dann auf der Laufzeitebene an MART weiter. Dieser Anfrage ist ein Token angehängt, das der MS mit einem vorkonfigurierten Dienstkonto generiert hat. MART empfängt die Anfrage, authentifiziert und autorisiert sie und führt anschließend eine geschäftliche Validierung durch. Wenn die App beispielsweise Teil eines API-Produkts ist, gewährleistet MART, dass es sich um eine gültige Anfrage handelt. Nachdem die Anfrage als gültig eingestuft wurde, wird sie von MART verarbeitet. Cassandra speichert die Laufzeitdaten, die MART verarbeitet (es handelt sich nicht umsonst um einen Laufzeitdatenspeicher). MART kann Daten aus Cassandra lesen oder diese Daten, je nach Art der Anfrage, aktualisieren. Wie die meisten Hybriddienste ist MART zustandslos. Es behält während der Laufzeit nicht seinen eigenen Zustand bei. |
Was MART nicht ist | Die Verwaltungsebene kommuniziert mit MART über den Apigee Connect-Agent, der ein Dienstkonto mit der Rolle "Apigee Connect-Agent" verwendet (in den meisten Installationen ist dies das MART-Dienstkonto). Sie rufen MART nicht direkt auf. Weiter empfängt MART keine API-Proxyanfragen. Diese Aufrufe werden vom Runtime-Ingress-Controller verarbeitet und an den Message Processor Ihres Clusters weitergeleitet. |
Beachten Sie, dass MART und die Nachrichtenprozessoren auf denselben Laufzeitdatenspeicher (Cassandra) zugreifen können. So werden Daten wie KMS, KVMs und Caches gemeinsam verwendet.
Folgende Abbildung zeigt den Ablauf eines Apigee API-Aufrufs:
UDCA
Der Universal Data Collection Agent (UDCA) ist ein Dienst, der im Datenerhebungs-Pod auf der Laufzeitebene ausgeführt wird. Dabei werden Analyse-, Debugging- und Bereitstellungsstatusdaten extrahiert und an die UAP gesendet.
Weitere Informationen finden Sie unter Debugging-, Analyse- und Bereitstellungsstatusdaten erheben.
Informationen zur Verwaltungsebene
Die Verwaltungsebene wird in Google Cloud ausgeführt. Dazu gehören administrative Dienste wie:
- Apigee Hybrid-Benutzeroberfläche: Stellt eine Benutzeroberfläche für Entwickler zum Erstellen und Bereitstellen von API-Proxys, zum Konfigurieren von Richtlinien sowie zum Erstellen von API-Produkten und von Entwickler-Apps bereit. Administratoren können die Apigee Hybrid-Benutzeroberfläche verwenden, um den Bereitstellungsstatus zu überwachen.
- Apigee APIs: Stellt eine programmatische Schnittstelle zur Verwaltung Ihrer Organisation und Ihrer Umgebungen bereit.
- Unified Analytics Platform (Unified Analytics Platform): Empfängt und verarbeitet Daten und Analysestatusdaten auf der Laufzeitebene.
Folgende Abbildung zeigt die primären Dienste, die auf der Verwaltungsebene ausgeführt werden:
Daten und Datenstandort der Verwaltungsebene
Wenn Ihre Installation den Datenstandort verwendet, können Sie die Region angeben, in der diese Daten gespeichert werden. Weitere Informationen finden Sie unter Datenstandort mit Apigee Hybrid verwenden.
Informationen zu den Google Cloud-Diensten
In der folgenden Tabelle werden die wichtigsten Google Cloud-Dienste beschrieben, die von Hybrid genutzt werden:
Google Cloud-Dienst | Beschreibung |
---|---|
Identität | Die Authentifizierung von Nutzerkonten verwendet Google Cloud-Konten. Die Autorisierung verwendet Google Cloud-Dienstkonten. |
Rollen | Access Management für Hybrid verwendet die Rollen-Engine von Google und IAM. Außerdem werden die standardmäßigen Apigee-Rollen unterstützt. |
Ressourcenhierarchie | Ressourcen sind in Google Cloud-Projekten organisiert, die mit Apigee-Organisationen verknüpft sind. |
Cloud Operations | Bietet Logging und Messwertdatenanalyse. |
Nutzertypen
Apigee hat folgende Haupttypen an Hybridnutzern identifiziert:
Rolle | Typische Verantwortlichkeiten/Aufgaben | Interessengebiete |
---|---|---|
Systemadministratoren/Bediener |
|
|
Entwickler |
|
|
Vorteile
Apigee Hybrid hat folgende Vorteile:
- Erhöhte Agilität
- Da Hybrid in Containern bereitgestellt und ausgeführt wird, können Sie von gestaffelten Rollouts, automatischer Skalierung und anderen betrieblichen Vorteilen von Containern profitieren
- Verringerte Latenz
- Die gesamte Kommunikation mit der Hybrid-Verwaltungsebene erfolgt asynchron und wird nicht im Rahmen der Verarbeitung von Client-API-Anfragen ausgeführt.
- Erhöhte API-Akzeptanz
- Obwohl es möglich ist, interne APIs mit Apigee zu verarbeiten, ist die Verarbeitung interner APIs mit Hybrid aufgrund der geringeren Latenz und der Effizienz, die Sie mit Hybrid erzielen können, eine interessante Option. Diese gesteigerte Effizienz wird teilweise möglich, weil Ihr API-Gateway lokal und in unmittelbarer Nähe zu Ihren Back-End-Diensten ausgeführt wird. Wenn Sie Apigee verwenden, können Sie auch die Akzeptanz von Apigee erhöhen, indem Sie interne APIs über Hybrid verarbeiten.
- Bessere Kontrolle
- Viele Unternehmen setzen eine Hybridstrategie ein. Für große Unternehmen ist die Möglichkeit, in privaten Rechenzentren bereitgestellte API-Laufzeiten zu verwalten, eine wichtige Voraussetzung. Derzeit kann die Hybrid-Laufzeitebene in Google Cloud oder in Ihrem eigenen Rechenzentrum bereitgestellt werden.
Nächster Schritt
Weitere Informationen finden Sie unter Allgemeiner Überblick – eine Übersicht über den Hybrid-Installationsvorgang.