@mark_heath Video uploaded Virus Scan File copy Extract metadata Database Audit Transcode Thumbnail Analytics Voice detection Notification icons designed by Smashicons from flaticons Can’t see the big picture?
Image from The Art of Rube Goldberg: (A) Inventive (B) Cartoon (C) Genius, Selected and with commentary by Jennifer George; Introduction by Adam Gopnik, Published by Abrams ComicArts.
Orchestrator Functions • Define the steps in the workflow • Shows the big picture • Calls “activity functions” • Or other orchestrators (“sub-orchestrations”) • Decides what to do next • Handle exceptions across all activities • Must adhere to strict rules @mark_heath
Activity Functions • Perform steps in the workflow • Can receive input data and return output data • Can use “bindings” to connect to external services • (Just like a regular Azure Function) @mark_heath
Task Hubs • Stores state associated with workflows • Uses an Azure Storage account behind the scenes • (Tables and Queues) • Uses an event sourcing technique @mark_heath
Why Durable Functions? • Define the big picture in code • Handle errors for the workflow as a whole • Retry individual steps with back-off • Easily implement waiting for external events with timeout • Easily implement fan-out fan-in patterns • Track progress of workflows • Cancel workflows • It’s free and open source @mark_heath