Definition

Microsoft Azure Functions

Azure Functions ist der Serverless-Computing-Dienst, der innerhalb des Public-Cloud-Service Microsoft Azure gehostet wird. Azure Functions, und Serverless Computing im Allgemeinen, soll die Anwendungsentwicklung beschleunigen und vereinfachen.

Die traditionelle Anwendungsentwicklung erfordert eine Berücksichtigung der zugrunde liegenden IT-Infrastruktur. Beim Cloud Computing muss ein IT-Team Cloud-Computing-Instanzen erstellen, überwachen und dafür bezahlen – unabhängig davon, wie viel Arbeit diese Instanz tatsächlich für das Unternehmen leistet.

Die Idee hinter Serverless Computing, auch bekannt als Function as a Service, besteht darin, diese Infrastrukturüberlegungen für den Benutzer zu eliminieren. Beim Serverless Computing kann ein Benutzer einfach Code erstellen und hochladen und dann die Auslöser (Trigger) oder Ereignisse (Event) definieren, die den Code ausführen. Trigger können aus einer Vielzahl von Quellen stammen, einschließlich der Anwendung eines anderen Benutzers oder anderer Cloud-Dienste, wie Datenbanken und Event und Notification Hubs.

Sobald ein Trigger oder Event eintritt, liegt es in der Verantwortung des Cloud-Anbieters, den Code in eine geeignete Ausführungsumgebung zu laden, den Code auszuführen und dann die Rechenressourcen freizugeben. Es sind immer noch Server beteiligt, doch der Benutzer muss keine Compute-Instanzen mehr bereitstellen oder verwalten. Darüber hinaus zahlen die Benutzer nicht mehr jeden Monat für diese Compute-Instanzen und andere zugehörige Ressourcen, sondern für Serverless Computing auf der Grundlage der Zeit, die eine Funktion in einem bestimmten Abrechnungszyklus ausgeführt wird.

Azure Functions verwenden

Serverless-Computing-Funktionen sind in der Regel keine vollständigen, mit allen Funktionen ausgestatteten Anwendungen. Stattdessen übernehmen Funktionen spezifische, kurzlebige Aufgaben. Die meisten Funktionen beinhalten irgendeine Form der Datenverarbeitung, wie zum Beispiel Bild- oder Auftragsbearbeitung, sowie Dateipflege oder Datenerfassung von IoT-Geräten (Internet of Thing).

Einige Beispiele dafür, wie ein IT-Team Azure Functions verwendet, sind:

  • Der Azure Event Hub kann verschiedene Ereignisse liefern, die Funktionen im Zusammenhang mit Bedingungen in der Cloud-Umgebung oder einem Benutzerkonto auslösen.
  • Ein generischer Web-Hook kann HTTP-Anfragen verarbeiten, wodurch Trigger von Websites oder GitHub-Repositorys kommen können.
  • Der Nachrichtenverkehr kann Funktionen auslösen. Beispielsweise können Nachrichten, die in einer Azure-Storage-Warteschlange ankommen, Funktionen auslösen.
  • Auch Timer können Funktionen auslösen, wodurch Benutzer regelmäßige Aufgaben, wie zum Beispiel Dateibereinigungen, nach einem regelmäßigen Zeitplan ausführen können.

Benutzer können auch Funktionen miteinander verketten oder verknüpfen, um umfassendere Programmierschnittstellen (APIs) und Microservices-Anwendungen zu erstellen.

Azure Functions integriert sich in die SaaS-Angebote (Software as a Service) von Microsoft Azure, einschließlich Azure Cosmos DB, Azure Mobile Apps und Azure Service Bus.

Entwicklung von Code für Azure Functions

Azure Functions lindert die Notwendigkeit, langfristige Rechenressourcen in der Cloud bereitzustellen, zu verwalten und zu bezahlen, was es Organisationen ermöglicht, sich mehr auf die Codeentwicklung zu konzentrieren. Dadurch sind viele der Funktionen in Azure Functions für Softwareentwickler von Vorteil.

Azure Functions unterstützt Funktionen, die in C#, F#, Node.js, Python, PHP, Batch, Bash und jedem ausführbaren Dateiformat entwickelt wurden. Azure Functions unterstützt auch den Open-Source-Paketmanager NuGet und den Node Package Manager für JavaScript, so dass Entwickler beliebte Bibliotheken verwenden können.

Entwickler können Azure Functions direkt innerhalb des Azure-Portals codieren, können aber auch Continuous Integration (CI) verwalten und Code über GitHub, Microsoft Visual Studio Team Services und andere Entwicklungs-Tools wie Xcode, Eclipse und IntelliJ IDEA bereitstellen.

Anwender müssen sicherstellen, dass nur gültige Anfragen von autorisierten Benutzern oder Trigger Funktionen steuern. Azure Functions sichert externe HTTP-Trigger mit OAuth-Systemen, wie zum Beispiel Azure Active Directory und Microsoft Account Credentials, ab.

Preise und Anforderungen von Azure Functions

Der Verbrauchstarif von Azure Functions wird basierend auf dem Ressourcenverbrauch und den Ausführungen pro Sekunde berechnet. Die Preise umfassen monatlich eine Millionen kostenlose Anforderungen und 400.000 GB Ressourcennutzung pro Abonnement mit nutzungsbasierter Bezahlung für alle Functions Apps in diesem Abonnement. Eine detaillierte Übersicht zu den Preise findet man direkt auf der Website von Microsoft Azure Functions.

Azure Functions erfordert ein Azure-Storage-Konto, das Azure Blob-, Queue- und Table-Dienste unterstützen muss. Azure Functions verwendet Azure Storage, um Trigger zu verwalten und die Ausführung von Azure Functions zu protokollieren. Die Speicheranforderungen für Azure Functions können für die Benutzer zusätzliche Kosten verursachen.

Azure Functions konkurriert mit anderen Serverless-Computing-Angeboten, einschließlich Amazon Web Services Lambda und Google Cloud Functions.

Diese Definition wurde zuletzt im September 2020 aktualisiert

Erfahren Sie mehr über Cloud Computing