Azure Functions is moving to an out-of-process model that runs a .NET worker process alongside the runtime. The Azure Functions team also announced public preview support for Node.js 14, general availability of custom handlers and Java based functions running on Linux in its January update.
Azure Functions is an event-driven, compute-on-demand experience that extends the existing Azure application platform with capabilities to implement code triggered by events occurring in Azure or third party services. You can write functions using Node.js, C#, F#, Python, Php, Bash, Batch and Powershell.
Since its launch, .NET support on Azure Functions is tightly coupled to the Azure Functions runtime. This architecture decision enabled features such as injecting types directly to the function code, but it also means new releases of .NET can only be supported when updating the .NET version of the host.
In order to support .NET 5 in Azure Functions, the team is adopting an out-of-process model and building a new .NET worker which is currently in preview and runs .NET 5 alongside the runtime. It allows you to fully control your application’s dependencies without worrying about conflicts with the runtime dependencies. This separation will also allow Azure Functions to quickly support future .NET versions as soon as it gets released.
When working with cloud applications, the code can launch exceptions due to some transient faults, and most of the time, the application will work as expected if you retry the request after a few seconds. To solve this issue, the team also demonstrated the preview for its retry policies in Azure Functions applications, which can be applied for all functions inside your function app or individually.
The motivation for this feature came from users’ feedback requesting the EventProcessorHost to not checkpoint messages in case there’s a failure in the execution of the function. When enabled, the retry policies will re-execute a function until either successful execution or until the maximum number of retries occur.
#azure functions #.net #development