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

Dealing with complex workflows in serverless applications @ Cloud Architectures Meetup

Fd55de4174accaf3b4f030e43a8a70c6?s=47 Marc Duiker
February 06, 2020

Dealing with complex workflows in serverless applications @ Cloud Architectures Meetup

These are the slides of the talk I gave at the ServerlessDays meetup in Amsterdam on Feb 6th and at the Cloud Architectures Meetup on Mar 12th.

Running one or two serverless functions is easy. But what if you're rebuilding a complex workflow based on serverless that requires dozens of functions. How do you design and manage that?

In this session, I'll cover building complex long-running workflows using Azure Durable Functions, an extension to Azure Functions that lets your define workflows in code (C# or JavaScript). Durable Functions allow you to:
- Easily chain functions together,
- Perform fan-out/fan-in scenarios,
- Wait for external events,
- Use built-in support for retry policies to achieve a resilient architecture.

The use of multiple orchestrations, in one function app, and across function apps, is also discussed.

Fd55de4174accaf3b4f030e43a8a70c6?s=128

Marc Duiker

February 06, 2020
Tweet

Transcript

  1. Serverless workflows @MarcDuiker

  2. Serverless workflows @MarcDuiker Marc Duiker Lead Azure Consultant, Xpirit Netherlands

  3. Serverless workflows @MarcDuiker

  4. Serverless workflows @MarcDuiker

  5. @MarcDuiker Serverless workflows “A workflow consists of an orchestrated and

    repeatable pattern of activity” https://en.wikipedia.org/wiki/Workflow
  6. @MarcDuiker Serverless workflows

  7. Serverless workflows @MarcDuiker

  8. @MarcDuiker Serverless workflows

  9. @MarcDuiker Serverless workflows Function Roles

  10. @MarcDuiker Serverless workflows

  11. @MarcDuiker Serverless workflows Orchestration Client Function

  12. @MarcDuiker Serverless workflows Orchestrator StatusResponse

  13. @MarcDuiker Serverless workflows Orchestrator Function

  14. @MarcDuiker Serverless workflows Activity Function

  15. @MarcDuiker Serverless workflows Invocations, Checkpoints & Replay

  16. @MarcDuiker Serverless workflows State is Persisted in Table Storage

  17. Serverless workflows @MarcDuiker

  18. Serverless workflows @MarcDuiker

  19. @MarcDuiker Serverless workflows Function chaining

  20. @MarcDuiker Serverless workflows Function chaining

  21. @MarcDuiker Serverless workflows Function chaining

  22. @MarcDuiker Serverless workflows

  23. Serverless workflows @MarcDuiker

  24. @MarcDuiker Serverless workflows Fan-out/fan-in FA1 is called for each of

    the items in [N]. FO waits until all FA1 results are in.
  25. @MarcDuiker Serverless workflows Fan-out/fan-in

  26. Serverless workflows @MarcDuiker

  27. @MarcDuiker Serverless workflows Human Interaction / External Events

  28. @MarcDuiker Serverless workflows Human Interaction / External Events

  29. @MarcDuiker Serverless workflows External Events with Time-Out

  30. @MarcDuiker Serverless workflows Sending Events

  31. @MarcDuiker Serverless workflows Querying orchestrator instance data

  32. Serverless workflows @MarcDuiker

  33. @MarcDuiker Serverless workflows Using Multiple Orchestrations

  34. @MarcDuiker Serverless workflows Grouping Azure of Functions

  35. Serverless workflows @MarcDuiker

  36. @MarcDuiker Serverless workflows Multiple Orchestrations from one Client

  37. @MarcDuiker Serverless workflows Multiple Orchestrations from one Client

  38. @MarcDuiker Serverless workflows Sub-orchestrators

  39. @MarcDuiker Serverless workflows Sub-orchestrations

  40. Serverless workflows @MarcDuiker

  41. @MarcDuiker Serverless workflows Multiple Function Apps & Http

  42. @MarcDuiker Serverless workflows Multiple Function Apps & Queues

  43. @MarcDuiker Serverless workflows EventGrid https://docs.microsoft.com/en-us/azure/event-grid/overview

  44. @MarcDuiker Serverless workflows Publisher: Create Topic https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable- functions-event-publishing

  45. @MarcDuiker Serverless workflows Subscriber: EventGrid Trigger

  46. @MarcDuiker Serverless workflows KISS

  47. @MarcDuiker Serverless workflows

  48. Durable Functions Docs https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview Durable Functions Videos https://www.youtube.com/user/marcduiker/featured Azure Functions,

    The Game https://marcduiker.itch.io/azure-functions-the-game Marc Duiker mduiker@xpirit.com @marcduiker