Was ist Azure Functions?

Abgeschlossen

Sie verfolgen, wie das Tailspin Space Game-Webteam darüber diskutiert, wie die neuen Marketinganforderungen der Geschäftsleitung am besten erfüllt werden können. Das Team muss einige serverlose Technologien (insbesondere Azure Functions) in den DevOps-Prozess integrieren.

Sehen wir nach, wie der Stand beim Team ist.

Die neuen Anforderungen

Irwin: Danke für das so kurzfristige Treffen. Die Situation hat sich etwas geändert, und das Marketingteam hat einige Versprechungen gemacht, die unsere Arbeit kompliziert gestalten könnten. Sie mögen unsere Website wirklich. Sie sind der Meinung, dass die Bestenliste zur Förderung des Spiels auf dem Weg zur endgültigen Veröffentlichung und darüber hinaus genutzt werden kann. Sie möchten es viel weiter hochskalieren, als wir es ursprünglich geplant hatten.

Mara: Das ist großartig, richtig? Wir arbeiten in Azure, sodass wir den Dienst nach Bedarf horizontal skalieren können.

Irwin: Sie möchten wirklich nur die Möglichkeit haben, dass alle Benutzer*innen die Daten der Rangliste mit ihren eigenen Anwendungen integrieren können. Sie sind der Meinung, dass es wirklich cool wäre, die gleichen Ranglistenoptionen auf unserer Website, im Spiel, auf Partnerwebsites für Spielerrezensionen und sogar auf externen Blogs und persönlichen Websites zu haben. Eine Herausforderung besteht darin, dass das Spiel-Engine-Team derzeit die Produktionsdatenbank besitzt, aus der wir die Ranglistendaten abrufen. Dieses Team ist der Meinung, dass es die API erstellen und besitzen sollte, wenn wir uns weiterentwickeln.

Andy: Mara, hast Du eine Idee?

Mara: Ich bin sicher, dass wir uns etwas einfallen lassen können. Meine Notizen:

  • Wir müssen schnell liefern, also müssen wir eine Lösung finden, bei der wir unseren Code und unsere Fähigkeiten nutzen können.
  • Wir müssen eine kleine Funktionalität in einen unabhängigen Dienst umgestalten.
  • Wir müssen den Verwaltungsaufwand in der Produktion minimieren.
  • Wir müssen massive Skalierung erreichen, ohne eine massive Verpflichtung einzugehen.

Das Team nickt zustimmend.

Das funktioniert auf meinem Computer.

Die Besprechung wird beendet. Am nächsten Morgen kommt Andy aufgeregt zu einem spontanen Gespräch in Maras Büro.

Andy: Ich hab's! Ich habe eine Lösung gefunden, die alle unsere Anforderungen an die Ranglisten-API erfüllt. Es handelt sich um ein serverloses Angebot namens Azure Functions.

Mara: Das ist toll! Wie lange wird es dauern, bis wir eine Demo vorzeigen können?

Andy: Ich habe schon etwas herausgefunden. Ich habe unser GitHub-Repository geforkt und den Ranglistencode in ein neues Azure Functions-Projekt umgestaltet. Die Bestenlistendaten werden über eine einfache HTTP GET-Anforderung verfügbar gemacht. Ich habe außerdem die Website so aktualisiert, dass dieser Endpunkt bei Anforderung der Bestenliste verwendet wird, und jeder andere kann ebenso vorgehen.

Mara: Das klingt nach genau dem, was wir brauchen. Ich kann dabei helfen, die vorhandene CI/CD-Pipeline zu erweitern, um das Erstellen und Bereitstellen zu unterstützen, wie wir es für das Projekt der Hauptwebsite machen.

Hinweis

In diesem Modul konzentrieren wir uns nicht darauf, wie Sie Ihre App mit Azure Functions verbinden können. Wenn Sie möchten, können Sie den Quellcode überprüfen. Der Code verwendet die Azure Functions-Runtime für C# zum Lesen von Bestenlistendaten aus Azure Functions.

Was ist Azure Functions?

Azure Functions ist ein spezifisches Angebot innerhalb des breiteren Spektrums serverloser Azure-Computingtechnologien. Diese Lösung bietet Entwicklern eine einfache Möglichkeit, unkomplizierte Funktionen zu erstellen, die in einer zustandslosen, serverlosen Umgebung vorhanden sind. Funktionen können durch eine Vielzahl von Methoden ausgelöst werden, z. B. durch HTTP-Anforderungen, Änderungen an Daten im Speicher oder den Empfang einer Nachricht aus einer Warteschlange. Weitere Informationen zu den Triggerbindungen in Azure Functions finden Sie unter Konzepte für Azure Functions-Trigger und -Bindungen.

Das Tailspin-Team hat Azure Functions für dieses Szenario ausgewählt, da diese Lösung alle Anforderungen erfüllt:

  • Wir müssen schnell liefern, also müssen wir eine Lösung finden, bei der wir unseren Code und unsere Fähigkeiten nutzen können.
    • Wir können die Lösung schnell als ASP.NET Core-Anwendung mit bereits vorhandenem Code erstellen.
  • Wir müssen eine kleine Funktionalität in einen unabhängigen Dienst umgestalten.
    • Wir können eine unabhängige Funktion liefern, ohne dass wir uns um eine andere Anwendungsoberfläche kümmern müssen.
  • Wir müssen den Verwaltungsaufwand in der Produktion minimieren.
    • Mit Azure Functions entfällt die Notwendigkeit, sich um Hostingumgebungen Gedanken machen zu müssen.
  • Wir müssen massive Skalierung erreichen, ohne eine massive Verpflichtung einzugehen.
    • Serverlose Technologien bieten praktisch unbegrenzte Skalierbarkeit, die automatisch schneller hoch- und herunterskaliert werden kann als virtuelle Computer oder App-Dienste.

Azure Functions und andere serverlose Technologien sind nicht immer die richtige Wahl für jede Lösung. Später erfahren Sie, wo Sie Ressourcen finden, die Ihnen beim Auswählen der richtigen Technologie für die jeweilige Aufgabe helfen.

Überprüfen Sie Ihr Wissen

1.

Welche dieser Projekte sind gute Kandidaten für serverloses Computing?

2.

Welcher der folgenden Gründe ist kein guter Grund für die Nutzung von Azure Functions?

3.

Welche der folgenden Methoden wird zum direkten Aufrufen einer Azure Functions-App nicht unterstützt?