Slides of the presentation I gave at Experts Live 2018 in Ede about the Durable Functions extension for Azure Functions.
The source code containing all the demos (HelloWorld, Function Chaning and Fan-out/Fan-in) is located in this repo: https://github.com/marcduiker/demos-azure-durable-functions
3. Marc Duiker
Durable Functions
• Shift to Serverless
• What are orchestrations?
• Why do we need them?
• What is Durable Functions?
• Local development
• Demos
• Hello World / Hello Name
• Function chaining
• Fan-out/Fan-in
• Unit Testing
5. Marc Duiker
Durable Functions
IaaS PaaS SaaSFaaS
+ Less maintenance
+ Pay as you go
+ More fine grained scalability
- Less control
- More moving parts
28. Marc Duiker
Durable Functions
Considerations when using Durable Functions
- In and output of functions should be serializable.
- Orchestration Functions should be deterministic:
- DateTime.Now, use CurrentUtcDateTime
- Guid.NewGuid()
- Random generated data
30. Marc Duiker
Durable Functions
Visual Studio 2017 15.7+
- “Azure development tools” workload
- Extension: Azure Functions & Web Jobs Tools
- Azure Storage Emulator
- Azure Storage Explorer
Local development
43. Marc Duiker
Durable Functions
Unit Testing
• Use DurableOrchestrationContextBase in the orchestration.
• Use serializable types with [ActivityTrigger] for the activity
input. (because DurableActivityContext can’t be
instantiated/mocked due to internal constructor ).
45. Marc Duiker
Durable Functions
• Orchestration Functions can only call Activity Functions in the
same Function App.
• Keep your orchestration small.
• What changes together should be deployed together.
Closing remarks