SlideShare a Scribd company logo
Take your azure functions to the next level with durable functions @ Experts Live 2018
Marc Duiker
Lead Consultant @ Xpirit
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
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
IaaS PaaS SaaSFaaS
+ Less maintenance
+ Pay as you go
+ More fine grained scalability
- Less control
- More moving parts
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
Control flow
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
Orchestration?
Orchestration is the automated arrangement, coordination, and
management of computer systems, middleware, and services.
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
Durable Functions is based on
Marc Duiker
Durable Functions
Function Roles
Marc Duiker
Durable Functions
New Trigger Bindings
[OrchestrationClient] DurableOrchestrationClient
Function Role: Orchestration Starter
Marc Duiker
Durable Functions
DurableOrchestrationClient
Marc Duiker
Durable Functions
New Trigger Bindings
[OrchestrationTrigger] DurableOrchestrationContext
Function Role: Orchestration Function
Marc Duiker
Durable Functions
DurableOrchestrationContext
Marc Duiker
Durable Functions
New Trigger Bindings
[ActivityTrigger] DurableActivityContext
Function Role: Activity Function
Marc Duiker
Durable Functions
DurableActivityContext
Marc Duiker
Durable Functions
Invocations, Checkpoints & Replay
Function invocation Execution history
Marc Duiker
Durable Functions
Storage Types used by Durable Functions
Marc Duiker
Durable Functions
State is Persisted in Table Storage
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
Marc Duiker
Durable Functions
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
Marc Duiker
Durable Functions
Hello World Demo!
HelloWorld HelloWorldActivityHttpStart
Marc Duiker
Durable Functions
Hello {name} Demo!
HttpStart HelloName
{name}
HelloNameActivity
{name}
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
Function chaining
Marc Duiker
Durable Functions
Demo: Function Chaining
Find a Star Wars character and their home planet.
https://swapi.co/
Marc Duiker
Durable Functions
Demo: Function Chaining
HttpStart GetSwCharacterInfo SearchCharacter GetPlanet
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
Fan-out/fan-in
FA1 returns a collection of items
FA2 is called for each of the items from FA1
Marc Duiker
Durable Functions
Demo: Fan-out/Fan-in
Find a Star Wars planet and their residents.
https://swapi.co/
Marc Duiker
Durable Functions
Demo: Fan-out/Fan-in
HttpStart GetSwPlanetResidents SearchPlanet GetCharacter
Marc Duiker
Durable Functions
Marc Duiker
Durable Functions
Unit Testing Demo
Testing the GetSwPlanetAndResidentials orchestration using:
• xUnit
• Moq
• AutoFixture
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  ).
Marc Duiker
Durable Functions
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
Marc Duiker
Durable Functions
GitHub: demos-azure-durable-functions
blog.marcduiker.nl
@marcduiker

More Related Content

PPTX
Get rid of credentials from your code: Using Managed identities for Azure res...
PPTX
Step by Step to learn Azure and get MCSE
PDF
Azure DevOps Multistage YAML Pipelines – Top 10 Features
PPTX
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
PPTX
DV03 Smooth Migration to Windows Azure
PDF
DataSaturdayNL 2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory h...
PPTX
PaaSport to Paradise - Azure SQL and SSIS in Azure Data Factory - Better Toge...
PPTX
A journey-to-a-button
Get rid of credentials from your code: Using Managed identities for Azure res...
Step by Step to learn Azure and get MCSE
Azure DevOps Multistage YAML Pipelines – Top 10 Features
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
DV03 Smooth Migration to Windows Azure
DataSaturdayNL 2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory h...
PaaSport to Paradise - Azure SQL and SSIS in Azure Data Factory - Better Toge...
A journey-to-a-button

What's hot (18)

