Azure Functions .NET 10: Umstieg auf Isolated Worker
Mit .NET 10 ist eine neue Long-Term-Support-Version erschienen, und Azure Functions unterstützt sie. Gleichzeitig läuft für das alte In-Process-Modell der Support aus. Wer Azure Functions für Datenstrecken, Schnittstellen oder kleine KI-Dienste nutzt, sollte den Umstieg jetzt planen.
Kurz gesagt: Azure Functions unterstützt .NET 10 im Isolated Worker Model. Das In-Process-Modell wird nicht mehr weiterentwickelt, der Support endet am 10. November 2026. Wer noch In-Process nutzt, migriert am besten direkt auf Isolated Worker mit .NET 10 und prüft dabei, ob der Flex Consumption Plan passt.
Was ändert sich mit .NET 10 bei Azure Functions?
- Nur Isolated Worker: Neue .NET-Versionen gibt es bei Azure Functions nur noch im Isolated Worker Model. Deine Funktion läuft dort in einem eigenen Prozess, getrennt von der Functions-Laufzeit.
- Long-Term Support: .NET 10 ist eine LTS-Version mit drei Jahren Support. Das schafft Ruhe für längere Zeit.
- Volle Kontrolle: Im Isolated Worker nutzt du den normalen .NET-Host mit Dependency Injection, Middleware und eigenen Paketversionen, ohne Konflikte mit der Laufzeit.
Warum lohnt sich der Umstieg jetzt?
- Supportende: Nach dem 10. November 2026 bekommt das In-Process-Modell keine Sicherheitsupdates mehr.
- Neue Funktionen: Neuerungen bei Triggern, Bindings und Hosting kommen nur noch für Isolated Worker.
- Modernes Hosting: Der Flex Consumption Plan bietet schnelleres Skalieren, Netzwerkanbindung über VNet und die Wahl der Instanzgröße. Er setzt Isolated Worker voraus.
So läuft die Migration von In-Process auf Isolated Worker
- Projektdatei anpassen: Zielframework auf
net10.0setzen,OutputTypeaufExestellen und die PaketeMicrosoft.Azure.Functions.WorkerundMicrosoft.Azure.Functions.Worker.Sdkeinbinden. - Program.cs anlegen: Den Host mit
FunctionsApplication.CreateBuilder(args)aufbauen und dort Dependency Injection und Logging einrichten. - Bindings tauschen: Die
Microsoft.Azure.WebJobs.Extensions.*-Pakete durch die passendenMicrosoft.Azure.Functions.Worker.Extensions.*-Pakete ersetzen. - Code anpassen:
[FunctionName]wird zu[Function]. Für HTTP-Funktionen bietet sich die ASP.NET-Core-Integration an, damit du weiter mitHttpRequestundIActionResultarbeiten kannst. - Einstellungen ändern:
FUNCTIONS_WORKER_RUNTIMEaufdotnet-isolatedsetzen und die .NET-Version der Function App auf 10 stellen. - Testen und schrittweise ausrollen: zuerst in einem Staging-Slot oder einer Test-Umgebung, dann produktiv.
Tipp: Microsoft bietet den .NET Upgrade Assistant an, der einen Teil dieser Schritte automatisiert. Prüfe das Ergebnis trotzdem Funktion für Funktion.
Typische Stolperfallen
- Bindings mit anderem Verhalten: Manche Bindings liefern im Isolated Worker andere Typen zurück, zum Beispiel bei Blob Storage oder Service Bus.
- Durable Functions: Auch hier gibt es eigene Pakete für Isolated Worker. Orchestrierungen sollten besonders gründlich getestet werden.
- Logging: Logs laufen über den Worker. Prüfe, ob Application Insights weiterhin alles erfasst.
- Hosting-Plan: Nicht jeder Plan unterstützt jede .NET-Version zur gleichen Zeit. Prüfe die Verfügbarkeit für deinen Plan und deine Region.
Azure Functions in Datenplattformen
In Datenprojekten nutzen wir Azure Functions oft als schlanke Bausteine rund um die Plattform: Daten aus Schnittstellen abholen, Ereignisse weiterreichen, Dateien vorverarbeiten oder kleine KI-Dienste bereitstellen. Die schwere Verarbeitung läuft dann in Databricks oder Microsoft Fabric. Wie so eine Architektur insgesamt aussieht, zeigen wir auf der Seite zur Datenplattform.
Fazit
Der Umstieg auf .NET 10 ist bei Azure Functions vor allem ein Umstieg auf das Isolated Worker Model. Mit etwas Planung ist das gut machbar und bringt mehr Kontrolle, längeren Support und Zugang zu modernem Hosting. Wichtig ist, nicht bis kurz vor dem Supportende im November 2026 zu warten.
Du willst eure Azure-Landschaft modernisieren oder sauber an eure Datenplattform anbinden? Schau dir unsere Leistungen zur Datenplattform an oder buch direkt einen Termin.
