This is a presentation I did in a meetup in Istanbul. It is about Azure Durable Functions and Azure Logic Apps being used to orchestrate functions.
Function Orchestration in the
World of Serverless
• Azure Logic Apps: For those who like user interfaces and
workflow definition files.
• Azure Durable Functions: For those who like codifying
workflows, and more.
• Stateful functions
• Managed state, checkpoints, and restarts when needed.
• Define stateful workflows in orchestrator functions.
Workflows you said?
• Define workflows in code. No JSON schemas or designers are
• They can call other functions synchronously and asynchronously.
Output from called functions can be saved to local variables.
• They automatically checkpoint their progress whenever the
function awaits. Local state is never lost if the process recycles.
Problem 1 : Function Chaining
• No visualization to show relationship between functions and queues.
• Middle queues are an implementation detail – conceptual overhead.
• Error handling adds a lot more complexity.
Problem 2 : Fan-out/Fan-in
• Fanning-out is easy, but fanning-in is more complicated.
• Functions offers no help with this scenario today
• All the same problems of the previous pattern
Fan-Out and abuse Azure Computer Vision APIs :)
Problem 3 : Eternal Processes
• Long running processes
• Built-in state management
• orchestrationClient or built-in webhooks can be used.
Why Logic Apps?
• Saving time by designing complex processes using easy to
understand design tools
• Implementing patterns and workflows seamlessly, that would
otherwise be difficult to implement in code
• Rich Managed Connectors
Orchestrating functions from Azure Logic Apps
Links worth sharing
Workflow Definition Language schema for Azure Logic Apps
Durable Task Framework
Durable Functions Nuget Package
http://daron.me | @daronyondem
Download slides here;