2019 Global Azure Bootcamp - Azure Durable Functions Demos

This repo contains a .NET Core solution for my 2019 Global Azure Bootcamp presentation and demos on Serverless Orchestration with Azure Durable Functions. It also serves as demo material for some of my other Azure Functions presentations.

Getting Started

Requirements

  • Visual Studio 2019, Visual Studio 2017, Visual Studio Code and/or the Azure Portal
  • .NET Core 2.1
  • Visual Studio Code REST Client extension (optional)
  • Microsoft Azure Storage Explorer (optional)

Solution

The solution consists of the following projects:

  • DurableFunction1, a Function App targeted at .NET Core 2.1, and contains the default Durable Function sample code that Visual Studio creates.
  • DurableFunctions.Demo.DotNetCore, a Function App targeted at .NET Core 2.1, and contains more real world samples with best practices and design principles.

The current version of this Function App depends on the free (and fun) external Star Wars API - SWAPI in order to demonstrate function chaining and fan-out/fan-in patterns. This API doesn't require any authentication which makes it easier to demo and experiment with.

Demos

The Function App solution consists of the following demos (found in seperate solution folders) which can be executed independently.

00 - Starters

TODO

01 - Status

TODO

10 - Basics

TODO

20 - Chaining

TODO

30 - Fan-Out/Fan-In

TODO

Using the Visual Studio Code REST Client Extension

During my demos I used the excellent REST Client extension for Visual Studio Code. If you have this extension installed then you can use the http files located in the api-tests folder to start the orchestration functions.

References

Durable Functions (an extension of Azure Functions and Azure WebJobs) enables writing long-running, stateful function orchestrations in code in a serverless environment (PaaS options and self-hosting are also supported).

For more information on Azure Durable Functions take a look at the documentation and/or source code on GitHub:

Special Thanks

I would like to thank Marc Duiker for his Azure Durable Function videos and samples as inspiration for my presentation and demos.