Azure Durable Functions

Azure Durable Functions

This is part of a full day Serverless training I hosted for Microsoft Turkey in Istanbul talking about Azure Durable Functions.

017286889e25c87cb44b20ceca2d1d79?s=128

Daron Yondem

December 19, 2017
Tweet

Transcript

  1. Azure Durable Functions Daron Yöndem http://daron.me @daronyondem

  2. Durable! • 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. Function chaining DEMO

  6. 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
  7. Fan-Out DEMO

  8. Problem 3 : Eternal Processes • Long running processes •

    Built-in state management • orchestrationClient or built-in webhooks can be used.
  9. Problem 4 : Stateful Singletons • Actor like scenarios. •

    Long-running (possibly endless), stateful, reliable, single- threaded, location-transparent, and globally addressable.
  10. Stateful Singletons DEMO

  11. Problem 5 : Human Interaction • Durable timers to wait

    for external events. • orchestrationClient binding can be used to use built-in bindings.
  12. Durable Timers DEMO

  13. Links worth sharing Durable Task Framework • https://goo.gl/q4yjUc Durable Functions

    Nuget Package • https://goo.gl/p1ma8T
  14. Thanks http://daron.me | @daronyondem Download slides here; http://daron.me/decks