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

AzureLive: Creating a PagerDuty Clone

AzureLive: Creating a PagerDuty Clone

My session on creating a PagerDuty clone using Azure Functions & Durable Functions for the Azure Live conference on April13th, 2021.

GitHub repo: https://bit.ly/az-func-challenge
YouTube channel: https://bit.ly/marc-serverless

Marc Duiker

April 13, 2021
Tweet

More Decks by Marc Duiker

Other Decks in Programming

Transcript

  1. 1
    @MarcDuiker powered by: &

    View full-size slide

  2. 2
    @MarcDuiker powered by: &
    Marc Duiker
    Lead Azure Consultant

    View full-size slide

  3. @MarcDuiker 3
    Your super
    important app
    that is failing
    Support Team
    that needs
    to investigate
    On-call /
    Incident response
    management

    View full-size slide

  4. 4
    @MarcDuiker powered by: &

    View full-size slide

  5. 5
    @MarcDuiker powered by: &

    View full-size slide

  6. @MarcDuiker 6
    Your super
    important app
    that is failing
    Notify Support
    Function App
    Support Team
    that needs
    to investigate
    Support Team
    contact info
    Communication
    Service

    View full-size slide

  7. @MarcDuiker 7
    NotifySupport
    HttpTrigger
    Get Support
    Contacts
    Send
    Notification
    Wait for
    Callback
    Callback
    received within
    time limit?
    Max # of
    notifications
    reached?
    Is there a
    next Support
    Contact?
    Stop
    Select next
    Support
    Contact
    for each Support Contact
    No
    Yes
    Yes
    No
    No
    Yes
    Callback
    HttpTrigger

    View full-size slide

  8. 8
    @MarcDuiker powered by: &

    View full-size slide

  9. @MarcDuiker 9
    Your super
    important app
    that is failing
    Notify Support
    Function App
    (local runtime)
    Support Team
    that needs
    to investigate
    Support Team
    contact info
    (storage emulator)
    Communication
    Service

    View full-size slide

  10. 10
    @MarcDuiker powered by: &

    View full-size slide

  11. @MarcDuiker 11

    View full-size slide

  12. @MarcDuiker 12
    client
    function
    orchestrator
    function
    activity
    functions
    StartNewAsync
    CallActivityAsync

    View full-size slide

  13. @MarcDuiker 13
    table storage
    orchestrator replay

    View full-size slide

  14. 14
    @MarcDuiker powered by: &

    View full-size slide

  15. @MarcDuiker 15
    client
    function
    orchestrator
    function
    sub-orchestrator
    functions
    StartNewAsync
    CallSubOrchestratorAsync

    View full-size slide

  16. @MarcDuiker 16

    View full-size slide

  17. 17
    @MarcDuiker powered by: &

    View full-size slide

  18. @MarcDuiker 18
    client
    function
    orchestrator
    function
    ContinueAsNew

    View full-size slide

  19. @MarcDuiker 19

    View full-size slide

  20. 20
    @MarcDuiker powered by: &

    View full-size slide

  21. @MarcDuiker 21
    client
    function
    orchestrator
    function
    WaitForExternalEvent

    View full-size slide

  22. @MarcDuiker 22

    View full-size slide

  23. @MarcDuiker 23
    RaiseEventAsync
    client
    function

    View full-size slide

  24. @MarcDuiker 24

    View full-size slide

  25. 25
    @MarcDuiker powered by: &

    View full-size slide

  26. @MarcDuiker 26
    client
    function
    orchestrator
    function
    ReadEntityStateAsync SignalEntity

    View full-size slide

  27. @MarcDuiker 27

    View full-size slide

  28. @MarcDuiker 28

    View full-size slide

  29. @MarcDuiker 29

    View full-size slide

  30. 30
    @MarcDuiker powered by: &

    View full-size slide

  31. @MarcDuiker 31
    NotifySupport
    HttpTrigger
    Get Support
    Contacts
    Send
    Notification
    Wait for
    Callback
    Callback
    received within
    time limit?
    Max # of
    notifications
    reached?
    Is there a
    next Support
    Contact?
    Stop
    Select next
    Support
    Contact
    No
    Yes
    Yes
    No
    No
    Yes
    sub-orchestrator function
    main orchestrator
    function
    client functions
    activity functions
    Callback
    HttpTrigger Orchestrator
    Instance
    Entity

    View full-size slide

  32. 32
    @MarcDuiker powered by: &

    View full-size slide

  33. 33
    @MarcDuiker powered by: &
    https://bit.ly/az-func-challenge
    http://bit.ly/marc-serverless

    View full-size slide