Erstellen einer neuen API in API Management anhand einer Funktions-App

Abgeschlossen

Der Azure API Management-Dienst ermöglicht Ihnen, aus einer Reihe heterogener Microservices eine API zusammenzusetzen.

In Ihrem Onlineshop sind alle Teile der Anwendung als Microservice implementiert: einen für die Produktdetails, einen für die Bestelldetails usw. Jeder Microservice wird von einem eigenen Team verwaltet, und jedes Team nutzt Continuous Development und Delivery, um seinen Code regelmäßig zu aktualisieren und bereitzustellen. Sie wünschen sich eine Möglichkeit, diese Microservices zu einem einzelnen Produkt zusammenzusetzen, um es anschließend zentral verwalten zu können.

In dieser Einheit erfahren Sie, wie Azure API Management in einer serverlosen Architektur von Nutzen ist, indem Sie einzelne APIs anhand einzelner Microservices erstellen.

Serverlose Architektur und Microservices

Microservices sind ein beliebter Ansatz für die Architektur verteilter Anwendungen. Wenn Sie eine Anwendung als eine Sammlung von Microservices erstellen, werden viele verschiedene kleine Dienste erstellt. Die einzelnen Dienste haben einen festgelegten Aufgabenbereich und werden unabhängig voneinander entwickelt, bereitgestellt und skaliert. Diese modulare Architektur führt zu einer Anwendung, die einfacher zu verstehen, zu verbessern und zu testen ist. Sie erleichtert auch Continuous Delivery, da Sie bei der Bereitstellung eines Microservice nur einen kleinen Teil der gesamten Anwendung ändern.

Ein weiterer ergänzender Trend bei der Entwicklung verteilter Software ist die serverlose Architektur. Bei diesem Ansatz veröffentlicht eine Hostorganisation eine Reihe von Diensten, die Entwickler zum Ausführen Ihres Codes verwenden können. Die Entwickler*innen müssen sich nicht mit der unterstützenden Hardware, mit Betriebssystemen, mit der zugrunde liegenden Software und mit anderen Infrastrukturen befassen. Stattdessen wird der Code in zustandslosen Computingressourcen ausgeführt, die durch Anforderungen ausgelöst werden. Kosten fallen nur an, wenn die Dienste ausgeführt werden, sodass Sie für Dienste, die selten verwendet werden, nicht viel bezahlen.

Azure Functions

Azure Functions ist ein Dienst, der serverlose Architekturen in Azure ermöglicht. Sie können Funktionen in vielen verschiedenen Sprachen schreiben, darunter C#, Java, JavaScript, PowerShell und Python, ohne sich um die unterstützende Infrastruktur kümmern zu müssen. Sie können auch Bibliotheken von NuGet und Node Package Manager (NPM) verwenden und Benutzer gemäß dem OAuth-Standard von Anbietern wie Active Directory, Facebook, Google und Microsoft-Konto authentifizieren lassen.

Wenn Sie eine Funktion schreiben, wählen Sie die gewünschte Vorlage abhängig davon, wie Sie Ihren Code auslösen möchten. Wenn Sie die Funktion beispielsweise als Reaktion auf eine HTTP-Anforderung ausführen möchten, verwenden Sie die Vorlage HTTPTrigger. Sie können andere Vorlagen verwenden, die ausgeführt werden, wenn sich neue Nachrichten in einer Warteschlange, einem Blobspeichercontainer oder in einem vordefinierten Zeitplan befinden.

Wenn Sie Azure Functions in einem Verbrauchstarif verwenden, wird Ihnen nur die Zeit in Rechnung gestellt, in der Ihr Code ausgeführt wird.

Azure API Management

Azure API Management ist ein vollständig verwalteter Clouddienst, mit dem Sie APIs veröffentlichen, schützen, transformieren, warten und überwachen können. Der Dienst unterstützt Organisationen beim Veröffentlichen von APIs für externe, Partner- und interne Entwickler, damit sie das volle Potenzial ihrer Daten und Dienste ausschöpfen zu können. API Management behandelt alle Aufgaben, die bei der Vermittlung von API-Aufrufen beteiligt sind. Dazu gehören die Authentifizierung und Autorisierung von Anforderungen, die Erzwingung von Ratenbegrenzungen und Kontingenten, die Transformation von Anforderungen und Antworten, die Protokollierung und Ablaufverfolgung sowie die API-Versionsverwaltung. Mit API Management können Sie für vorhandene an beliebigen Orten gehostete Back-End-Dienste moderne API-Gateways erstellen und verwalten.

Da Sie Azure Functions über API Management veröffentlichen können, können Sie damit eine Microservices-Architektur implementieren: Jede Funktion implementiert einen Microservice. Durch Hinzufügen verschiedener Funktionen zu einem einzelnen API Management-Produkt können Sie diese Microservices in eine integrierte verteilte Anwendung einbetten. Nach dem Erstellen der Anwendung können Sie API Management-Richtlinien verwenden, um die Zwischenspeicherung zu implementieren oder Sicherheitsanforderungen zu erfüllen.

API Management-Verbrauchstarif

Wenn Sie einen Verbrauchsplan für API Management auswählen, können Sie eune Verbrauchsstufe auswählen. Die Verbrauchsstufe eignet sich besonders für Architekturen, die auf Microservices basieren, und ereignisbasierte Systeme. Er wäre zum Beispiel eine gute Wahl für die Web-API unseres Onlineshops.

Der Verbrauchstarif verwendet die gleichen zugrunde liegenden Dienstkomponenten wie die vorherigen Tarife, jedoch eine völlig andere Architektur, die auf gemeinsam genutzten, dynamisch zugeteilten Ressourcen basiert. Der Verbrauch ist perfekt auf serverlose Computingmodelle abgestimmt. Es gibt keine Infrastruktur, die verwaltet werden muss, und keine Leerlaufkapazität. Sie ermöglicht Hochverfügbarkeit, eine automatische Skalierung und nutzungsbasierte Preise. All dies macht die Verbrauchsstufe zu einer besonders guten Wahl für Lösungen, bei denen serverlose Ressourcen als APIs bereitgestellt werden.

In der nächsten Einheit erstellen wir eine API Management-Instanz und fügen ihr eine Funktion hinzu.