Azure Functions – May update for Microsoft build
Published May 23 2023 07:57 AM 7,382 Views
Microsoft

Azure Functions – May update

With Microsoft Build happening, the team wanted to give an update on the latest releases in Azure Functions since the previous update in early January Azure Functions 2022 recap and 2023 sneak peek - Microsoft Community Hub.

We have been getting great feedback from customers and the community and I wanted to thank everyone for the continued growth of Functions and making the product better together.

 

General availability announcements

The following capabilities are now generally available for all Functions customers.

 

V2 programming model for Azure Functions using Python

The v2 programming model for Azure Functions using Python is now generally available. This programming model is designed to provide a Functions development experience that is more familiar to Python developers. Key features include triggers and bindings declared as decorators and in-editor support with easy to reference documentation. 

 

With the V2 programming model, customers will benefit from: 

  • A simplified folder structure, where there will be fewer files within a function application. Multiple functions in the application can now be defined in the same file. 
  • Triggers and bindings will be represented as decorators, eliminating the need for the ‘function.json’ configuration file. 
  • Easily accessible documentation with an option to View Template’ before creating a function in VS Code. 

 

EamonOReilly_0-1684774283862.png

 

 Leveraging the V2 programming model will provide an improved and seamless way to create functions, with the underlying deployment, debugging, and monitoring experience remaining the same. To learn more about the V2 programming model, get started here.   

 

New storage backend for Durable Functions — Microsoft Netherite & MSSQL

Azure Durable Functions support for the new storage providers, Netherite and Microsoft SQL Server (MSSQL), is now generally available. 

The Netherite storage provider was developed by Microsoft Research and is powered by Azure Event Hubs and Azure Page Blobs. It uses the FASTER database technology from Microsoft Research. The Netherite provider supports a significantly higher throughput than the other Durable Functions storage providers while also being more cost-effective for high-throughput workloads.

The Microsoft SQL (MSSQL) storage provider was designed to fulfill enterprise needs, including the ability to decouple from the Azure cloud. It is compatible with both on-premises and cloud-hosted deployments of SQL Server, including Azure SQL Database.

To learn more, read this blog post about Netherite and MSSQL and see the Durable Functions storage providers documentation 

 

Azure Functions support for Python 3.10

You can now develop functions using Python 3.10 locally and deploy them to all Azure Functions plans. 

For more information on newly supported features in Python, see What’s New In Python 3.10.

Get started with Python 3.10 in Azure Functions by following the Quickstart documentation

 

Azure Functions support for Node.js 18

Azure Function's support for Node.js 18.x is now generally available. Node.js 18.x is the latest long-term support (LTS) release of the Node.js runtime.

Azure Functions follows the Node.js lifecycle. Please refer to the Node.js Releases page for the planned end-of-life date for support of Node.js 18.x.

Learn how to use Azure Functions in Visual Studio code. 

 

Durable Functions support for .NET isolated model

Durable Functions is an extension of Azure Functions that lets you write stateful functions in a serverless compute environment. 

Durable Function’s support for .NET 7.0 running in the isolated worker process is now generally available. Note that this release also supports .NET 6.0 and .NET Framework. 

Additional resources: 

 

Availability zones support for Azure Functions in new regions

Availability zones for Azure Functions is now available in the Norway East, South Africa North, Switzerland North, and UAE North regions on both Premium (Elastic Premium) and Dedicated (App Service) plans. 

For apps running in a zone-redundant plan, even as the app scales in and out, the function app platform automatically spreads the instances in the plan across all zones of the selected region.

To learn more, read the documentation.

 

Azure Functions Linux Elastic Premium plan increased maximum scale-out limits

Maximum scale-out limits for Azure Functions on Linux Elastic Premium plans have been increased in the following regions:

Region

Old scale-out limit

New scale-out limit

France Central

20

60

North Europe

80

100

South Central US

60

100

UK South

60

100

West US

40

100

 

Learn More.

 

Azure SQL bindings for Azure Functions are now generally available. 

You can now more easily integrate Azure SQL and Azure Functions with input and output bindings, generally available for use with Azure SQL Database, Azure SQL Managed Instance, and SQL Server.

Azure SQL bindings for Azure Functions reduce the boilerplate code required to develop Azure Functions, speeding up time to deployment whether you are building a fleet of microservices or a single solution. You can develop with SQL input and output bindings in .NET, Java, Python, Node.js, and PowerShell Azure Functions.

The SQL input and output bindings are now generally available.   

The Azure SQL trigger for Azure Functions is in public preview for .NET, Java, Python, Node.js, and PowerShell Azure Functions. With the Azure SQL trigger you can invoke Azure Functions from data changes to develop event-driven applications on your Azure SQL databases. 

Learn more

 

Identity-based connection support for host storage

You can now use identity instead of secrets to connect to the storage used by the Functions host (via the “AzureWebJobsStorage” connection). As with all identity-based connections supported by Functions, your hosted function app can use a managed identity for this connection, and when testing locally on your machine, your developer identity can be used.

