Was ist Apigee?

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Apigee ist eine Plattform zum Entwickeln und Verwalten von APIs. Durch das Bereitstellen von Diensten mit einer Proxy-Ebene bietet Apigee eine Abstraktion oder Fassade für Ihre Backend-Dienst-APIs und bietet Sicherheit, Ratenbegrenzung, Kontingente, Analyse und mehr.

Video: In diesem kurzen Video finden Sie eine Einführung in die Apigee API-Verwaltung.

Gesamtarchitektur

Das folgende Bild zeigt die allgemeine Architektur von Apigee:

Überblick über die Apigee-Architektur.

Wie das Bild zeigt, besteht Apigee aus den folgenden primären Komponenten:

  • Apigee-Dienste:Die APIs, die Sie zum Erstellen, Verwalten und Bereitstellen Ihrer API-Proxys verwenden.
  • Apigee-Laufzeit: Eine Reihe von containerisierten Laufzeitdiensten in einem von Google verwalteten Kubernetes-Cluster. Der gesamte API-Traffic wird von diesen Diensten weitergeleitet und verarbeitet.

Darüber hinaus verwendet Apigee andere Komponenten, darunter:

  • Google Cloud-Dienste: Bieten Funktionen für Identitätsverwaltung, Logging, Analysen, Messwerte und Projektmanagement.
  • Backend-Dienste:Wird von Ihren Anwendungen verwendet, um Laufzeitzugriff auf Daten für Ihre API-Proxys zu gewähren.

Ausführlichere Erläuterungen finden Sie unter Komponenten von Apigee.

Das folgende Bild zeigt die Verbindung zwischen Ihrem Cloudprojekt und Google-Diensten über ein privates Peering-Netzwerk:

Architekturdiagramm mit den VPC-Verbindungen.

Ein Beispiel für die Verwendung von Apigee finden Sie in diesem Webcast, in dem Walgreens APIs und Apigee verwendet, um ein umfangreiches Anwendungsangebot für Fotodrucke, Rezepte und mehr bereitzustellen.

Genug Theorie!

Apigee einrichten und dann Erstellen Sie Ihren ersten Proxy!  

Flavors von Apigee

Apigee gibt es in folgenden Flavors:

  • Apigee: Eine von Apigee gehostete Cloud-Version, in der Apigee die Umgebung verwaltet. So können Sie sich auf den Aufbau Ihrer Dienste und die dEfinition der APIs für diese Dienste konzentrieren.
  • Apigee Hybrid: Eine Hybridversion bestehend aus einer lokal installierten oder einem Cloud-Anbieter Ihrer Laufzeit und einer in der Cloud von Apigee ausgeführten Verwaltungsebene. In diesem Modell sind API-Traffic und -Daten innerhalb Ihrer eigenen vom Unternehmen zugelassenen Grenzen begrenzt.

Digitale Beschleunigung

Dieses Video bietet Ihnen einen schnellen Überblick, wie Apigee Sie bei der Weiterentwicklung eines digitalen Geschäfts unterstützt.

Zwischen der Dienstverwaltung und der API-Verwaltung wählen

Dieses Video zeigt die wichtigsten Unterschiede zwischen Dienstverwaltung und API-Verwaltung.

Bereitstellung Ihrer Dienste im Web

Unternehmen möchten heute ihre Backend-Dienste im Web verfügbar machen, damit diese Dienste von Apps genutzt werden können, die auf Mobilgeräten und Desktop-Computern ausgeführt werden. Ein Unternehmen möchte Dienste verfügbar machen, die Produktpreise und Verfügbarkeitsinformationen, Verkaufs- und Bestelldienste, Bestellverfolgungsdienste und alle anderen von Clientanwendungen erforderlichen Dienste zur Verfügung stellen.

Unternehmen stellen oft Dienste als eine Reihe von HTTP-Endpunkten zur Verfügung. Entwickler von Clientanwendungen senden dann HTTP-Anfragen an diese Endpunkte. Je nach Endpunkt gibt der Dienst dann möglicherweise Daten im XML- oder JSON-Format an die Clientanwendung zurück.

Die Clientanwendungen, die diese Dienste nutzen, können als eigenständige Apps für Mobilgeräte oder Tablets, als HTML5-Apps im Browser oder als jede andere Art von Anwendung implementiert werden, die eine Anfrage an einen HTTP-Endpunkt stellen und Anwortdaten verarbeiten kann. Diese Anwendungen werden möglicherweise von demselben Unternehmen entwickelt und veröffentlicht, von dem die Dienste bereitgestellt werden, oder von Drittanbieteranwendungsentwicklern, die öffentlich verfügbare Dienste nutzen.

