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

Et si ca tourne mal ? Recettes pour des applications résilientes

Et si ca tourne mal ? Recettes pour des applications résilientes

Présenté à https://cloudnord.fr/
Quel est le rapport entre la plongée sous-marine et des applications cloud-natives ? A priori, pas grand chose. Pourtant, lors que vous vous trouvez à 80 mètres de profondeur, vous devez mettre en place des outils et des techniques pour assurer une résilience absolue. Ces mêmes techniques peuvent s'appliquer à l'architecture et au développement d'applications résiliences. Durant cette présentation, nous verrons tout d'abord une philosophie à adopter dans votre conception d'applications résilientes. Puis nous verrons un ensemble de techniques à avoir à l'esprit et comment les appliquer concrètement dans vos applications.

Christopher MANEU

November 19, 2020
Tweet

More Decks by Christopher MANEU

Other Decks in Technology

Transcript

  1. Et si ca tourne mal ?
    Recettes pour des
    applications
    résilientes

    View Slide

  2. And if it goes wrong?
    Recipes for reliable apps,
    learned while scuba diving
    Christopher MANEU
    Startups Cloud Advocate @ Microsoft
    @cmaneu

    View Slide

  3. @cmaneu

    View Slide

  4. @cmaneu
    Technical deep diver (trimix, rebreather, >60m / 200 feet)
    Technical instructor
    Solo diving instructor

    View Slide

  5. @cmaneu
    Scuba diving
    is a safe sport

    View Slide

  6. @cmaneu
    What is reliability?
    Recipes for reliable apps
    Reliable application are designed to
    recover gracefully from failures and run in
    a healthy state with no significant
    downtime.

    View Slide

  7. @cmaneu
    Agenda
    Recipes for reliable apps
    #1
    Before your
    dive
    #2
    Go diving
    #3
    Back to
    the shore

    View Slide

  8. @cmaneu
    Agenda
    Recipes for reliable apps
    #2
    Go diving
    #3
    Back to
    the shore
    #1
    Before your
    dive

    View Slide

  9. @cmaneu
    Planning for bad things
    Before your dive | Recipes for reliable apps
    We are even dumber deep
    dive under than at the
    surface.


    View Slide

  10. @cmaneu
    What-if technique
    Before your dive | Recipes for reliable apps
    Do these steps as a team:
    1. Identify dangers
    2. Evaluate risks
    3. Prepare a contingency plan
    4. Repeat
    What if… Then
    Lost mask Backup mask in pocket
    Leak on air tank during transport Recompute my limits, reduce dive
    Leak on main gaz source underwater Switch to redundant gaz supply, close
    faulty gaz tank.

    View Slide

  11. From What-If to Failure Mode Analysis
    Before your dive | Recipes for reliable apps
    https://aka.ms/cloudnord-scuba

    View Slide

  12. @cmaneu
    Check-lists
    Before your dive | Recipes for reliable apps

    View Slide

  13. Resiliency checklist
    Before your dive | Recipes for reliable apps
    https://aka.ms/cloudnord-scuba

    View Slide

  14. @cmaneu
    Pinnacle dive
    Before your dive | Recipes for reliable apps
    A dive that’s a peak dive for its participants…
    perhaps the deepest, most complex,
    longest, and toughest in their logbook.

    View Slide

  15. @cmaneu
    Always diving in your level
    Before your dive | Recipes for reliable apps
    • Experience
    • Depth
    • Duration
    • Decompression limits
    • …
    • Change maximum one parameter / dive

    View Slide

  16. Before your dive | Recipes for reliable apps
    Usage
    patterns
    Availability
    metrics
    Recovery
    metrics
    Availability
    targets
    MTTR
    MTBF
    RTO
    RPO
    SLA
    SLI
    SLO
    https://aka.ms/cloudnord-scuba

    View Slide

  17. Before your dive | Recipes for reliable apps
    Cost + complexity
    Availability
    Video delivery, broadcast systems
    ATM transactions, telecommunications systems
    Batch processing, data extraction, transfer, and load jobs
    Internal tools like knowledge management, project tracking
    Online commerce, point of sale
    99%
    99.9%
    99.95%
    99.99%
    99.999%

    View Slide

  18. @cmaneu
    Agenda
    Recipes for reliable apps
    #1
    Before your
    dive
    #2
    Go diving
    #3
    Back to
    the shore

    View Slide

  19. @cmaneu
    Streamline your configuration
    Go diving | Recipes for reliable apps

    View Slide

  20. @cmaneu
    Streamline your configuration
    Go diving | Recipes for reliable apps

    View Slide

  21. @cmaneu
    Streamline your configuration
    Go diving | Recipes for reliable apps

    View Slide

  22. Is your architecture streamlined?
    Go diving | Recipes for reliable apps
    I Run Kubernetes,
    I have no issues!
    https://k8s.af/

    View Slide

  23. View Slide

  24. View Slide

  25. @cmaneu
    When things go wrong,
    a priority framework
    Go diving | Recipes for reliable apps
    #1
    Breathe
    #2
    Buoyancy
    #3
    Ascent

    View Slide

  26. A priority framework
    Go diving | Recipes for reliable apps
    T
    D
    O
    D
    A
    R
    ime (it’s also team)
    iagnostics
    ptions
    ecide
    ct / assign
    eview

    View Slide

  27. Brownout strategies
    Go diving | Recipes for reliable apps
    Which part/features of your
    application you can disable
    during an emergency?

    View Slide

  28. Brownout strategies: a real-world example
    Go diving | Recipes for reliable apps

    View Slide

  29. @cmaneu
    Agenda
    Recipes for reliable apps
    #1
    Before your
    dive
    #2
    Go diving
    #3
    Back to
    the shore

    View Slide

  30. @cmaneu
    We need to talk…
    Back to the shore | Recipes for reliable apps
    You know it was a bad dive
    when no ones talk
    on the boat


    View Slide

  31. Postmortem
    Back to the shore | Recipes for reliable apps
    Never charge team members
    What needs to be said must be said
    Can use different angles to help postmortem
    - Technical
    - Technological
    - Psychological

    View Slide

  32. Improve: Fail-over checklist
    Back to the shore | Recipes for reliable apps
    https://aka.ms/cloudnord-scuba

    View Slide

  33. @cmaneu
    Agenda
    Recipes for reliable apps
    #1
    Prepare your
    dive
    #2
    Go diving
    #3
    Back to
    the shore

    View Slide

  34. @cmaneu
    Agenda
    Recipes for reliable apps
    #1
    Prepare your
    dive
    #2
    Go diving
    #3
    Back to
    the shore
    What-If
    Checklists
    Limits
    Streamlined
    configuration
    Priority
    framework
    Brownout
    strategy
    Debrief
    Improve

    View Slide

  35. Architecture Review
    Cost, DevOps, Scalability, Resiliency, and Security.
    https://aka.ms/cloudnord-scuba

    View Slide

  36. @cmaneu
    4 characteristics of a good tech diver
    Recipes for reliable apps
    Humility
    Doesn’t know everything, know that there is more than one good solution.
    Openness
    Doesn’t fear change, don’t reject new or different ideas on the spot
    Analytical
    Doesn’t accept things because they’re just new. Evaluate with neutrality and realistic POV.
    Competency
    Never stop learning

    View Slide

  37. @cmaneu

    View Slide

  38. https://unsplash.com/photos/raalZ
    zjZUXQ
    Photo by Jeremy Bishop on
    Unsplash
    Photo by Denes Kozma on
    Unsplash

    View Slide

  39. Thanks
    Christopher MANEU
    Startups Cloud Advocate @ Microsoft
    @cmaneu
    Recipes for reliable apps,
    learned while scuba diving
    https://aka.ms/chris/slides

    View Slide