Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

@cmaneu

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

@cmaneu Scuba diving is a safe sport

Slide 6

Slide 6 text

@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.

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

@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.

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

@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.

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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%

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

@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 “ “

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

@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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

@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

Slide 37

Slide 37 text

@cmaneu

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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