Einführung in Azure Functions 2.0

Veröffentlicht am 24 September, 2018

Principal PM Manager, Azure Functions

Wir freuen uns heute sehr, die allgemeine Verfügbarkeit von Azure Functions 2.0 bekannt zu geben. Das ist ein wichtiger Meilenstein. Das neue Azure Functions bietet mehrere Funktionen, mit denen es Ihnen leichter denn je fallen wird, hochgradig skalierbare, serverlose Anwendungen zu erstellen.

Azure Functions 2.0 ist produktionsbereit und in der Lage, die anspruchsvollsten Workloads zu verarbeiten – abgesichert durch unsere SLA für die 99,95-prozentige Verfügbarkeit. Wir empfehlen allen Kunden, ihre bisherigen 1.0-Anwendungen auf die Version 2.0 zu aktualisieren und neue Entwicklungen direkt in der neuen Version zu starten, um alle Vorteile des neuen Releases zu nutzen. Genaue Anweisungen finden Sie im Leitfaden zum Upgraden auf 2.0.

Welche Neuerungen umfasst das Release?

Azure Functions 2.0 bietet eine bessere Benutzerfreundlichkeit, optimierte Entwicklungsfunktionen und eine verbesserte Plattformstabilität. Die wichtigsten Neuerungen betreffen die gehostete Runtime, die nun übertragbar, plattformübergreifend und noch effizienter ist. Dadurch werden zahlreiche Optionen zum Erstellen und Ausführen Ihrer Apps ermöglicht.

Mehr Plattformen, mehr Optionen

Azure Functions kann nun in noch mehr Umgebungen ausgeführt werden – sogar lokal auf Mac- und Linux-Computern. In Kombination mit der großartigen Integration mit VS Code steht Ihnen so eine erstklassige serverlose Entwicklungsumgebung auf jeder beliebigen Plattform zur Verfügung. Die Runtime funktioniert auch dann hervorragend, wenn sie außerhalb von Azure Functions gehostet wird, und kann überall ausgeführt werden. Weitere Informationen finden Sie im Support für Azure Functions in Kubernetes und Azure Functions in IoT Edge. Und demnächst werden noch mehr Hostingoptionen zur Verfügung stehen. Weitere Informationen dazu finden Sie weiter unten im Abschnitt „Nächste Schritte“.

HTTP-Trigger

Für Ihren Code optimiert

Azure Functions 2.0 ist performanter denn je, was teilweise auf allgemeine Hostverbesserungen, die Unterstützung modernerer Language Runtimes und die Fähigkeit, Code aus einer Paketdatei auszuführen, zurückzuführen ist.

.NET-Entwickler können nun Funktionen mit .NET Core 2.1 erstellen. Dies bedeutet nicht nur einen erheblichen Leistungsgewinn, sondern auch, dass Sie Ihre .NET-Funktionen an mehreren Stellen entwickeln und ausführen können. Außerdem wurde die Funktionsweise der Assemblyauflösung grundlegend geändert – nun haben Funktionen ihre eigenen Lastkontexte. Das hat weniger Konflikte zur Folge. Und falls ein Problem auftritt, können Sie es einfacher denn je lösen.

Nicht-.NET-Sprachen lassen sich nun von einem Sprachworkermodell aus ausführen – und als Erstes profitieren JavaScript-Benutzer davon. Azure Functions 2.0 unterstützt jetzt sowohl Node 8 als auch Node 10, und Benutzer können allgemein mit einer verbesserten Leistung rechnen. Der Workeransatz ermöglicht eine bessere Versionsunterstützung und Iteration, wodurch künftig neue Sprachen unterstützt werden. Darauf wird weiter unten im Abschnitt „Nächste Schritte“ genauer eingegangen.

v1vsv2

Leistungsstarkes Programmiermodell

Wenn Sie bislang die Azure Functions 1.0-Runtime verwendet haben, wird eine der größten Veränderungen für Sie sein, dass die Funktionsweise von Bindungen und Integrationen geändert wurde. Nun sind alle Bindungen als Erweiterungen verfügbar – mit Ausnahme der grundlegenden HTTP- und Timerunterstützung. Dabei handelt es sich um einfache Pakete, die mit Azure Functions-Tools installiert werden können, und Ihnen das bereits vertraute, großartige Programmiermodell weiterhin zur Verfügung stellen. Die Umstellung auf entkoppelte Erweiterungspakete ermöglicht es, Bindungen (und deren Abhängigkeiten) unabhängig von der grundlegenden Runtime zu versionieren. Das bedeutet, dass Sie mehr Kontrolle über Ihre Anwendung und deren Ausführung haben – insbesondere weil sich die Dienste, von denen Ihre Anwendung abhängt, ständig weiterentwickeln.