Die folgende Abbildung zeigt diesen Modelltyp:

Verschiedene Arten von Anwendungen wie mobile Apps, Point-of-Sale-Apps, Partner- und Web-Apps stellen eine Verbindung zu Backend-Diensten wie ESB, SOA, Anwendungsservern und Datenbanken her.

Da Anbieter ihre Dienste über das Web zur Verfügung stellen, müssen sie sicherstellen, dass sie alle erforderlichen Maßnahmen ergriffen haben, um ihre Dienste vor unbefugtem Zugriff zu schützen. Berücksichtigen Sie als Dienstanbieter Folgendes:

  • Sicherheit:Wie steuern Sie den Zugriff auf Ihre Dienste, um unbefugte Zugriffe zu verhindern?
  • Kompatibilität:Funktionieren Ihre Dienste auf verschiedenen Plattformen und Geräten?
  • Messbarkeit:Wie überwachen Sie Ihre Dienste, um sicherzustellen, dass sie verfügbar sind?
  • Und viele andere Aspekte

Nachdem eine Clientanwendung veröffentlicht wurde, die auf Dienste zugreift, muss der Dienstanbieter sicherstellen, dass diese Dienste mit der Zeit weiter funktionieren, wenn sie weitere Dienste hinzufügen, ändern oder löschen. Der Dienstanbieter muss außerdem in der Lage sein, Anwendungsentwickler über Änderungen an den Diensten zu informieren, damit Clientanwendungen mit diesen Diensten synchron bleiben.

Clientanwendungsentwickler stehen vor Herausforderungen, wenn sie Dienste von verschiedenen Anbietern nutzen möchten. Dienstanbieter haben derzeit viele Technologien, um ihre Dienste verfügbar zu machen. Die gleiche Clientanwendung muss möglicherweise einen Mechanismus verwenden, um einen Dienst von einem Anbieter zu nutzen, und einen anderen Mechanismus, um einen Dienst von einem anderen Anbieter zu nutzen. Anwendungsentwickler können sogar mit verschiedenen Mechanismen konfrontiert werden, um Dienste desselben Anbieters zu nutzen.

Dienste über Apigee verfügbar machen

Apigee ermöglicht Ihnen, unabhängig von der Implementierung des Dienstes, einen sicheren Zugriff auf Ihre Dienste mit einer klar definierten API zu bieten, die unabhängig von der Dienstimplementierung konsistent ist. Eine konsistente API:

  • Ermöglicht Anwendungsentwicklern die Nutzung Ihrer Dienste.
  • Ermöglicht das Ändern der Implementierung des Backend-Dienstes, ohne die öffentliche API zu beeinträchtigen.
  • Ermöglicht die Nutzung der Analyse-, Entwickler-Portal- und anderer in Apigee integrierten Funktionen.

In der folgenden Abbildung ist eine Architektur dargestellt, in der Apigee die Anfragen von Clientanwendungen an die Backend-Dienste verarbeitet:

Apigee steht zwischen Clientanwendungen und Backend-Diensten.

Anstatt dass Anwendungsentwickler Ihre Dienste direkt nutzen, greifen sie auf einen API-Proxy zu, der in Apigee erstellt wird. Der API-Proxy fungiert als Zuordnung eines öffentlich verfügbaren HTTP-Endpunkts zu Ihrem Backend-Dienst. Durch das Erstellen eines API-Proxys kann Apigee die Sicherheits- und Autorisierungsaufgaben zum Schutz Ihrer Dienste verarbeiten und diese analysieren und überwachen.

Da Anwendungsentwickler HTTP-Anfragen an einen API-Proxy und nicht direkt an Ihre Dienste senden, müssen Entwickler nichts über die Implementierung Ihrer Dienste wissen. Entwickler sollten wissen:

  • Die URL des API-Proxy-Endpunkts.
  • Alle Abfrageparameter, Header oder Textparameter, die in einer Anfrage übergeben werden.
  • Alle erforderlichen Anmeldedaten für die Authentifizierung und Autorisierung
  • Das Format der Antwort, einschließlich des Formats der Antwortdaten, z. B. XML oder JSON.

Der API-Proxy isoliert den App-Entwickler vom Backend-Dienst. Daher können Sie die Dienstimplementierung ändern, solange die öffentliche API konsistent bleibt. Sie können beispielsweise eine Datenbankimplementierung ändern, Ihre Dienste auf einen neuen Host verschieben oder andere Änderungen an der Dienstimplementierung vornehmen. Durch die Aufrechterhaltung einer konsistenten Frontend-API funktionieren vorhandene Clientanwendungen weiterhin, unabhängig von Änderungen am Backend.

