Blog Post

Apps on Azure Blog
7 MIN READ

Azure Functions - Microsoft build 2024 update

EamonOReilly's avatar
EamonOReilly
Icon for Microsoft rankMicrosoft
May 21, 2024

Azure Functions – Build update

With Microsoft Build happening, the team wanted to give an update on the latest releases in Azure Functions.

In recent years, serverless technologies and event-driven architectures have become increasingly popular. Over the last year, a few themes have surfaced.

  • Customers are building sophisticated workloads that require high and dynamic scale to improve productivity while controlling costs. These applications are often part of larger workloads and need to be deployed in different environments based on organizational needs.
  • Security is a top priority, and developers are reducing their use of secrets and using networking technologies for added security.
  • With the growth of OpenAI, customers are looking for built-in native components to build intelligent apps using existing serverless architecture.

Azure Functions has invested in these areas and is launching new capabilities to make it easier to build secure, scalable, and intelligent apps. 

 

Some of the highlights for build are:

Flex consumption: This new plan in public preview brings fast and large elastic scale, instance size selection, private networking, availability zones, and higher concurrency control.

 

Functions on Azure Container Apps: You can now deploy Azure Functions on ACA environments when you need to run your applications along with other microservices in a containerized environment. This extends our hosting platform beyond serverless and App Service plans to meet a diverse set of customer workloads.

 

OpenAI triggers and bindings: This new extension for Azure Functions makes it easier to build intelligent apps. With it, you can bring your own data for semantic search, build chat assistants, extend Azure OpenAI with assistant skills, and create or summarize content with Azure OpenAI.

 

Below are additional details on these new releases as well as new features available now to build applications in Azure Functions.

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.

 

Azure Functions is now available on Azure Container Apps

Use Azure Functions on Azure Container Apps environment to deploy your multitype services to a cloud-native solution designed for centralized management and serverless scale. 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 Container Apps compute environment.  

  

 

This enables centralized networking, observability, and configuration boundaries for multitype application development when building microservices. Azure Functions on Azure Container Apps can be integrated with DAPR, scaled 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.  

Learn more. 

 

Azure SQL Trigger support for Azure Functions

You can now build application logic in Azure Function apps which can be driven by data in an Azure SQL database. Azure SQL trigger for Azure Functions allows you to use nearly any SQL database enabled with change tracking to develop and scale event-driven applications using Azure Functions.

Invoking an Azure Function from changes to an Azure SQL table is now possible through the Azure SQL trigger for Azure Functions in Elastic Premium and Dedicated  plans for Azure Functions supported languages.

  • Azure SQL trigger for Azure Functions will enable you, for nearly any SQL database with change tracking enabled, this new extension enables you to develop dynamically scaled event-driven applications.  The Azure SQL trigger is compatible with Azure SQL Database, Azure SQL Managed Instance, and SQL Server.
  • With input and output bindings for SQL already in GA, you can quickly write Azure Functions that read and write from your databases. Together with triggers and input/output bindings, the SQL extension for Azure Functions provides you improved efficiency with low-code/no-code database interactions and enables those who are looking to migrate their applications to Azure the ability to participate in modern architectures. 

Learn more.

 

Azure Functions support for HTTP streams in Node.js

Azure Functions support for HTTP streams in Node.js is now generally available. With this feature, you can stream HTTP requests to, and responses from, your Functions Apps.

 

With HTTP Streams, scenarios like processing large data, streaming OpenAI responses, delivering dynamic content etc. are possible. Users can leverage this feature for use cases where real time exchange and interaction between client and server over HTTP connections is needed. We recommend using streams to get the best performance and reliability for your apps.

 

HTTP Streams in Node.js is supported only in the Azure Functions Node.js v4 programming model.

Learn more.

 

Azure Functions extension for Dapr is now in generally available.

You can use Dapr’s powerful cloud native building block APIs (e.g. Service Invoke with service discovery & mTLS, PubSub, Bindings, Secrets and Actors) and a large array of ecosystem components in the native Dapr and Azure Functions triggers & bindings programming model.  The extension is available to run on AKS and ACA services. 

Learn more.

 

Blob trigger with Azure Event Grid templates and VS Code integration available.

