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

Take your Azure Functions to the next level wit...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Marc Duiker Marc Duiker
November 01, 2018

Take your Azure Functions to the next level with Durable Functions @ WAZUG 2018

These are the slides for the Azure Durable Functions presentation I gave at the Azure User Group Netherlands (https://www.wazug.nl/) hosted by Xpirit.

Source code: https://github.com/marcduiker/demos-azure-durable-functions

Avatar for Marc Duiker

Marc Duiker

November 01, 2018
Tweet

More Decks by Marc Duiker

Other Decks in Programming

Transcript

  1. Marc Duiker Durable Functions • Visual Studio 2017 15.7+ •

    Azure Workload - Extension: Azure Functions & Web Jobs Tools - Azure Storage Emulator - Microsoft.Azure.Webjobs.Extensions.DurableTask Local development with VS2017
  2. Marc Duiker Durable Functions Demo: Function Chaining Find a Star

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

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

    planet and their residents. https://swapi.co/
  5. Marc Duiker Durable Functions Unit Testing Demo Testing the GetPlanetResidents

    orchestration using: • xUnit • Moq • AutoFixture
  6. 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  ).
  7. Marc Duiker Durable Functions • In and output of functions

    should be serializable. • Orchestration Functions should be deterministic: - DateTime.Now, use CurrentUtcDateTime - Guid.NewGuid() - Random generated data Closing remarks I
  8. Marc Duiker Durable Functions • Orchestration Functions can only call

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