Sie können Richtlinien für den API-Proxy verwenden, um einem Dienst Funktionen hinzuzufügen, ohne Änderungen am Backend-Dienst vorzunehmen. Sie können beispielsweise Richtlinien zu Ihrem Proxy hinzufügen, um Datentransformationen und Filterungen durchzuführen, Sicherheit hinzuzufügen, eine bedingte Logik oder benutzerdefinierten Code auszuführen und viele weitere Aktionen auszuführen. Wichtig: Implementieren Sie Richtlinien auf Apigee und nicht auf Ihrem Backend-Server.

Weitere Informationen finden Sie unter Informationen zu APIs und API-Proxys.

API-Produkt erstellen

Ein API-Proxy ist der HTTP-Endpunkt in Apigee, mit dem Entwickler auf Ihre Backend-Dienste zugreifen. Obwohl es möglich ist, sind in der Regel keine einzelnen API-Proxys verfügbar. Stattdessen gruppieren Sie einen oder mehrere API-Proxys in einem API-Produkt.

Ein API-Produkt ist ein Paket mit API-Proxys in Kombination mit einem Serviceplan. Dieser Dienst kann Zugriffsbeschränkungen für API-Proxys festlegen, Sicherheit gewährleisten, Monitoring und Analysen ermöglichen sowie zusätzliche Funktionen bereitstellen. API-Produkte sind auch der zentrale Mechanismus, den Apigee für die Autorisierung und Zugriffssteuerung für Ihre APIs verwendet.

Sie haben große Flexibilität bei der Erstellung von API-Produkten. Beispielsweise können mehrere API-Produkte denselben API-Proxy verwenden. Die folgende Abbildung zeigt drei API-Produkte. Beachten Sie, dass alle Produkte Zugriff auf API-Proxy 3 ermöglichen, aber nur Produkt A erlaubt Zugriff auf API-Proxy 1.

Produkt A greift auf Proxy 1 und 3 zu. Produkt B greift auf Proxy 3 zu.
    Produkt C greift auf die Proxys 2, 3 und 4 zu.

Sie können für jedes API-Produkt unterschiedliche Eigenschaften festlegen. Sie können beispielsweise ein API-Produkt mit einer niedrigen Zugriffsbeschränkung, z. B. 1.000 Anfragen pro Tag, zu einem Sonderpreis anbieten. Anschließend veröffentlichen Sie ein anderes API-Produkt, das Zugriff auf denselben API-Proxy, jedoch mit einem viel höheren Zugriffsbeschränkungen zu einem höheren Preis bietet. Alternativ können Sie ein kostenloses API-Produkt erstellen, das schreibgeschützten Zugriff auf Ihre Dienste ermöglicht, und dann ein API-Produkt an dieselben API-Proxys verkaufen, die Lese- und Schreibzugriff erlauben.

Weitere Informationen finden Sie unter API-Produkte erstellen.

Clientseitige Anwendung auf das API-Produkt zugreifen lassen

Wenn Anwendungsentwickler entscheiden, auf Ihre Dienste zuzugreifen, müssen sie ihre Clientanwendung zuerst bei Ihrem API-Produkt registrieren.

Eine Clientanwendung benötigt einen Schlüssel, um eine mit einem API-Produkt verknüpfte API aufzurufen.

Bei der Registrierung erhält ein Anwendungsentwickler einen API-Schlüssel, den er in jede Anfrage an einen API-Proxy des API-Produkts aufnehmen muss. Dieser Schlüssel wird authentifiziert. Wenn die Authentifizierung erfolgreich ist, kann die Anfrage auf den Backend-Dienst zugreifen.

Sie können den Schlüssel jederzeit widerrufen, damit die Clientanwendung keinen Zugriff mehr auf Ihre Dienste hat. Alternativ können Sie ein Zeitlimit für einen Schlüssel definieren, sodass der Entwickler den Schlüssel nach einer bestimmten Zeit aktualisieren muss.

Sie entscheiden, wie Sie Registrierungsanfragen von Entwicklern bearbeiten, um auf Ihre API-Produkte zuzugreifen. Mit den Apigee Developer-Diensten können Sie den Registrierungsprozess automatisieren. oder Sie können den Zugriff manuell steuern.

API-Produkte erstellen und Entwicklern zur Verfügung stellen

  1. Erstellen Sie einen oder mehrere API-Proxys, die öffentlich verfügbaren URLs Ihren Backend-Diensten zuordnen.
  2. Erstellen Sie ein API-Produkt, das Ihre API-Proxys bündelt.
  3. Stellen Sie Ihre API-Proxys und das API-Produkt bereit.
  4. Informieren Sie Ihre Entwickler, dass das API-Produkt verfügbar ist.

