Unterschiede zwischen Apigee Edge und Apigee X

Sie lesen die Dokumentation zu Apigee Edge.
Sehen Sie sich die Apigee X-Dokumentation an.
info

In diesem Thema wird beschrieben, wie sich Apigee X (manchmal auch einfach als „Apigee“ bezeichnet) von Apigee Edge unterscheidet. Diese Informationen richten sich an bestehende Apigee Edge-Kunden, die eine Migration zu Apigee X in Betracht ziehen.

Weitere Informationen zu den Features von Apigee X finden Sie in der Funktionszusammenfassung von Apigee X.

In der folgenden Tabelle sind die Apigee API-Verwaltungsprodukte aufgeführt, die in diesem Thema verglichen werden:

Produkt Wo gehostet Verwaltet von
Apigee Edge for Public Cloud Apigee-Cloud Apigee
Apigee Edge for Private Cloud Das private Rechenzentrum des Kunden. Kunde
Apigee X Google Cloud Apigee
Apigee Hybrid Sowohl Google Cloud als auch das private Rechenzentrum des Kunden. Apigee verwaltet die Verwaltungsebene und der Kunde verwaltet die Laufzeitebene.

Apigee Edge und Apigee X im Vergleich

In den folgenden Abschnitten werden die Funktionen von Apigee Edge Public/Private Cloud mit der Verfügbarkeit von Funktionen in Apigee X und Apigee Hybrid verglichen.

Die Apigee X-Limits unterscheiden sich auch von den Apigee Edge-Limits.

Zusammenfassung der aktuellen Unterschiede

In der folgenden Tabelle werden die Unterschiede auf Featureebene zwischen Apigee X (und Apigee Hybrid) und den Plattformen von Apigee Edge for Public Cloud und Private Cloud beschrieben.

Apigee Edge-Funktion Unterstützung in Apigee X und Apigee Hybrid
API-Proxy-Revisionen

Bei der Bereitstellung nicht veränderbar

Aktive Systemdiagnosen Unterstützt für externe MIGs (mit VMs). Wird bei Verwendung von Private Service Connect nicht unterstützt. Informationen zu den Routingtypen finden Sie unter Routing konfigurieren.
Apigee-Adapter für Istio Verworfen: Wir empfehlen, stattdessen Apigee Adapter for Envoy zu verwenden.
Unternehmen und Entwickler

Es gibt eine ähnliche, aber nicht identische Lösung. Weitere Informationen finden Sie unter App-Eigentümerschaft mithilfe von AppGroups organisieren.

CwC (Code with Config)

Geplant

Deployments
  • Asynchrone Bereitstellungen
  • Der Status des Bereitstellungsstatus basiert auf dem Zeitpunkt, zu dem die Laufzeitebene mit der Verwaltungsebene "eingecheckt" ist.
Umgebungen
  • Unterstützung für Umgebungsgruppen
  • Self-Service über die Apigee-UI und die APIs
  • Mehr Flexibilität bei der Bereitstellungstopologie
  • Ein MP-Pod kann nur eine Umgebung bereitstellen

Weitere Informationen finden Sie unter Umgebungen und Umgebungsgruppen.

Gehostete Ziele

Verwenden Sie Cloud Run oder Cloud Functions.

Verarbeitung von HTTP/1.1-Headerfeldnamen Wandelt HTTP/1.1-Header-Feldnamen bei der Weiterleitung an das Backend in Kleinbuchstaben um. In Apigee Edge wird die Groß-/Kleinschreibung von Header-Feldnamen beibehalten.
IAM-Rollen für eine detaillierte rollenbasierte Zugriffssteuerung

Geplant

JSONPath mit [@.length-x]

Die Verwendung von [@.length-x] in JSONPath-Ausdrücken wird in Apigee X nicht unterstützt. Die JSONPath-Spezifikation besagt, dass Ausdrücke von der zugrunde liegenden Scriptsprache abhängen. length-x ist ein JavaScript-Konstrukt, kein Java-Konstrukt, und [@.length-x] wurde nicht als Teil der Spezifikation implementiert. In Apigee X wird der Ausdruck [@.length-x] durch das Indexierungsschema ([-x]) ersetzt.

Für dieses Beispiel:

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

Die Eingabe $.books[@.length-1] gibt in Apigee Edge {“name”: “B”} und in Apigee X [{“name”: “B”}] zurück.

Keystores/Truststores

Northbound als Kubernetes-Secrets verwaltet