The AzureWebJobsStorage connection is used by multiple components in Functions, and you may need to adjust the permissions granted to this identity as you bring in other triggers and bindings which might leverage it, for example.

Learn more

 

Durable Functions support of managed identity for Azure Storage

Azure Durable Functions support of managed identity for Azure Storage is now generally available!

See quickstart on how to configure managed identity for Azure Storage in your Durable Functions app. 

 

Improved scaling model for Azure Functions with Target Based Scaling

Event based scaling is fundamental to the serverless promise. Target based scaling is an improvement on the Azure Functions Consumption and Premium plans scaling experience, providing a faster and more intuitive scaling model for customers. It is currently supported by the Service Bus Queues and Topics, Storage Queues, Event Hubs, and Cosmos DB extensions.

Learn more.

 

.NET Upgrade Assistant supports Azure Functions projects

The .NET Upgrade Assistant now supports Azure Functions projects. You can use this tool to take any .NET function apps developed in Visual Studio to the latest versions of Azure Functions and .NET. The tool automatically makes known adjustments to bring your app to the V4 host with the isolated worker, using .NET 6 or .NET 7.

Learn more.

 

Public preview announcements

We have also recently released the following capabilities into public preview. We would love to get feedback on these features while we work to make them generally availability.

 

 Azure Functions for cloud-native microservices

Use Azure Functions for cloud-native microservices to deploy your multitype services to a cloud-native solution designed for centralized management and serverless scale. With this public preview, Azure Function’s host, runtime, extensions, and Azure Function apps can be developed and deployed as containers using familiar Functions tooling including Core Tools, AzCLI/Portal/code-to-cloud with GitHub actions and DevOps tasks into the Azure Container Apps compute environment.

 

EamonOReilly_0-1684810106191.png

 

This enables centralized networking, observability, and configuration boundaries for multitype application development when building microservices. Azure Functions for cloud-native microservices has integrated scaling using KEDA and provisioned to a highly performant serverless plan. This allows you to maximize productivity with a serverless container service built for microservices, robust autoscaling, and fully managed infrastructure. You can read more information about the preview on this blog.

Learn more. 

 

Azure Functions V4 programming model for Node.js

Version 4 of the Node.js programming model is now available in preview. This programming model is part of Azure Function’s larger effort to provide an intuitive and idiomatic experience for all supported languages. Key improvements of the V4 model are highlighted in this blog post and in a recent episode of Azure Functions Community Standup.

References:

 

SDK type bindings

Azure Functions triggers and bindings enable function authors to easily integrate event and data sources. For most of the language stacks supported by Functions, triggers and bindings have been limited to simple types that are passed into the function signature. We have added preview support for more types, such as those from the Azure SDKs, starting with the .NET Isolated worker . The capability will be extended to more extensions and language stacks in the future.

Now, a .NET function in an isolated worker process could, for example, start with a BlobClient passed into it. Using that type, the function can stream data incrementally and process larger blobs than it could before. Some workloads may see throughput improvements as well. Function authors should be aware that if a binding expression relies on trigger data, the trigger itself cannot be one of the newly supported types.

You can learn more about this support from the documentation. Please report any issues on the .NET isolated worker GitHub repository.

 

ASP.NET Core integration in Azure Functions .NET isolated model

Azure Functions now supports a richer model for working with HTTP triggers in .NET isolated function projects. Apps can now be written to use familiar types from ASP.NET Core such as HttpRequest, HttpResponse, and IActionResult. This makes it easier for function authors to leverage their existing skills from ASP.NET Core and existing in-process Functions projects. The update also provides greater control over the request and response, enabling larger message sizes and streaming content types. 

 

For more information: https://learn.microsoft.com/azure/azure-functions/dotnet-isolated-process-guide 

 

Azure Data Explorer bindings for Azure Functions

We are pleased to announce the public preview of Azure Data Explorer input & output bindings for Azure functions! 

You can now integrate your Azure functions with ADX via bindings - a declaratively way of connecting external resources to Azure functions. 

 

With Azure Data Explorer bindings, you can seamlessly read & write data from your Azure functions with minimal code.

Learn more.

 

Azure Cache for Redis trigger

The preview version of Azure Functions support for Azure Cache for Redis enables users to leverage Redis data types as triggers for serverless app development. With this integration, customers can trigger an Azure Function on various Redis data types, including pub/sub channels, lists, and streams, as well as keyspace and keyevent notifications. This allows for automatic write-behind or write-through caching, where new cache values are automatically written to a backing database, or cache consistency with a database or storage account is ensured by triggering updates when a key expires or is updated. This feature is available at no additional cost on the Azure Cache for Redis end and only requires paying for the Azure Functions you trigger. This update expands the possibilities of serverless architectures and allows for greater flexibility and scalability in app development.

Learn more.

 

We would love to hear feedback on these new capabilities and your overall experience with Functions so we can make sure we meet all your needs. You can click on the “Send us your feedback” button from the overview page of your function app.

 

EamonOReilly_1-1684774283870.png

 

Thanks for all your feedback from the Azure Functions Team.

 

1 Comment
Co-Authors
Version history
Last update:
‎May 23 2023 07:51 AM
Updated by: