Was ist Azure API Management?

Abgeschlossen

Beginnen wir mit einer kurzen Übersicht über Azure API Management und seine wichtigsten Features. Diese Übersicht soll Ihnen helfen zu entscheiden, ob Azure API Management eine geeignete Lösung darstellen könnte, um die API-Komplexität in Ihrem Unternehmen zu reduzieren.

Was ist die API-Lebenszyklusverwaltung?

Die API-Lebenszyklusverwaltung ist der Prozess der Verwaltung einer API während ihrer gesamten Lebensdauer, von ihrem Entwurf und ihrer Erstellung bis zu ihrer Ausmusterung und Außerbetriebnahme. Für die Zwecke dieses Moduls fahren wir fort, nachdem Ihre APIs bereits entworfen, codiert und bereitgestellt worden sind. Konzentrieren wir uns auf die restlichen Aufgaben der API-Lebenszyklusverwaltung, die Folgendes umfassen:

  • Bereitstellen von API-Dokumentation, Tests und Codebeispielen
  • Durchführen von Onboarding und Offboarding von Benutzern
  • Verwalten von API-Abonnements und der Verteilung von Abonnementschlüsseln
  • Kontrolliertes und sicheres Implementieren von API-Revisionen
  • Verwalten mehrerer Versionen einer API
  • Implementieren von API-Zugriffssteuerungen wie Authentifizierung und Begrenzungen der Datenübertragungsrate von Aufrufen
  • Bereitstellen von API-Berichten für Nutzung, Fehler usw.
  • Verwalten von Analysen sowohl für Ihr Unternehmen als auch für die Entwickler, die die APIs verwenden

Azure API Management: Definition

Azure API Management ist ein Clouddienst, der Ihnen eine Plattform für die Veröffentlichung, Sicherung, Pflege und Analyse aller APIs Ihres Unternehmens bietet. Azure API Management erfüllt diese Aufgaben, indem drei Hauptkomponenten angeboten werden:

  • Gateway
  • Verwaltungsschnittstelle
  • Entwicklerportal

The main components of Azure API Management include the administration interface, gateway, and developer portal.

Wichtig

Azure API Management hostet nicht Ihre eigentlichen APIs. Ihre APIs verbleiben dort, wo sie ursprünglich bereitgestellt wurden. Stattdessen fungiert Azure API Management als eine Art Fassade oder „Eingangstür“ für Ihre APIs. Auf diese Weise entkoppelt Azure API Management Ihre APIs, indem Sie API-Richtlinien und andere Verwaltungsoptionen in Azure festlegen können, während Ihre bereitgestellten Back-End-APIs unangetastet bleiben.

Gateway

Das Azure API Management-Gateway ist ein Azure-Endpunkt, der alle Aufrufe von all Ihren APIs akzeptiert. Das Gateway:

  • Überprüft API-Abonnementschlüssel und andere Anmeldeinformationen
  • Erzwingt Ihre Nutzungskontingente und Begrenzungen der Datenübertragungsraten
  • Transformiert die API nach Bedarf für die Back-End-Kompatibilität
  • Leitet jeden Aufruf an den entsprechenden Back-End-Server weiter
  • Speichert Back-End-Antworten zwischen
  • Sammelt Aufrufmetadaten für Analyseworkloads

Verwaltungsschnittstelle

Die Azure API Management-Verwaltungsschnittstelle besteht aus einer Reihe von Azure-Portalseiten und Tools, mit denen Sie Ihre Dienste und APIs verwalten können. Zusätzlich zur Bereitstellung, Skalierung und Überwachung des Diensts verwenden Sie die Verwaltungsschnittstelle für Folgendes:

  • Definieren oder Importieren von API-Spezifikationen
  • Implementieren von Nutzungsrichtlinien wie Kontingenten und Begrenzungen der Datenübertragungsraten
  • Festlegen von Sicherheitsrichtlinien
  • Verwalten von Benutzern
  • Packen von APIs in Produkte
  • Definieren von API-Transformationen
  • Verwalten von API-Revisionen und -Versionen
  • Ausführen von Analysen für Ihre API-Metadaten

Entwicklerportal

Das Azure API Management-Entwicklerportal ist eine vollständig anpassbare Website, mit der Entwickler über Folgendes mit Ihren APIs interagieren können:

  • Überprüfen der Dokumentation für jede API.
  • Ausprobieren einer API mithilfe der interaktiven Konsole.
  • Überprüfen von Codebeispielen in verschiedenen Programmiersprachen.
  • Abonnieren einer API und Abrufen eines API-Abonnementschlüssels.
  • Ausführen von Analysen zur Nutzung durch den Entwickler.

Azure API Management-Ebenen

Azure API Management bietet mehrere Dienstebenen, von denen jede eine bestimmte Reihe von Features, Kapazitäten und Preisen bietet. In der folgenden Tabelle werden die Tarife in der Reihenfolge vom niedrigsten bis zum höchsten Preis aufgeführt und einige wichtige Funktionen verglichen.

Kriterien Verbrauch Developer Grundlegend Standard Premium
Vorgesehener Zweck Einfache Verwendung Auswertung, Tests und andere nicht zur Produktion gehörende Nutzungen Nutzung für die Produktion mit niedrigem Umfang Nutzung für die Produktion mit mittlerem Umfang Nutzung für die Produktion mit großem Umfang oder in Unternehmensumgebungen
Cache Nur extern 10 Megabyte (MB) 50 MB 1 Gigabyte (GB) 5 GB
Vereinbarung zum Servicelevel (SLA) 99,95 % Keine 99,95 % 99,95 % 99,99 %
Entwicklerportal Nein Ja Ja Ja Ja
Integrierte Analysen Nein Ja Ja Ja Ja
Durchsatz (geschätzte Anforderungen/Sekunde) 500 1\.000 2\.500 4\.000

Hinweis

Die Preise für den Verbrauchstarif gelten pro API-Aufruf, wobei die erste Million der Aufrufe kostenlos ist und der Rest dann zu einem festen Tarif pro 10.000 Aufrufe abgerechnet wird. Die Preise für alle anderen Tarife sind stundenbasiert.

Anwenden von Richtlinien auf API-Anforderungen und -Antworten

Eines der größten Probleme bei der Verwendung mehrerer veröffentlichter APIs ist, dass jede API einen separaten Satz von Richtlinien erfordert. Hier stellt eine Richtlinie eine Einstellung oder Aktion dar, die das Verhalten der API steuert. Wenn Sie z. B. eine Begrenzung der Datenübertragungsrate erzwingen möchten (die maximale Anzahl von API-Aufrufen, die von einer einzelnen Quelle in einem bestimmten Zeitraum zulässig sind), würden Sie diesen Grenzwert als Teil der Richtlinien für eine API einschließen. Eine Ratenbegrenzung ist nur ein Beispiel, aber es gibt zahlreiche Richtlinien, die Sie anwenden können. Multiplizieren Sie das mit mehreren verschiedenen APIs und Sie befinden sich in einem Verwaltungsalptraum.

Azure API Management löst das Problem der API-Richtlinien, indem es Ihnen ermöglicht, Richtlinien für alle Ihre APIs an einem zentralen Ort festzulegen, der Verwaltungsschnittstelle von Azure API Management. Mit Azure API Management können Sie Richtlinien in vielen Kategorien festlegen. Eine Teilliste umfasst Folgendes:

  • Zugriffseinschränkung. Diese Richtlinien bestimmen, wann eine API über das Gateway zulässig ist. Beispielsweise Begrenzungen der Datenübertragungsrate und Nutzungskontingente erzwingen, IP-Adressen der Aufrufer filtern und auf ein gültiges JSON Web Token (JWT) prüfen.
  • Authentifizierung. Beispielsweise API-Aufrufe mithilfe der Standardauthentifizierung, eines Clientzertifikats oder einer verwalteten Identität authentifizieren.
  • Zwischenspeichern. Die API-Leistung verbessern, indem Antworten im Cache gespeichert und abgerufen werden.
  • Validierung. API-Aufrufe validieren, indem bestimmte Parameter mit den Angaben in Ihrer API-Spezifikation verglichen werden. Beispielsweise den Anforderungs- oder Antworttext, die Parameter des Anforderungsheaders und die Antwortheader überprüfen.

Richtlinien in Richtliniendefinitionen flexibel kombinieren, wobei diese Definitionen XML-Dokumente sind, die aus einer Reihe von Anweisungen bestehen, von denen jede eine Richtlinie und deren Parameter darstellt. Mit Richtliniendefinitionen können Sie separate Richtlinien in verschiedenen Phasen der API-Anforderungsantwortpipeline konfigurieren:

A consumer's API request enters the Azure API Management gateway where it passes through inbound policies before being sent to the backend server. The API response then passes through the gateway's outbound policies before being sent to the originating API consumer.