Tag: Durable Functions

AzureCommunityEvents

Speaking at Global Azure Virtual 2020

The Global Azure event has expanded to cover 3 days, April 23-25 and will be an online virtual event due to the Covid-19.

This year I will be speaking at 2 Global Azure Virtual events. The first is with the Global Azure Virtual 2020 UK & Ireland, where I will be contributing a recorded session on Exposing services with Azure API Management. This virtual event will have 50+ sessions with 20 live sessions over the course of the 3 days. The second is with Azure Virtual Community Day – Canada Edition where I will be doing a live stream on Bringing serverless into the Enterprise. This event will have 2 live tracks on Apps + Infrastructure and Data + AI and will have 12 sessions and 2 keynotes.

My first session on Exposing services with Azure API Management is happening on Friday April 24 09:00-10:00 UTC and the link to watch it is https://bit.ly/3aClNGx/.

My second session on Bringing serverless into the Enterprise is happening on Saturday April 25 15:00-16:00 EDT (UTC -4) and the link to watch the live stream is https://aka.ms/AzureCan2020-Track1-Afternoon.

I’m very excited to be speaking at these awesome community events and I really appreciate the opportunity to be part of this global community and share my passion for Azure. So

I hope you will join us on these days these to learn all about Azure from your world community.

Enjoy!

Resources

Global Azure Virtual 2020 UK & Ireland

Azure Virtual Community Day – Canada Edition

Global Azure Virtual 2020

Azure

Introduction to Durable Functions

Durable Functions is a new extension of Azure Functions which manages state, checkpoints and restarts for you. Durable Functions provide the capability to code stateful functions in a serverless environment. This new extension enables a new type of function called an orchestrator. The primary use case for Durable Functions is to simplify complex, stateful coordination problems in serverless applications. Some advantages of an orchestrator function are:

  • Workflows are defined in code. This means no JSON schemas or designers are needed.
  • Other functions can be called synchronously or asynchronously. Output from functions can be saved to local variables.
  • Automatic checkpoint the progress of the function whenever it awaits. This means local state is never lost if the process recycles or the VM reboots.

The following are 5 sample patterns where Durable Functions can help.

Pattern #1: Function Chaining

Function chaining is the execution of functions in sequence where the output of one function is the input to another function. With this pattern you typically use queues to pass state from function to function.

Function chaining diagram

Pattern #2: Fan-out/Fan-in

Fan-out/Fan-in refers to the execution of multiple functions in parallel and then waiting for all of them to finish. This pattern also uses queues to manage state from start to end. Fanning back in is much more complicated as you would have to track the outputs of all the functions waiting for them to finish.

Fan-out/fan-in diagram 

Pattern #3: Async HTTP APIs

Async HTTP APIs pattern is all about the problem of coordinating the state of long running operations with external APIs. With this pattern you often use another status endpoint for the client to check on the status of the long running operation.

HTTP API diagram

Pattern #4: Monitoring

The Monitoring pattern is a recurring process in a workflow where the function polls for a certain condition to be met. A simple timer trigger could address this but its interval is static and management of it is more complex.

Monitor diagram

Pattern #5: Human Interaction

Finally we have the Human Interaction pattern. This pattern is where a function executes but its process is gated based on some sort of human interaction. People are not always available or respond in a timely manner which introduces complexity to your function process.

Human interaction diagram

In all five use cases, Durable Functions provides built-in support for easily handling these scenarios without the need extra resources likes queues, timers, etc for managing state and controlling the function flow. For more information on each of these patterns and code samples please see the Durable Functions documentation.

Durable Functions is currently in preview and is an advanced extension for Azure Functions that is not appropriate for all scenarios. Next month is the annual Microsoft developer conference Build. I suspect we’ll see some new exciting details with Azure Functions and Durable Functions specifically. Hopefully they become generally available.

Enjoy!

References

Overview of Azure Functions

Durable Functions Documentation