KVMs
  • Sie können verschlüsselte, auf die Umgebung ausgerichtete KVMs in der Apigee-UI erstellen. KVMs sind immer verschlüsselt. Sie können KVM-Einträge in der Benutzeroberfläche nicht hinzufügen, aktualisieren oder aufrufen.
  • Verwenden Sie das Attribut private. mit allen Variablen, wenn Sie mit dem Befehl GET auf eine KVM zugreifen, um die KVM-Informationen in einer Debug-Sitzung (Trace) auszublenden. Wenn das Attribut private. nicht verwendet wird, wird die KVM weiterhin verschlüsselt. Die KVM-Informationen werden jedoch in der Trace-Fehlerbehebungs-Sitzung als entschlüsselt angezeigt. Es wird keine Ausnahme ausgelöst.
  • Sie können KVM-Einträge mit der keyvaluemaps.entries API oder der KeyValueMapOperations-Richtlinie verwalten.
  • Sie können für einige der gleichen Anwendungsfälle wie KVMs auch Attribut-Gruppen verwenden. Weitere Informationen finden Sie unter Attribut-Gruppen verwenden.
  • Mit dem <MapName>-Element kann die KeyValueMapOperations-Richtlinie festlegen, welche KVM zur Laufzeit dynamisch verwendet werden soll.

Weitere Informationen zum Erstellen von KVMs in der Benutzeroberfläche finden Sie unter Schlüsselwertzuordnungen verwenden. Informationen zur Auswahl des richtigen Mechanismus zur Datenpersistenz finden Sie unter Auf Konfigurationsdaten zugreifen.

Mikrogateway Wir empfehlen stattdessen die Verwendung von Apigee Adapter for Envoy.
Monetarisierung Siehe Unterschiede zur Monetarisierung
Node.js
  • Node.js API-Proxys werden nicht unterstützt.
  • Apigee empfiehlt, Node.js-Anwendungen als separate Container in Kubernetes zu hosten (gleicher oder unterschiedlicher Cluster)
Nordbound mTLS Wird über Google Cloud-Load Balancer unterstützt. Weitere Informationen finden Sie unter Apigee X: Nordgerichtetes gegenseitiges TLS mit externem Application Load Balancer.
OAuth Die neue RevokeOAuthv2-Richtlinie führt Widerrufe anhand von Endnutzer-ID und/oder App-ID aus. Diese Richtlinie ersetzt die Apigee Edge API, um OAuth2-Tokens zu widerrufen.
Richtlinien
  • Neue Richtlinien:
    • AssertCondition-Richtlinie: Wertet zur Laufzeit eine bedingte Anweisung in den Anfrage- oder Antwortabläufen aus.
    • CORS-Richtlinie: Ermöglicht JavaScript-XMLHttpRequest-Aufrufen (XHR), die auf einer Webseite ausgeführt werden, mit Ressourcen von Nicht-Ursprungsdomains zu interagieren.
    • DataCapture-Richtlinie: Ersetzt die StatisticsCollector-Richtlinie.
    • ExternalCallout-Richtlinie: Sendet gRPC-Anfragen an Ihren gRPC-Server, um benutzerdefiniertes Verhalten zu implementieren, das von Apigee-Richtlinien nicht unterstützt wird.
    • GraphQL-Richtlinie: Parst GraphQL-Nutzlasten in Nachrichtenablaufvariablen, überprüft GraphQL-Anfragen anhand eines Schemas oder beides.
    • PublishMessages-Richtlinie: Veröffentlicht Informationen zum API-Proxy-Ablauf in einem Google Cloud Pub/Sub-Thema.
    • RevokeOAuthv2-Richtlinie: Führt Widerrufe anhand von Nutzer-ID und/oder App-ID aus.
    • TraceCapture-Richtlinie: Fügt den Trace-Daten Ihrer Apigee-Laufzeit zusätzliche Variablen hinzu.
  • Nicht unterstützte Richtlinie:
    • StatisticsCollector-Richtlinie (ersetzt durch die neue DataCapture-Richtlinie)
  • Geänderte Richtlinien:
reasonPhrase Nicht unterstützt.
Ressourcen Ressourcen auf Organisationsebene können nicht verwendet werden
Rollen und Berechtigungen
  • Wird über den IAM-Dienst der Google Cloud Console verwaltet
  • Einige vorkonfigurierte Rollen sind verfügbar
  • Sie können benutzerdefinierte Rollen erstellen, die andere Google Cloud-Berechtigungen enthalten können

