Function Orchestration in the
World of Serverless
Daron Yöndem
http://daron.me
@daronyondem
Slide 2
Slide 2 text
Two ways
• Azure Logic Apps: For those who like user interfaces and
workflow definition files.
• Azure Durable Functions: For those who like codifying
workflows, and more.
Slide 3
Slide 3 text
Durable Functions!
• Stateful functions
• Managed state, checkpoints, and restarts when needed.
• Define stateful workflows in orchestrator functions.
.
Slide 4
Slide 4 text
Workflows you said?
• Define workflows in code. No JSON schemas or designers are
needed.
• 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.
Slide 5
Slide 5 text
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.
Slide 6
Slide 6 text
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
Slide 7
Slide 7 text
Fan-Out and abuse Azure Computer Vision APIs :)
DEMO
Slide 8
Slide 8 text
Problem 3 : Eternal Processes
• Long running processes
• Built-in state management
• orchestrationClient or built-in webhooks can be used.
Slide 9
Slide 9 text
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
Slide 10
Slide 10 text
Orchestrating functions from Azure Logic Apps
DEMO