Azure fügt ständig neue Dienste hinzu, in die das Paketmodell schnellere Integrationen ermöglicht. Eine aktuelle Neuerung ist Azure SignalR Service, ein vollständig verwalteter Dienst, mit dem Sie sich auf das Erstellen von Webumgebungen in Echtzeit konzentrieren können – ohne Ihren SignalR-Server einrichten, hosten, skalieren oder einen Lastenausgleich für ihn vornehmen zu müssen. Azure Functions verfügt nun über eine Erweiterung für diesen Dienst – eine Open Source-Bindung, die von Microsoft Azure in diesem GitHub-Repository gehostet wird. Sie können noch heute damit beginnen, mithilfe der Referenz für SignalR Service-Bindungen in der Dokumentation serverlose Anwendungen in Echtzeit zu erstellen.

Vereinfachte Entwicklung

Azure Functions verfügt über leistungsstarke, systemeigene Tools in Visual Studio, VS Code, VS für Mac und eine CLI, die mit jeder Codebearbeitung ausgeführt werden kann. Wenn Sie diese Optionen noch nicht kennen, sollten Sie sich diese unbedingt ansehen, weil sie einen großen Einfluss auf Ihre Produktivität haben.

Serverlose Anwendungen können aus mehreren verschiedenen Komponenten bestehen. Dies erschwert oft ihre Nachverfolgbarkeit und Überwachung. Für Functions 2.0 wurde die Integration mit Azure Application Insights erweitert, um die verteilte Ablaufverfolgung transparenter zu gestalten. Abhängigkeiten werden automatisch verfolgt und ressourcenübergreifende Verbindungen automatisch über eine Vielzahl von Diensten hinweg korreliert. Im Laufe der Zeit werden immer mehr Dienste unterstützt. Dies wird in der Anwendungsübersicht dargestellt. Dort können Sie sehen, wie Komponenten interagieren, und einzelne Ausführungen genauer betrachten, um Probleme zu diagnostizieren.

FunctionsAppMap

Mit Azure Functions 2.0 investieren wir außerdem in die Weiterentwicklung der DevOps-Umgebung. Unser neues Bereitstellungscenter ist ein Schritt in diese Richtung: Hier werden Erstellungs- und Bereitstellungsoptionen an einer zentralen Stelle zusammengefasst. Sie können auf das Bereitstellungscenter über die „Plattformfeatures“ Ihrer Funktions-App zugreifen und Ihre bevorzugte Quelle ganz einfach einrichten, um Ihren Code direkt in Functions bereitzustellen.

Bereitstellungscenter

Die folgende Darstellung der DevOps-Oberfläche ist der Ausgangspunkt zum Erstellen Ihrer ersten Funktion. Der Bereich „Erste Schritte“ im Azure-Portal zeigt Ihre Entwicklungs- und Bereitstellungsoptionen an. Hier können Sie alle Konfigurationen vornehmen. Wenn Sie im Portal beginnen, eine neue Funktions-App zu erstellen, werden Sie durch die einzelnen Bereitstellungsschritte für Ihre erste 2.0-Funktion geführt.

Azure Functions

Nächste Schritte

Wir freuen uns auch, einen Einblick in unsere kurzfristige Roadmap zu geben. Azure Functions 2.0 legt den Grundstein für einige wichtige Innovationen. Hier erhalten Sie einen kurzen Überblick darüber, welche Hostingoptionen und unterstützte Sprachen demnächst verfügbar sind.

Serverloses Linux-Hosting

Im Rahmen unseres Bestrebens, die Entwicklungsstapel und Hostingoptionen für Azure Functions zu erweitern, haben wir uns dem serverlosen Linux-Hosting (mithilfe von Service Fabric Mesh) gewidmet. Das erste Resultat ist eine Verbrauchstarif-Vorschauversion für Azure Functions unter Linux. Dadurch können Linux- und Mac-Entwickler einfach nahtlos die Hostingplattform verwenden, die am besten für Ihren Entwicklungsstapel geeignet ist, und gleichzeitig vom serverlosen Hosting profitieren. Um bereits jetzt Zugriff auf die Funktion zu erhalten und Ihr Feedback zu teilen, registrieren Sie sich für die Linux-Vorschauversion.

Python-Unterstützung

Wir entwickeln aktiv Unterstützung für Python 3.6, basierend auf der Azure Functions 2.0-Runtime, dem neuen Sprachworkermodell und der Linux-Hostingplattform. Python-Funktionen eignen sich hervorragend für Datenbearbeitung, maschinelles Lernen, Automatisierung und Szenarioerstellung. Das serverlose Erstellen dieser Szenarien erspart Ihnen den Aufwand, die zugrunde liegende Infrastruktur zu verwalten. Dadurch können Sie schneller arbeiten und sich ganz dem Lösen Ihrer Geschäftsprobleme widmen. Diese Funktion befindet sich derzeit in der privaten Vorschau. Probieren Sie sie aus, und teilen Sie Ihr Feedback mit uns.

Wir freuen uns auf Ihr Feedback!

Bei so vielen aktuellen und anstehenden Releases, würden wir uns sehr über Ihr Feedback freuen. Sie erreichen uns über Twitter und GitHub, StackOverflow und UserVoice. Wir warten auf Ihr Feedback und sind gespannt, was Ihre Lieblingsfunktion von Functions 2.0 ist. Falls Sie diese Woche auf der Microsoft Ignite sind, besuchen Sie unbedingt unseren Stand – wir freuen uns auf Sie!