Weitere Informationen finden Sie unter Nutzer und Rollen.

Sense Verwenden Sie Erweiterte API-Sicherheit.
SOAP-Dienste im Proxy-Assistenten erstellen Nicht unterstützt. Siehe wsdl2apigee, ein Open-Source-Projekt, das SOAP-Dienstprogramme zur Verwendung mit Apigee bereitstellt.
Trace-/Fehlerbehebungssitzungen Siehe Unterschiede zu Trace.
Virtuelle Hosts

Für Apigee Hybrid:

  • Das Ingress wird über Anthos Service Mesh implementiert.
  • Die Schlüssel und Zertifikate werden direkt in Kubernetes bereitgestellt.

Für Apigee X:

  • Jede Instanz stellt einen HTTPS-Endpunkt über ein selbst signiertes Zertifikat zur Verfügung. Die CA für das Zertifikat kann durch Abfragen der Organisation heruntergeladen werden.

Unterschiede zu Trace

In der folgenden Tabelle werden die Unterschiede in der Funktionsweise von Trace in Apigee X und Hybrid im Vergleich zu Apigee Edge Cloud verglichen:

Funktion Apigee Edge-Cloud Apigee X und Apigee Hybrid
Pünktlichkeit Echtzeit; synchron Leichte Verzögerung; asynchron
Name/ID der Sitzung Akzeptiert den Sitzungsnamen des Nutzers Der Sitzungsname des Nutzers wird nicht akzeptiert
Filter Einfache Filterunterstützung wie die Filterung nach Header und Abfrageparameter Unterstützung komplexer Filterlogiken, einschließlich AND- und OR-Operationen. Zugriff auf alle in der Referenz zu Ablaufvariablen genannten Ablaufvariablen. Die Syntax ist dieselbe wie bei Bedingungen, wie in der Referenz zu Bedingungen gezeigt.
Zeitüberschreitung der Sitzung

Definiert die Länge der Debug-Sitzung und den Aufbewahrungszeitraum.

Der Standardwert beträgt 20 Minuten, wenn er über API-Aufrufe initiiert wird, und 10 Minuten, wenn er in der Benutzeroberfläche initiiert wird.

Definiert nur die Länge der Fehlerbehebungssitzung. Der Ausgangspunkt ist, wenn der Nachrichtenprozessor die Anfrage zur Ausführung im Fehlerbehebungsmodus empfängt.

Der Standardwert beträgt 5 Minuten, wenn die Sitzung mit der API initiiert wurde, und 10 Minuten, wenn sie in der Benutzeroberfläche initiiert wurde.

Die Daten werden 24 Stunden lang aufbewahrt, bevor sie automatisch gelöscht werden.

Sitzungsgültigkeit

Dauer, für die die Anfrage zur Sitzungserstellung gültig ist. Wenn die Fehlerbehebungssitzung nicht innerhalb dieser Zeitspanne gestartet wird, können die Synchronizer die Anfrage zur Sitzungserstellung ignorieren. Die Uhren Ihrer Synchronizers müssen synchronisiert werden, wie unter Voraussetzungen beschrieben.
Anzahl der Trace-Anfragen Maximal 20 pro Nachrichtenprozessor Der Standardwert ist 10 pro Nachrichtenprozessor, maximal 15.
API Apigee Edge-Cloud Apigee X
Apigee X stellt die Debug Session API und die Debug Session Data API bereit, unterstützt aber nicht die folgenden Funktionen über die Apigee X APIs:
Fehlerbehebungssitzung beenden

Bestimmte Transaktionen löschen

Unterschiede bei der Monetarisierung

In der folgenden Tabelle werden die wichtigsten Features der Apigee Edge-Monetarisierung und der Apigee X-Monetarisierung verglichen.

