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

Take your azure functions to the next level with durable functions @ Experts Live 2018

Take your azure functions to the next level with durable functions @ Experts Live 2018

Slides of the presentation I gave at Experts Live 2018 in Ede about the Durable Functions extension for Azure Functions.

The source code containing all the demos (HelloWorld, Function Chaining and Fan-out/Fan-in) is located in this repo: https://github.com/marcduiker/demos-azure-durable-functions.

Marc Duiker

June 19, 2018
Tweet

More Decks by Marc Duiker

Other Decks in Programming

Transcript

  1. Marc Duiker Durable Functions • Shift to Serverless • What

    are orchestrations? • Why do we need them? • What is Durable Functions? • Local development • Demos • Hello World / Hello Name • Function chaining • Fan-out/Fan-in • Unit Testing
  2. Marc Duiker Durable Functions IaaS PaaS SaaS FaaS + Less

    maintenance + Pay as you go + More fine grained scalability - Less control - More moving parts
  3. Marc Duiker Durable Functions Orchestration? Orchestration is the automated arrangement,

    coordination, and management of computer systems, middleware, and services.
  4. Marc Duiker Durable Functions Considerations when using Durable Functions -

    In and output of functions should be serializable. - Orchestration Functions should be deterministic: - DateTime.Now, use CurrentUtcDateTime - Guid.NewGuid() - Random generated data
  5. Marc Duiker Durable Functions Visual Studio 2017 15.7+ - “Azure

    development tools” workload - Extension: Azure Functions & Web Jobs Tools - Azure Storage Emulator - Azure Storage Explorer Local development
  6. Marc Duiker Durable Functions Demo: Function Chaining Find a Star

    Wars character and their home planet. https://swapi.co/
  7. Marc Duiker Durable Functions Fan-out/fan-in FA1 returns a collection of

    items FA2 is called for each of the items from FA1
  8. Marc Duiker Durable Functions Demo: Fan-out/Fan-in Find a Star Wars

    planet and their residents. https://swapi.co/
  9. Marc Duiker Durable Functions Unit Testing • Use DurableOrchestrationContextBase in

    the orchestration. • Use serializable types with [ActivityTrigger] for the activity input. (because DurableActivityContext can’t be instantiated/mocked due to internal constructor  ).
  10. Marc Duiker Durable Functions • Orchestration Functions can only call

    Activity Functions in the same Function App. • Keep your orchestration small. • What changes together should be deployed together. Closing remarks