Templates to develop Azure Functions using the storage blob trigger with Azure Event Grid are now available to use when developing Functions. Additionally, improved support for developing and testing these blob trigger events with VS Code is now available.

You can learn more about using these templates for blob trigger within VSCode in the Azure Functions tutorial.

 

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 available.

 

Azure Functions brings new flexibility with Azure Functions Flex Consumption

Flex Consumption Plan is a new Azure Functions hosting plan that utilizes the familiar serverless consumption-based billing model (pay for what you use), while giving users more flexibility and customizability without compromising on existing capabilities. Now, customers can build serverless Functions-as-a-Service (FaaS) using Azure Functions for higher throughput, improved reliability, better performance, and additional security on their own terms.  

 

 

 

New capabilities include fast and large elastic scale, instance size selection, private networking, availability zones, and higher concurrency control. Run your serverless apps for event driven scale with negligible cold-start latency with always ready instances on Flex Consumption. Additionally, Open Telemetry support in Flex consumption is available in early preview.

Learn more. 

 

Azure Functions extension for OpenAI with triggers and bindings for intelligent applications

Azure Functions extension for OpenAI, now in public preview, enables developers to build Function applications that integrate with Azure OpenAI.

You can now perform the following tasks when building a Function App with the Open AI extension. The below capabilities are available in all languages (.NET, Java, Python, Node.js, PowerShell)

Retrieval Augmented Generation (Bring your own data for semantic search)

  • Data ingestion with Functions bindings.
  • Automatic chunking and embeddings creation.
  • Store embeddings in vector database including AI Search, CosmosDB for MongoDB, and Azure Data Explorer.
  • Binding that takes prompts, retrieves documents, sends to OpenAI LLM, and returns to user.

Text completion for content summarization and creation

  • Input binding that takes prompt and returns response from LLM.

Chat assistants

  • Input binding to chat with LLMs.
  • Output binding to retrieve chat history from persisted storage.
  • Skills trigger to extend capabilities of OpenAI LLM through natural language. 

Learn more.   

 

SDK type bindings for Azure Blob Storage with Azure Functions in Python

Azure Functions triggers and bindings enable you to easily integrate event and data sources with function applications. This feature enables you to use types from service SDKs and frameworks, providing more capability beyond what is currently offered. 

Specifically, SDK type bindings for Azure Storage Blob enable the following key scenarios:

·       Downloading and uploading blobs of large sizes, reducing current memory limitations and GRPC limits.

·       Improved performance by using blobs with Azure Functions

To learn more, see SDK type bindings for Azure Blob Storage in Python.

 

Azure Functions support for HTTP streams in Python

Azure Functions support for HTTP streams in Python is now in preview. With this feature, customers can stream HTTP requests to and responses from their Function Apps, using function exposed FastAPI request and response APIs. Previously with HTTP requests, the amount of data that could be transmitted was limited at the SKU instance memory size. With HTTP streaming, large amounts of data can be processed with chunking.

This feature enables new scenarios including processing large data streaming OpenAI responses and delivering dynamic content. You can leverage this feature for use cases where real time exchange and interaction between client and server over HTTP connections is needed. Additionally, FastAPI response types are supported with this feature.

To learn more, see HTTP streams in Azure Functions using Python.

 

Azure Load Testing integration with Azure Functions

Integration of Azure Load Testing is now available when performing high scale testing of your Azure Functions application. A new performance optimizer is now available that enables you to decide the right configuration for your App.

The Performance optimizer enables the following 

·       In-context experience to quickly create and run tests by specifying different memory and HTTP concurrency configurations with the expected load.  

·       Comparison of performance metrics across scale & concurrency configs helping you choose the right configuration. 

·       Right-sizing based on performance metrics to optimize costs. 

 

Learn more

 

.NET support

As a reminder, in alignment with the .NET Official Support Policy, support for .NET 7 ended on 14 May 2024, and support for .NET 6 will end on 12 November 2024. Apps should be moved to .NET 8 when possible. Azure Functions supports .NET 8 on the isolated worker model, and support on the in-process model is coming soon. We expect support on Windows to be available in June. Please see our March roadmap update for details on what the update process will look like.

 

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.

 

 

Thanks for all your feedback from the Azure Functions Team.

 

Updated May 21, 2024
Version 4.0
No CommentsBe the first to comment