Navigation überspringen

Bekanntgabe von Azure API Management für serverlose Architekturen

Veröffentlicht am 4 Dezember, 2018

Principal PM Manager, Microsoft Azure

Azure API Management ist ein vollständig verwalteter Dienst, mit dem Kunden APIs veröffentlichen, absichern, transformieren, verwalten und überwachen können. Mit wenigen Klicks im Azure-Portal können Sie eine API-Front erstellen, die als „Eingangstür“ für externe und interne Anwendungen fungiert. Diese können so auf Daten oder Geschäftslogik zugreifen, die von Ihren unter Azure ausgeführt (z.B. App Service oder Azure Kubernetes Service) oder außerhalb von Azure in einem privaten Rechenzentrum oder lokal gehosteten benutzerdefinierten Back-End-Diensten implementiert werden. API Management übernimmt alle Aufgaben der Verhandlung von API-Aufrufen, einschließlich der Authentifizierung und Autorisierung von Anforderungen, der Durchsetzung von Ratenbegrenzungen und Kontingenten, der Umwandlung von Anforderungen und Antworten, der Protokollierung und Nachverfolgung und der API-Versionsverwaltung.

Ab heute können Azure-Kunden den neuen Consumption-Tarif auswählen, wenn sie eine neue API Management-Instanz erstellen. Der Consumption-Tarif ist im Wesentlichen eine Variante von API Management, die nach serverlosen Prinzipien entwickelt und implementiert wurde. Er ermöglicht mehr Kunden, die Vorteile von API Management zu nutzen, und passt besonders gut zu der aufstrebenden Klasse von Anwendungen, die auf serverlosen Technologien aufbauen.

Der APIM-Consumption-Tarif ermöglicht die folgenden zentralen Anwendungsfälle, die uns von Kunden berichtet wurden:

  • API-Gateway für mit serverlosen Technologien wie Functions oder Logic Apps implementierte Microservices
  • API-Gateway für eine vereinfachte, sichere Front für serverlose Azure-Ressourcen wie Service Bus-Warteschlangen und -Themen, Azure Storage und andere
  • API-Gateway für traditionelle Back-Ends, bei denen der API-Datenverkehr große Spitzen aufweist, aber meistens gering bleibt

Wenn einer der genannten Anwendungsfälle relevant erscheint, hoffen wir, dass Sie den neuen Tarif ausprobieren und uns Ihre Erfahrungen mitteilen.

Tarife im Vergleich

Zum Verständnis des Kerns des neuen Tarifs möchten wir ihn nun mit den bestehenden vergleichen.

API Management begann mit nur zwei Tarifen: Developer und Standard. Im Lauf der Zeit kamen der Premium-Tarif mit High-End-Features für Enterprise-Kunden und der Basic-Tarif als Einstiegs-Produktionstarif hinzu. Alle diese Tarife weisen eine gemeinsame Architektur auf, in der jeder Instanz des API Management-Diensts eine Gruppe von Ressourcen zugewiesen wird, die exklusiv für ihre Nutzung reserviert ist. Die wichtigsten Vorteile dieses Konzepts sind Sicherheitsisolierung, sofort verfügbare Kapazität und Schutz vor verbrauchsintensiven Nachbarn. Diese sind jedoch mit Nebeneffekten verbunden: vergleichsweise hohe Latenzen für die Bereitstellung und Skalierung und keine verbrauchsbasierten Preise, die für die neuen Lösungen auf der Basis der serverlosen Anwendungsmodells nicht gut passen.

Der Consumption-Tarif baut auf den gleichen Dienstkomponenten auf wie die vorherigen Tarife, nutzt jedoch eine vollständig unterschiedliche Architektur, die auf freigegebenen, dynamisch zugewiesenen Ressourcen basiert. Er passt daher perfekt zum serverlosen Computingmodell, d.h. keine zu verwaltende Infrastruktur, keine ungenutzte Kapazität, Hochverfügbarkeit, automatische Skalierung und nutzungsbasierte Preise. Alle diese Aspekte machen ihn zu einer besonders guten Wahl für Lösungen, bei denen serverlose Ressourcen als APIs zur Verfügung gestellt werden. Wenn Sie sich für den Consumption-Tarif entscheiden, sind einige Kompromisse zu beachten. Die beiden wichtigsten sind ein kuratierter Featuresatz und erzwungene Nutzungslimits. In der nachstehenden Tabelle werden die wichtigsten Vergleichspunkte zwischen den Tarifen zusammengefasst.

Consumption NEU Developer | Basic | Standard | Premium
Keine bereitzustellende oder zu verwaltende Infrastruktur Keine bereitzustellende oder zu verwaltende Infrastruktur
Integrierte Hochverfügbarkeit Integrierte Hochverfügbarkeit1
Integrierte automatische Skalierung (bis null) Manuelle oder externe automatische Skalierung2
Nutzungsbasierte Mikroabrechnung Abrechnung anhand reservierter Kapazität
Keine reservierte Kapazität Reservierte Kapazität
Gemeinsame Ressourcen Dedizierte Ressourcen
Aktivierung nach Bedarf Immer bereit
Kuratierter Featuresatz Vollständiger Featuresatz3
Nutzungseinschränkungen Nicht verwaltet

1 Mit Ausnahme des Developer-Tarifs

2 Azure Monitor-Autoskalierung in den Tarifen Standard und Premium verfügbar

3 Verfügbarkeit einiger Features variiert in den Tarifen

Neue Features

Die folgenden beiden neuen Features, die derzeit nur im Consumption-Tarif verfügbar sind, werden demnächst auch in den restlichen API Management-Tarifen verfügbar sein.

Bring Your Own Cache (BYOC): Antwortcaching ist eine effektive und weithin verbreitete Technik zum Verbessern der API-Latenzen und Reduzieren der Last auf API-Back-Ends. Diese Funktion ermöglicht Kunden, den API Management-Dienst so zu konfigurieren, dass ein extern bereitgestellter, Redis-kompatibler Cache verwendet wird. Die volle Kontrolle über die Cachekonfiguration, die Möglichkeit, Cacheinhalte im Voraus zu laden und zu löschen, sowie die Möglichkeit, die Cachegröße unabhängig von der API Management-Dienstinstanz, die sie verwendet, zu skalieren, sind die wichtigsten Vorteile von BYOC. Es ist außerdem die einzige Option zum Aktivieren des Antwortcachings im Consumption-Tarif, da dieser im Gegensatz zu den anderen Tarifen keinen integrierten Cache aufweist. Wir haben vorhandene Cachingrichtlinien angepasst, damit diese nahtlos mit Konfigurationen sowohl für integrierten als auch für externen Cache funktionieren.

Bring Your Own Cache im Consumption-Tarif

Flexiblere Abonnements: Ein Abonnement ist im Wesentlichen ein benannter Container für einen Satz von API-Schlüsseln (genauer gesagt zwei – primär und sekundär). Zuvor mussten sich Abonnements im Besitz eines Benutzers befinden, und sie unterstützten einen einzelnen API-Produktbereich. Zur Rationalisierung der Schlüsselverwaltung haben wir einige Änderungen vorgenommen. Wir lassen nun „eigenständige“ Abonnements zu, die keinem Benutzer zugeordnet sind. Außerdem haben wir zwei weitere Abonnementbereiche hinzugefügt: alle APIs und eine einzelne API. Es ist daher jetzt beispielsweise möglich, Schlüssel zur Zugriffserteilung für eine API (oder alle APIs innerhalb einer API Management-Instanz) zu erstellen, ohne zunächst ein Produkt zu erstellen und diesem die API (oder alle APIs) hinzuzufügen. Darüber hinaus umfasst jede API Management-Instanz jetzt ein unveränderbares Abonnement für alle APIs, sodass das Testen und Debuggen von APIs innerhalb der Testkonsole noch problemloser abläuft.

Abonnementoptionen

Verbleibende Arbeit

Wir haben seit dem letzten Frühjahr am Consumption-Tarif gearbeitet und freuen uns sehr, ihn Ihnen nun endlich vorstellen zu können. Es ist jedoch noch einiges an Arbeit zu erledigen, bevor wir fertig sind. Hier sind einige wichtige Funktionen und Verbesserungen, die Sie in den nächsten Monaten erwarten können.

  • Benutzerdefinierter Hostname und benutzerdefiniertes Zertifikat
  • Upgrade auf einen höheren API Management-Tarif in einer Aktion
  • Kürzere Bereitstellungszeit (der Tarif ist bereits jetzt im Vergleich mit anderen Tarifen extrem schnell, aber wir hoffen, das noch weiter verbessern zu können)
  • Verringerte „Kaltstart“-Latenz (in diesem Bereich ist noch nicht viel geschehen, und die Latenz ist noch weit vom Zielwert entfernt)
  • Breite Verfügbarkeit in den öffentlichen Azure-Regionen (wir planen, den vollständigen Consumption-Tarif in jeder Region verfügbar zu machen, in der API Management verfügbar ist)
  • Funktionen unter „API hinzufügen“ für zusätzliche serverlose und PaaS-Ressourcen (erwarten Sie neue Kacheln auf der Seite „API hinzufügen“)

Verfügbarkeit

Wir freuen uns, die sofortige Verfügbarkeit des Consumption-Tarifs als Vorschauversion in den Regionen „USA, Norden-Mitte“, „USA, Westen“, „Europa, Westen“, „Europa, Norden“, „Asien, Südosten“ und „Australien, Osten“ bekannt geben zu können.

Probieren Sie ihn aus: Erstellen Sie einen neuen Dienst, und erleben Sie, wie einfach es ist, eine API durch Importieren einer Funktions- oder Logik-App zu veröffentlichen.

Möchten Sie mehr über das Erstellen serverloser APIs erfahren? Sehen Sie sich das Webinar Build Serverless APIs with Node.js on Azure Functions (Erstellen von serverlosen APIs mit Node.js unter Azure Functions) an.

Teilen Sie uns Ihre Meinung mit.