Durable Functions

2019-02-01 By 0 Comments

App Dev Manager Deepak Malik spotlights Durable Functions, an extension of Azure Functions that help you manage state, checkpoints, and restarts in a serverless environment.


Stateful functions in a serverless environment – that’s the new extension of Azure Functions in the Serverless architecture world called as Durable Functions.

First let’s think of why we focus on Serverless functions:

  • Cost
  • Scale
  • Event driven

While one thinks of event driven code, the requirements (operational) can be broken into smaller functions,  which is usually the code snippet executed as a response to a request. As the end user, one is not concerned about underlying infrastructure.

For complex functionalities, one would prefer to break the workflow down to smaller, easily maintainable and reusable snippets. This not only allows to divert the effort to business logic but also help with simplicity of the code running on server. As the simplicity is targeted, one ends up managing multiple states, as application grows in size.

Durable Functions is an extension of Azure Functions that lets you write stateful functions in a serverless environment. It lets you define stateful workflows using an orchestrator function, which can provide the following benefits:

  • You can define your workflows in code. No JSON schemas or designers are needed.
  • Other functions can be called both synchronously and asynchronously. Output from called functions can be saved to local variables.
  • Progress is automatically checkpointed when the function awaits. Local state is never lost when the process recycles or the VM reboots.

Durable functions currently support C#, F# and JavaScript. Refer to Tutorials for more details.