News

Microsoft Details Sneak-Peek Preview of Azure Functions on .NET 6

Developers can now experiment with serverless computing projects with Azure Functions on the latest preview of the upcoming .NET 6 milestone release.

The Azure Functions dev team provided .NET 5 support earlier this year by creating a new .NET isolated process model, required because of the tight coupling between the host process and functions, an in-process model. Because the Azure Functions host runtime typically runs on .NET Core 3.1, the isolated process was needed to decouple that integration and get it to work on .NET 5.

That model works fine on .NET 5 with the latest Visual Studio 2019 v16.10 release that shipped last month, providing full support for creating, local debugging and deploying .NET 5.0 isolated process Azure Functions apps.

Now, with the ground-breaking and unifying .NET 6 LTS release coming up in November, the team is previewing Azure Function support with both the isolated process and the in-process programming models.

Here are some of the differences between the two models:

Differences with .NET Class Library Functions
[Click on image for larger view.] Differences with .NET Class Library Functions (source: Microsoft).

This early preview -- no official support -- works with .NET 6 Preview 4 and requires the preview Azure Functions V4 release. That's a lot of preview bits, and developers are reminded:

  • At this time, you can only deploy .NET 6.0 function apps to Azure Functions V4 preview on Windows hosting plans.
  • Currently, there are no optimizations enabled for .NET 6.0 apps in Azure. You may notice increased cold-start times.
  • While other language workers are included in the current Core Tools V4 preview, they are unsupported at this time. Continue to use Azure Functions V3 and Core Tools V3 for other languages and production workloads.

"The isolated process model for .NET is new and there are some differences compared to the in-process model," Microsoft said in a June 9 blog post. "Many will be addressed as the programming model continues to evolve. If you need access to features that are currently missing, such as Durable Functions, use the in-process model."

The diagram below shows what process models work with what .NET versions:

Future of .NET on Azure Functions
[Click on image for larger view.] Future of .NET on Azure Functions (source: Microsoft).

To help developers experiment with all the new early preview functionality, Microsoft has published Quickstarts: Azure Functions V4 (.NET 6.0) early preview on GitHub.

The team earlier this year also posted a roadmap indicating what's coming up for Azure Functions, with parts of it reading (verbatim):

  • .NET 6 LTS: .NET 6 functions will support both in-process and isolated process options. The in-process option will support the full feature set available in .NET Core 3.1 functions today, including Durable Functions and rich binding types. The isolated process option will provide an upgrade path for apps using this option for .NET 5 and initially will have the same feature set and limitations.
  • .NET 7 and Beyond: Long term, our vision is to have full feature parity out of process, bringing many of the features that are currently exclusive to the in-process model to the isolated model. We plan to begin delivering improvements to the isolated model after the .NET 6 general availability release.

    .NET 7 is scheduled for the second half of 2022, and we plan to support .NET 7 on day 1 exclusively in the isolated model. We expect that you'll be able to migrate and run almost any .NET serverless workload in the isolated worker -- including Durable Functions and other targeted improvements to the isolated model.

  • .NET Framework: Currently, .NET Framework is supported in the Azure Functions V1 host. As the isolated model for .NET continues to evolve, we will investigate the feasibility of running the .NET isolated worker SDK in .NET Framework apps. This could allow users to develop apps targeting .NET Framework on newer versions of the functions runtime.

The dev team promised more in the coming months: "We're bringing .NET 6.0 Azure Functions support to tools like Visual Studio and Visual Studio Code and to all hosting plans in Azure. Expect a public preview of Azure Functions V4 in the third quarter of this year and general availability in November. Follow our twitter account for the latest updates: @AzureFunctions."

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

  • TypeScript Tops New JetBrains 'Language Promise Index'

    In its latest annual developer ecosystem report, JetBrains introduced a new "Language Promise Index" topped by Microsoft's TypeScript programming language.

Subscribe on YouTube