Apigee Edge-Monetarisierung Apigee X/Hybrid-Monetarisierung
Tarifpakete sind mit API-Produktbundles verknüpft, die mehreren API-Produkten zugeordnet sein können Tarifpakete sind mit API-Produkten verknüpft (1:1-Beziehung)
Anwendungenstwickler erwerben Tarifpakete Anwendungsentwickler erwerben API-Produkte
Kontingente werden auf der API-Proxyebene verwaltet Kontingente werden auf der API-Produktebene (Geschäftsebene) verwaltet
Veröffentlichte Tarifpakete können nur abgelaufen sein; sie können nicht bearbeitet oder gelöscht sein Veröffentlichte Tarifpakete sind möglicherweise abgelaufen, bearbeitet, in Entwürfe verschoben oder gelöscht worden
Komplexe Konfiguration (kein Assistent oder Preview-Tool) Vereinfachte Konfiguration der Tarifpakete mithilfe des Assistenten und des Preview-Tools
Die Richtlinie MonetizationLimitsCheck blockiert den Zugriff, nachdem der erste API-Aufruf verarbeitet wurde, wenn der Anwendungsentwickler kein Abo abgeschlossen hat. Die Richtlinie MonetizationLimitsCheck blockiert sofort den Zugriff, wenn der App-Entwickler kein Abo erworben hat oder das Kontingent überschreitet
Monetarisierungsdaten für Transaktionen können mithilfe benutzerdefinierter Variablen in der Richtlinie zur Transaktionsaufzeichnung erfasst werden. Apigee erfasst automatisch Monetarisierungsdaten. Monetarisierungsdaten für Transaktionen können mit der DataCapture-Richtlinie überschrieben werden. Weitere Informationen finden Sie unter Monetarisierungsdaten erfassen.
Prepaid- und Postpaid-Konten können sowohl für Entwickler als auch für Tarifpakete konfiguriert werden. Prepaid- und Postpaid-Konten können nur für Entwickler konfiguriert werden.

Welche Apigee Edge-Features werden in Apigee X nicht unterstützt?

Google plant keine Unterstützung für die folgenden Funktionen:

  • Apigee Edge-Erweiterungen
  • OpenAPI-Spezifikationsspeicher
  • APIs zum Suchen oder Aufheben von OAuth-Zugriffstokens (da Tokens gehasht sind)
  • OAuth v1- oder OAuth OAuthv1.0a-Richtlinie
  • Trireme (EOL am 10.10.2019)
  • Header mit dem Präfix „X-Apigee-“ werden in Apigee X nicht unterstützt und aus Anfragen und Antworten entfernt, bevor sie an Ziele und Clients gesendet werden.

API-Vergleich

Im Allgemeinen haben die meisten Apigee Edge APIs eine Entsprechung für Apigee API. Dieser Abschnitt enthält folgende Informationen:

Zusammenfassung der Änderungen mit der API

Im Folgenden werden die Änderungen im Verhalten in allen Apigee APIs mit Bezug zu den Apigee Edge-APIs aufgeführt.

Verhalten Apigee Edge APIs: Apigee X-APIs
Basisdomain api.enterprise.apigee.com apigee.googleapis.com
Medientypen application/json
application/xml
application/json
Authentifizierung OAuth2, SAML, Basic OAuth2
Zeitstempel in Schlüsseln int64-Format
{
  "createdAt": 1234,
  "lastModifiedAt": 5678
}
String-Format
{
  "createdAt": "1234",
  "lastModifiedAt": "5678"
}
Struktur des Abfrageparameters expand=false
[
        "helloworld",
        "weather"
      ]
{
  "proxies": [
    {
      "name": "helloworld"
    },
    {
      "name": "weather"
    }
  ]
}
Suchparameter mit einem Unterstrich Unterstützt (_optimal=true) Nicht unterstützt (optimal=true)
Attribute in Nutzlasten:
  • created_by
  • modified_by
  • self
Unterstützt Nicht unterstützt
Standardwerte in Nutzlasten Enthalten Nicht enthalten
Fehler bei der Verarbeitung der Struktur
{
        "code": "...",
        "message": "..",
        "contexts": []
      }
{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}
Antwort für das Löschen des Cache Gibt 200 OK und Cache-Details zurück Liefert: 204 No Content
Cache-API-Vorgänge List, create, get, update, delete, clear all, und clear-Optionen. Nur Liste und Löschen. Der kurzlebige L1-Cache wird automatisch erstellt, wenn Sie einen API-Proxy bereitstellen. Weitere Informationen finden Sie unter Cache-Internes.

Unterschiede zwischen den Apigee Edge- und Apigee X-Messwert-APIs

In der Zusammenfassung der Änderungen mit der API sind die allgemeinen Unterschiede zwischen der Apigee Edge API und der Apigee X API aufgeführt. In der folgenden Tabelle sind bestimmte Unterschiede für die Messwert-APIs aufgeführt:

