Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Function Orchestration in the World of Serverless

Daron Yondem
September 20, 2018

Function Orchestration in the World of Serverless

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.

Daron Yondem

September 20, 2018

More Decks by Daron Yondem

Other Decks in Technology


  1. 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.
  2. Durable Functions! • Stateful functions • Managed state, checkpoints, and

    restarts when needed. • Define stateful workflows in orchestrator functions. .
  3. 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.
  4. 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.
  5. 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
  6. Problem 3 : Eternal Processes • Long running processes •

    Built-in state management • orchestrationClient or built-in webhooks can be used.
  7. 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
  8. Links worth sharing Workflow Definition Language schema for Azure Logic

    Apps https://goo.gl/r3fx4T Durable Task Framework • https://goo.gl/q4yjUc Durable Functions Nuget Package • https://goo.gl/p1ma8T