Azure Functions & .NET 5
Dive into the world of Azure Functions and .NET 5 with a focus on serverless computing, full abstraction of servers, and seamless scalability. Explore how to react to events using various languages like C#, F#, Node.JS, Java, Python, and PowerShell. Discover the power of stateful orchestrations with Durable Functions and streamline your workflow with simple functions for processing queue messages and blob operations.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Azure Functions & .NET 5 Ankit Kumar Software Engineer Azure Functions ankitkumarr
Serverless with Azure Functions Introduction
Full abstraction of servers Serverless Instant scale Pay-per-use
Azure Functions Outputs Events Code React to timers, HTTP, or events from your favorite Azure services, with more on the way Send results to an ever- growing collection of services Author functions in C#, F#, Node.JS, Java, Python, PowerShell, and more Stateful orchestrations w/ Durable Functions
A Simple Function When a Queue message M arrives, Fetch a blob named M Copy it to a new blob
A Simple Function When a Queue message M arrives, Fetch a blob named M Copy it to a new blob
A Simple Function When a Queue message M arrives, Fetch a blob named M Copy it to a new blob
A Simple Function When a Queue message M arrives, Fetch a blob named M Copy it to a new blob
A Simple Function When a Queue message M arrives, Fetch a blob named M Copy it to a new blob
A Simple Function When a Queue message M arrives, Fetch a blob named M Copy it to a new blob
Azure Functions Execution Model Internals
Functions Components Azure Functions Host The engine that dispatches and orchestrates executions Azure/azure-functions-host Extensions Binding and trigger libraries Example- Azure/azure-functions-eventhubs-extension Language Workers Language extensibility (out of proc) Example- Azure/azure-functions-nodejs-worker
Functions Host versioning V1 .NET Framework V2 .NET Core 2.2 (Deprecated) V3 .NET Core 3.1
.NET Core 3 Function Execution (In Proc) Functions Host Process (.NET Core 3) Storage Event Script Host Extensions (Bindings) Function Invoker public static Run( , CloudBlockBlob blob, )) { // Function }
.NET Core Functions In-proc (Host is written in .NET Core) .NET Core version support tied to Host V3 Host (.NET Core 3) does not run .NET 5 functions in-proc
Other languages in Functions Support for Out of proc model Metadata files* (function.json) etc
Node Function Execution (Out of Proc) Functions Host Process (.NET Core 3) Storage Event Language Process (Node) Script Host Node Worker Extensions (Bindings) User Code IPC (gRPC) Function Invoker IPC Server module.exports = function(context) { context.log(context.bindings.myBlob); // ... }
.NET 5 on Azure Functions Internals
.NET 5 Not an LTS version End of Support 3 months after .NET 6 All odd .NET versions (5,7, ) will be short-lived Functions Host not moving to .NET 5 (managed service)
Azure Functions .NET worker Out of proc model Shipped as a nuget package Trying to keep the same-ish interface (no function.json) Build Tools create metadata
.NET 5 Function Execution (Out of Proc) Functions Host Process (.NET Core 3) Storage Event Language Process (.NET 5) Script Host User Code Extensions (Bindings) .NET Worker IPC (gRPC) Function Invoker IPC Server
.NET 5 on Azure Functions Analysis
Key differences No rich type bindings* (plans to add) Serialization / Deserialization of triggers Different parameter types Performance differences Language worker process
New features Better Isolation Decoupled from Host framework dependencies Middleware Support Similar model as ASP.NET Independent updates Worker deployed with function code
Whats next Support for Linux and tools (VS) Performance improvements Better Binding support GA soon (yay!) .NET 6 support
.NET 5 on Azure Functions Azure/azure-functions-dotnet-worker-preview