Introduction
This is a series of articles to get our hands dirty with Durable Functions and their patterns in detail.
It will cover the following things,
- What are Durable Functions?
- Supported languages
- Application Patterns
- Hands-on Lab – Create a durable function in C#
- Hands-on Lab – Deploy durable function on Azure
What are Durable Functions?
- Durable Function is an extension of Azure Functions that lets you write stateful functions in a serverless compute environment.
- The extension lets you define stateful workflows by writing orchestrator functions and stateful entities by writing entity functions using the Azure Functions programming model.
- Behind the scenes, the extension manages state, checkpoints, and restarts for you, allowing you to focus on your business logic.
- The primary use case for Durable Functions is simplifying the complex, stateful coordination requirements in serverless applications
Supported languages
- C#: precompiled class libraries and C# script.
- JavaScript: supported only for version 2.x of the Azure Functions runtime.
- Python: requires version 2.3.1 of the Durable Functions extension, or a later version.
- F#: F# script is only supported for version 1.x of the Azure Functions runtime.
- PowerShell: Supported only for version 3.x of the Azure Functions runtime and PowerShell 7
Application patterns
The following application patterns can benefit from Durable Functions:
- Function chaining
- Fan-out/fan-in
- Async HTTP APIs
- Monitoring
- Human interaction
- Aggregator (stateful entities)
Pre-requisites
These are pre-requisites to start working on durable functions
- An Azure pay-as-you-go account enabled
- Install Visual Studio 2019
- Install Azure Storage Emulator
Hands-on Lab – Create a durable function in C#
Steps to be followed,
Open VS 2019 and create a project.
Choose the Azure function template and create a directory.

Choose durable functions orchestration template.

Once the application has been created, we can see three functions,








Join the conversation! Your thoughts help the community grow.