PPTX
Infrastructure as Code on Azure - NET Conf CO v2018
PDF
DatamindsConnect2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory ho...
PPTX
Introduction to Azure Web Applications for Office and SharePoint Developers
PPT
Make Web, Not War - Installfest: Extend Your Web Server, Rodney Buike
PPTX
Intro to Azure Static Web Apps
PPTX
Azure Automation and Update Management
PDF
Infrastructure as Code for Azure: ARM or Terraform?
PPTX
Running SSIS 2017 at Scale Everywhere
PPTX
The Essentials of Building Cloud-Based Web Apps with Azure
PPTX
Campus days Azure HDInsight automation
PPTX
Sitecore User Group - JSS & GraphQL
PPTX
Azure fundamentals 03
PPTX
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
PPTX
Managing Azure Components Using Azure PowerShell
PPTX
Lean Development with TFServices
PPTX
Azure fundamental -Introduction
PPTX
What's New for the Windows Azure Developer? Lots!!
PPTX
Automating Your Microsoft Azure Environment (DevLink 2014)
Infrastructure as Code on Azure - NET Conf CO v2018
DatamindsConnect2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory ho...
Introduction to Azure Web Applications for Office and SharePoint Developers
Make Web, Not War - Installfest: Extend Your Web Server, Rodney Buike
Intro to Azure Static Web Apps
Azure Automation and Update Management
Infrastructure as Code for Azure: ARM or Terraform?
Running SSIS 2017 at Scale Everywhere
The Essentials of Building Cloud-Based Web Apps with Azure
Campus days Azure HDInsight automation
Sitecore User Group - JSS & GraphQL
Azure fundamentals 03
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
Managing Azure Components Using Azure PowerShell
Lean Development with TFServices
Azure fundamental -Introduction
What's New for the Windows Azure Developer? Lots!!
Automating Your Microsoft Azure Environment (DevLink 2014)
Ad

Similar to Take your azure functions to the next level with durable functions @ Experts Live 2018 (20)

PDF
Take your Azure Functions to the next level with Durable Functions - WAZUG
PDF
Take your Azure Functions to the next level with Durable Functions - Serverle...
PDF
Orchestrate your Azure Functions with Durable Functions - AzureThursday Meetup
PPTX
Serverless Orchestration with Azure Durable Functions
PDF
Massimo Bonanni - Workflow as code with Azure Durable Functions - Codemotion ...
PPTX
Guidelines to understand durable functions with .net core, c# and stateful se...
PDF
Azure Durable Functions (2019-03-30)
PPTX
Azure Function Workflow
PPTX
Building stateful serverless orchestrations with Azure Durable Azure Function...
PPTX
Durable functions
PDF
Workflow as code with Azure Durable Functions
PPTX
Building a document signing workflow with Durable Functions
PPTX
Durable Functions
PPTX
Mastering Azure Durable Functions - Building Resilient and Scalable Workflows
PDF
FaaS by Microsoft: Azure Functions and Azure Durable Functions
PDF
Azure Durable Functions (2019-04-27)
PPTX
Deep Dive into Durable Functions
PPTX
Advanced Serverless Computing in Azure: not another "Hello serverless World"!
PPTX
ServerLess by usama Azure fuctions.pptx
PPTX
Building a document e-signing workflow with Azure Durable Functions
Take your Azure Functions to the next level with Durable Functions - WAZUG
Take your Azure Functions to the next level with Durable Functions - Serverle...
Orchestrate your Azure Functions with Durable Functions - AzureThursday Meetup
Serverless Orchestration with Azure Durable Functions
Massimo Bonanni - Workflow as code with Azure Durable Functions - Codemotion ...
Guidelines to understand durable functions with .net core, c# and stateful se...
Azure Durable Functions (2019-03-30)
Azure Function Workflow
Building stateful serverless orchestrations with Azure Durable Azure Function...
Durable functions
Workflow as code with Azure Durable Functions
Building a document signing workflow with Durable Functions
Durable Functions
Mastering Azure Durable Functions - Building Resilient and Scalable Workflows
FaaS by Microsoft: Azure Functions and Azure Durable Functions
Azure Durable Functions (2019-04-27)
Deep Dive into Durable Functions
Advanced Serverless Computing in Azure: not another "Hello serverless World"!
ServerLess by usama Azure fuctions.pptx
Building a document e-signing workflow with Azure Durable Functions
Ad

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Getting Started with Data Integration: FME Form 101
PPTX
Tartificialntelligence_presentation.pptx
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
Teaching material agriculture food technology
PPTX
Spectroscopy.pptx food analysis technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Approach and Philosophy of On baking technology
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Mushroom cultivation and it's methods.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Machine learning based COVID-19 study performance prediction
PDF
Encapsulation theory and applications.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Per capita expenditure prediction using model stacking based on satellite ima...
Getting Started with Data Integration: FME Form 101
Tartificialntelligence_presentation.pptx
OMC Textile Division Presentation 2021.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Network Security Unit 5.pdf for BCA BBA.
Teaching material agriculture food technology
Spectroscopy.pptx food analysis technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
A comparative analysis of optical character recognition models for extracting...
Approach and Philosophy of On baking technology
Spectral efficient network and resource selection model in 5G networks
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Mushroom cultivation and it's methods.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Empathic Computing: Creating Shared Understanding
Machine learning based COVID-19 study performance prediction
Encapsulation theory and applications.pdf

Take your azure functions to the next level with durable functions @ Experts Live 2018