Wenn Anwendungsentwickler etwas über die Verfügbarkeit Ihres API-Produkts wissen, tun sie Folgendes:

  1. Registrieren Sie die Clientanwendungen Ihres API-Produkts.
  2. Sie erhalten einen API-Schlüssel für das API-Produkt.
  3. Senden Sie Anfragen an Ihre Dienste über API-Proxys, die im API-Produkt enthalten sind, und übergeben Sie den API-Schlüssel mit jeder Anfrage.

Komponenten von Apigee

Apigee besteht aus API-Laufzeit, -Monitoring und -Analyse sowie Entwicklerdiensten, die eine umfassende Infrastruktur für die Erstellung, Sicherheit, Verwaltung und den Betrieb von APIs bieten.

Das folgende Bild zeigt die allgemeine Architektur von Apigee:

Allgemeine Architektur von Apigee

Apigee-Laufzeit

Bei Apigee-Diensten geht es darum, APIs zu erstellen und zu nutzen, unabhängig davon, ob Sie API-Proxys als Dienstanbieter erstellen oder APIs, SDKs und andere praktische Dienste als Anwendungsentwickler verwenden.

Die API-Laufzeit bietet Tools zum Hinzufügen und Konfigurieren Ihrer API-Proxys, zum Einrichten von API-Produkten sowie zum Verwalten von Anwendungsentwicklern und Clientanwendungen. Es entfernt viele häufige Verwaltungsprobleme von Ihren Backend-Diensten. Wenn Sie einen API-Proxy hinzufügen, können Sie Richtlinien auf den API-Proxy anwenden, um Sicherheit, Ratenbegrenzung, Mediation, Caching usw. hinzuzufügen. Sie können das Verhalten Ihres API-Proxys auch anpassen, indem Sie benutzerdefinierte Skripts anwenden, Aufrufe an APIs und Dienste von Drittanbietern senden usw. Weitere Informationen finden Sie unter APIs und API-Proxys.

Apigee-Monitoring und -Analysen

Apigee API Analytics bietet leistungsstarke Tools, um kurze und langfristige Nutzungstrends Ihrer APIs zu sehen. Sie können Ihre Zielgruppe nach den wichtigsten Entwicklern und Anwendungen segmentieren, die Nutzung nach API-Methode verstehen, um zu ermitteln, wo sich Investitionen lohnen, und benutzerdefinierte Berichte mit Informationen auf Unternehmens- oder Betriebsebene erstellen.

Bei der Übertragung von Daten über Apigee werden verschiedene Standardtypen von Informationen erfasst, einschließlich URL, IP, Nutzer-ID für API-Aufrufinformationen, Latenz, Fehlerdaten usw. Sie können Richtlinien erstellen, um andere Informationen wie Header, Abfrageparameter und Teile einer aus XML oder JSON extrahierten Anfrage oder Antwort hinzuzufügen. Diese Informationen werden asynchron aus dem Anfrage-/Antwort-Ablauf erfasst und haben daher keine Auswirkungen auf die API-Leistung.

Mit der Apigee-UI können Sie mehrere Messwerte und Dimensionen in einem Browser anzeigen, wie in der folgenden Abbildung dargestellt:

Ein Analyse-Dashboard, das die Anzahl der Richtlinienfehler in der Grafik und in Tabellenform anzeigt.

Sie können den Dienst aber auch über eine Befehlszeile oder über RESTful APIs aufrufen und steuern. Weitere Informationen finden Sie unter Übersicht über API Analytics.

Apigee-Entwicklerplattform

Apigee bietet Entwicklerdienste, die Ihnen Folgendes ermöglichen:

  • Verwalten Sie die Community von Anwendungsentwicklern, die Ihre Dienste verwenden.
  • Arbeiten Sie mit internen und externen Entwicklern zusammen und formulieren Sie die Beziehungen zu Finanzmodellen.
  • Laden Sie Entwickler ein und erstellen Sie ein Entwicklerportal. Anwendungsentwickler stellen eine Verbindung zu Ihrem Portal her, um auf die API-Dokumentation zuzugreifen und mehr über Ihre öffentlich verfügbaren API-Produkte und die Verwaltung von API-Schlüsseln zu erfahren.

Jeder Apigee-Kunde kann sein eigenes Entwicklerportal in der Cloud erstellen.

Mit Apigee können Sie zwei Arten von Portalen erstellen: