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
Tweet

More Decks by Daron Yondem

Other Decks in Technology

Transcript

  1. Function Orchestration in the
    World of Serverless
    Daron Yöndem
    http://daron.me
    @daronyondem

    View Slide

  2. 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.

    View Slide

  3. Durable Functions!
    • Stateful functions
    • Managed state, checkpoints, and restarts when needed.
    • Define stateful workflows in orchestrator functions.
    .

    View Slide

  4. 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.

    View Slide

  5. 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.

    View Slide

  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

    View Slide

  7. Fan-Out and abuse Azure Computer Vision APIs :)
    DEMO

    View Slide

  8. Problem 3 : Eternal Processes
    • Long running processes
    • Built-in state management
    • orchestrationClient or built-in webhooks can be used.

    View Slide

  9. 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

    View Slide

  10. Orchestrating functions from Azure Logic Apps
    DEMO

    View Slide

  11. View Slide

  12. 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

    View Slide

  13. Thanks
    http://daron.me | @daronyondem
    Download slides here;
    http://daron.me/decks

    View Slide