Microsoft recently announced the general availability of the .NET 7 for Azure Functions isolated worker process. Azure Functions will support .NET 7 serverless apps hosted on all Windows and Linux SKUs, including Consumption plan, Elastic Premium plan, and App Service plans.
Azure Functions are Microsoft’s Function as a Service (FaaS) offering that allows developers to write and run in the cloud. Since its release, the Azure Function has evolved and supports various runtime versions. The latest version (v4) introduced an isolated process execution, which earlier supported .NET 6, Framework 4.8, and now also .NET 7. The latest .NET version 7 brings increased performance and new features for languages and frameworks like C# 11/F# 7, .NET MAUI, ASP.NET Core/Blazor, and Web APIs for applications.
Melony Qin, a product manager at Microsoft, explains in a Tech community blog post:
Azure functions .NET Isolated worker process decouples your worker process where your dotnet function code runs from the Azure Functions host runtime. Compared to the traditional in-process model, the isolated worker model supports middleware and efficiently manages dependencies and service registrations.
The initial implementation of .NET Azure Functions (v1) used the "in-process" paradigm. The Azure Functions runtime, which itself runs on .NET, loads functions into the same process. However, the support for other languages, such as Python and JavaScript, uses an out-of-process model where the Azure Functions runtime communicates to functions running in a separate process (since version 2).
Microsoft will eventually phase out the in-process model once the isolated process has reached sufficient parity.
Matthew Henderson, a principal program manager, stated in a .NET on Azure Functions roadmap blog post:
If you have apps targeting .NET Framework 4.8 on Functions V1, you should also consider migrating those to V4 to take advantage of newer features and dependencies.
However, earlier, respondents on a Reddit thread wondered if an upgrade from later .NET versions to .NET 7 would be necessary. One stated:
It's crazy to me that the isolated process model for azure functions is getting pushed as the only option in .net 7 when it's still lacking so many features.
Microsoft provides upgrade guides for migrating version 1 functions to version 4 and version 3 to version 4.
Developers can leverage the core tools available to create a new Azure function in .NET 7 and have support in Visual Studio 2022 17.4 Preview 1. They can build functions in an isolated process leveraging the available guidance.
The .NET 7 support for Azure Functions is available in limited regions such as West Central US and France Central, and the company will roll out to other regions soon. Pricing details of Azure Functions are available on the pricing page.