Slide 1

Slide 1 text

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

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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