Funktion Apigee Edge APIs: Apigee X-APIs
API-Endpunkt api.enterprise.apigee.com apigee.googleapis.com
Tägliche Analytics-E-Mails Keine unterstützten APIs
Async Query List API Liste asynchroner Analyseabfragen abrufen Das Attribut userId wird in der Antwort nicht berücksichtigt. Weitere Informationen finden Sie unter Methode: organizations.environments.queries.list.
APIs für benutzerdefinierte Berichte Reports API Die Attribute createdBy und lastModifiedBy wurden aus der Antwort entfernt. Siehe Reports API.

Nicht unterstützte Apigee Edge APIs

In der folgenden Tabelle sind die nicht unterstützten Apigee Edge-APIs aufgeführt, für die es keine äquivalente Apigee X API gibt.

API-Kategorie Nicht unterstützte Apigee Edge APIs
API-Monitoring Keine unterstützten APIs
API-Proxys
  • Bereitstellung des API-Proxys aufheben
  • npm-Abhängigkeiten abrufen
  • npm-Module verwalten
Prüfungen Stackdriver Logging API verwenden
Im Cache gespeicherte Logs Keine unterstützten APIs
Unternehmen Keine unterstützten APIs
Unternehmens-Apps Keine unterstützten APIs
App-Familie des Unternehmens Keine unterstützten APIs
App-Schlüssel des Unternehmens Keine unterstützten APIs
Fehlerbehebungssitzungen
  • Trace-Sitzungen können nicht beendet werden
  • Einzelne Transaktionen können nicht gelöscht werden

Weitere Informationen finden Sie unter Unterschiede zu Trace.

Entwickler-App Anzahl der API-Ressourcen abrufen
Entwickler-App-Familie Keine unterstützten APIs
Erweiterungen Keine unterstützten APIs
Schlüsselspeicher: Truststore Schlüsselspeicher oder Truststore testen
LDAP Keine unterstützten APIs
Monetarisierung Keine unterstützten APIs
OAuthV2 Keine unterstützten APIs
Richtlinien Keine unterstützten APIs
Ressourcendateien
  • API-Proxy-Revisionsbereich
  • Organisationsbereich
Sense Keine unterstützten APIs
Nutzer und Nutzerrollen APIs der Google Identitäts- und Zugriffsverwaltung (IAM) verwenden, wie unter Nutzer, Rollen und Berechtigungen mit APIs verwalten beschrieben
Virtuelle Hosts Keine unterstützten APIs

Apigee Edge for Private Cloud im Vergleich zu Apigee Hybrid

In der folgenden Tabelle werden Apigee Edge for Private Cloud und Apigee Hybrid verglichen:

Dienst Produkt- oder Funktionsbereich von Apigee
Apigee Edge for Private Cloud Apigee Hybrid
Analytics Qpid- und Postgres-Server Ein Datenerfassungs-Pod in der Laufzeitebene verwendet fluentd und UDCA (Universal Data Collection Agent), um Analysen zu erfassen und die Daten an den UAP (Unified Analytics Platform) auf der Verwaltungsebene zu senden.
API-Proxy-Gateway Message Processor Der Message Processor (MP) verarbeitet eingehende Anfragen. MPs werden als eine oder mehrere containerisierte Anwendungen in der Laufzeitebene implementiert.
Persistenz Cassandra-Knoten oder -Ring Cassandra bietet Persistenz für die Features KMS, KVM, Kontingent und Cache.
Deployment ZooKeeper Der Synchronizer stellt sicher, dass API-Proxy-Konfigurationen, Umgebungsinformationen und andere Daten zwischen der Verwaltungs- und der Laufzeitebene aktuell sind.
Administrative Benutzeroberfläche Die Apigee Edge-Benutzeroberfläche wird auf dem Verwaltungsserver gehostet Die Apigee-Benutzeroberfläche wird auf der Verwaltungsebene gehostet.
Lastenausgleich Router Ein Istio Ingress-Controller gibt Anfragen an die containerisierte Anwendung Message Processor (MP) auf der Laufzeitebene aus.
APIs Verwaltungsserver Apigee APIs sind über den Management Server und MART verfügbar. MART interagiert mit dem lokalen Cassandra-Datenspeicher und dient als API-Anbieter, damit die Apigee APIs auf Laufzeitdatenentitäten zugreifen und diese verwalten können.
Messwerte Jede mit JMX konfigurierte Komponente Von einem einzelnen Prometheus-Server pro Cluster für alle Dienste verwaltet.