Detangling complex systems
Liz Fong-Jones
@lizthegrey
#DevOpsDaysGDL
February 21, 2020
with compassion & production excellence
1
Illustrated by @emilywithcurls!
Slide 2
Slide 2 text
Entender sistemas complejos
Liz Fong-Jones
@lizthegrey
#DevOpsDaysGDL
el 21 de febrero, 2020
con compasión & excelencia de producción
2
Ilustrada por @emilywithcurls!
Slide 3
Slide 3 text
@lizthegrey en #DevOpsDaysGDL
We write code to solve problems.
3
Como ingenieros, solucionamos problemas.
Slide 4
Slide 4 text
@lizthegrey en #DevOpsDaysGDL
But our job isn't done upon commit.
4
Hay más trabajo después del commit.
Slide 5
Slide 5 text
@lizthegrey en #DevOpsDaysGDL
Production is increasingly complex.
5
La producción es más compleja.
Slide 6
Slide 6 text
@lizthegrey en #DevOpsDaysGDL
It's harder to understand our systems.
6
Entender los sistemas es más difícil.
Slide 7
Slide 7 text
@lizthegrey en #DevOpsDaysGDL
What does uptime mean?
7
Que significa tiempo útil?
Slide 8
Slide 8 text
@lizthegrey en #DevOpsDaysGDL
Is it measured in servers?
8
Se mide por servidores?
Slide 9
Slide 9 text
@lizthegrey en #DevOpsDaysGDL
Is it measured in complaints?
9
Se mide por quejas?
Slide 10
Slide 10 text
@lizthegrey en #DevOpsDaysGDL
How about juggling everything else?
10
Cómo podemos hacer todo lo demás?
Slide 11
Slide 11 text
@lizthegrey en #DevOpsDaysGDL
Our strategies need to evolve.
11
Tenemos que usar otras estrategias.
Slide 12
Slide 12 text
@lizthegrey en #DevOpsDaysGDL
Don't "buy" DevOps.
No "compres" DevOps
12
Slide 13
Slide 13 text
@lizthegrey en #DevOpsDaysGDL
When we order the alphabet soup...
13
Cuando pedimos la sopa de letras...
Slide 14
Slide 14 text
@lizthegrey en #DevOpsDaysGDL
Noisy alerts. Grumpy engineers.
14
Despertamos con frecuencia.
Slide 15
Slide 15 text
@lizthegrey en #DevOpsDaysGDL
Walls of meaningless dashboards.
15
No sabemos dónde mirar.
Slide 16
Slide 16 text
@lizthegrey en #DevOpsDaysGDL
Incidents take forever to fix.
16
No podemos reparar rápidamente.
Slide 17
Slide 17 text
@lizthegrey en #DevOpsDaysGDL
Everyone bugs the "expert".
17
Todo el equipo molesta al experto.
Slide 18
Slide 18 text
@lizthegrey en #DevOpsDaysGDL
Deploys are unpredictable.
18
No podemos desplegar con confianza.
Slide 19
Slide 19 text
@lizthegrey en #DevOpsDaysGDL
There's no time to do projects...
19
No hay horas en el día para proyectos.
Slide 20
Slide 20 text
@lizthegrey en #DevOpsDaysGDL
and when there's time, there's no plan.
20
y no sabemos qué debemos hacer.
Slide 21
Slide 21 text
@lizthegrey en #DevOpsDaysGDL
The team is struggling to hold on.
21
No podemos aguantar esto.
Slide 22
Slide 22 text
@lizthegrey en #DevOpsDaysGDL
What are we missing?
22
Qué nos hemos perdido?
Slide 23
Slide 23 text
@lizthegrey en #DevOpsDaysGDL
We forgot who operates systems.
23
Hemos olvidado quién opera los sistemas.
Slide 24
Slide 24 text
@lizthegrey en #DevOpsDaysGDL
Tools aren't magical.
24
Las herramientas no son mágicas.
Slide 25
Slide 25 text
@lizthegrey en #DevOpsDaysGDL
Invest in people, culture, & process.
25
Inviertas en tu gente, cultura, y procesas.
Slide 26
Slide 26 text
@lizthegrey en #DevOpsDaysGDL
Enter the art of
Production Excellence.
26
Necesitamos
Excelencia de Producción.
Slide 27
Slide 27 text
@lizthegrey en #DevOpsDaysGDL
Make systems more reliable & friendly.
27
Cree sistemas más confiable y amigable.
Slide 28
Slide 28 text
@lizthegrey en #DevOpsDaysGDL
ProdEx takes planning.
28
Se necesita planear para ProdEx.
Slide 29
Slide 29 text
@lizthegrey en #DevOpsDaysGDL
Measure and act on what matters.
29
Midas y correjas lo más importante.
Slide 30
Slide 30 text
@lizthegrey en #DevOpsDaysGDL
Incluyas a todos.
Involve everyone.
30
Slide 31
Slide 31 text
@lizthegrey en #DevOpsDaysGDL
Encourage asking questions.
31
Recompenses haciendo preguntas.
Slide 32
Slide 32 text
@lizthegrey en #DevOpsDaysGDL
How do we get started?
32
Cómo podemos empezar?
Slide 33
Slide 33 text
@lizthegrey en #DevOpsDaysGDL
Know when it's too broken.
33
Tenemos que saber cuándo está muy malo.
Slide 34
Slide 34 text
@lizthegrey en #DevOpsDaysGDL
& be able to debug, together when it is.
34
y poder depurar, juntos, cuando está malo.
Slide 35
Slide 35 text
@lizthegrey en #DevOpsDaysGDL
Eliminate (unnecessary) complexity.
35
Tenemos que eliminar la complejidad.
Slide 36
Slide 36 text
@lizthegrey en #DevOpsDaysGDL
Our systems are always failing.
36
Los sistemas siempre fallan.
Slide 37
Slide 37 text
@lizthegrey en #DevOpsDaysGDL
What if we measure too broken?
37
Podemos medir las fallas.
Slide 38
Slide 38 text
@lizthegrey en #DevOpsDaysGDL
We need
Service Level Indicators
38
Necesitamos Indicadores
del Nivel de Servicio.
Slide 39
Slide 39 text
@lizthegrey en #DevOpsDaysGDL
SLIs and SLOs are common language.
39
SLIs y SLOs son idioma común.
Slide 40
Slide 40 text
@lizthegrey en #DevOpsDaysGDL
Think in terms of events in context.
40
Consideramos los eventos y sus contextos.
Slide 41
Slide 41 text
@lizthegrey en #DevOpsDaysGDL
Is this event good or bad?
41
Cómo sabemos si un evento es malo?
Slide 42
Slide 42 text
@lizthegrey en #DevOpsDaysGDL
Are users grumpy? Ask your PM.
42
Hay quejas? El gerente de producto saberá.
Slide 43
Slide 43 text
@lizthegrey en #DevOpsDaysGDL
What threshold buckets events?
43
Cuál es el umbral entre lo bueno y lo malo?
Slide 44
Slide 44 text
@lizthegrey en #DevOpsDaysGDL
HTTP Code 200? Latency < 300ms?
44
El código HTTP 200? Latencia < 300ms?
Slide 45
Slide 45 text
@lizthegrey en #DevOpsDaysGDL
How many eligible events did we see?
45
Cuántos eventos elegibles medimos?
Slide 46
Slide 46 text
@lizthegrey en #DevOpsDaysGDL
Availability: Good / Eligible Events
46
La disponibilidad = Buenos / Elegibles
Slide 47
Slide 47 text
@lizthegrey en #DevOpsDaysGDL
Set a target Service Level Objective.
47
Establezcas un Objetivo.
Slide 48
Slide 48 text
@lizthegrey en #DevOpsDaysGDL
Use a window and target percentage.
48
Tiene una ventana temporal y proporción.
Slide 49
Slide 49 text
@lizthegrey en #DevOpsDaysGDL
99.9% of events good in past 30 days.
49
99.9% de eventos del mes pasado serán buenos.
Slide 50
Slide 50 text
@lizthegrey en #DevOpsDaysGDL
A good SLO barely keeps users happy.
50
Apenas mantiene contentos al cliente.
Slide 51
Slide 51 text
@lizthegrey en #DevOpsDaysGDL
Drive alerting with SLOs.
51
Se puede usar SLOs para alertar.
Slide 52
Slide 52 text
@lizthegrey en #DevOpsDaysGDL
Error budget: allowed unavailability
52
El presupuesto de errores permitidos.
Slide 53
Slide 53 text
@lizthegrey en #DevOpsDaysGDL
How long until I run out?
53
Cuánto tiempo hasta se acabe?
Slide 54
Slide 54 text
@lizthegrey en #DevOpsDaysGDL
Page if it's hours.
54
Ticket if it's days.
Envíe una alerta
si tardará horas.
Cree una tarea
si tardará días.
Slide 55
Slide 55 text
@lizthegrey en #DevOpsDaysGDL
55
Tenemos un gran problema.
Uh oh, better wake someone up.
Slide 56
Slide 56 text
@lizthegrey en #DevOpsDaysGDL
Data-driven business decisions.
56
Decidas utilizando datos.
Slide 57
Slide 57 text
@lizthegrey en #DevOpsDaysGDL
Is it safe to do this risky experiment?
57
Es seguro probar esto?
Slide 58
Slide 58 text
@lizthegrey en #DevOpsDaysGDL
Should we invest in more reliability?
58
Debemos invertir en más confiabilidad?
Slide 59
Slide 59 text
@lizthegrey en #DevOpsDaysGDL
Perfect SLO > Good SLO >>> No SLO
59
Lo perfecto es enemigo de lo bueno.
Slide 60
Slide 60 text
@lizthegrey en #DevOpsDaysGDL
Measure what you can today.
60
Midas lo que puedes hoy.
Slide 61
Slide 61 text
@lizthegrey en #DevOpsDaysGDL
Iterate to meet user needs.
61
Seas flexible y cambias con necesidades.
Slide 62
Slide 62 text
@lizthegrey en #DevOpsDaysGDL
Only alert on what matters.
62
Sólo reciba alertas cuando es necesario.
Slide 63
Slide 63 text
@lizthegrey en #DevOpsDaysGDL
SLIs & SLOs are
only half the picture...
63
SLIs sólo son
la mitad de la solución...
Slide 64
Slide 64 text
@lizthegrey en #DevOpsDaysGDL
Our outages are never identical.
64
Los cortes nunca son los mismos.
Slide 65
Slide 65 text
@lizthegrey en #DevOpsDaysGDL
Failure modes can't be predicted.
65
No podemos saber cómo va a fallar.
Slide 66
Slide 66 text
@lizthegrey en #DevOpsDaysGDL
Tenemos que depurar fallas nuevas.
66
Debug novel cases. In production.
Slide 67
Slide 67 text
@lizthegrey en #DevOpsDaysGDL
Dive into data to ask new questions.
67
Formules preguntas nuevas con datos.
Slide 68
Slide 68 text
@lizthegrey en #DevOpsDaysGDL
Allow forming & testing hypotheses.
68
Tenemos que probar las hipótesis.
Slide 69
Slide 69 text
@lizthegrey en #DevOpsDaysGDL
Our services must be observable.
69
Necesitamos observabilidad.
Slide 70
Slide 70 text
@lizthegrey en #DevOpsDaysGDL
Can you examine events in context?
70
Conoces los eventos y sus contextos?
Slide 71
Slide 71 text
@lizthegrey en #DevOpsDaysGDL
Can you explain the variance?
71
Puedes explicar las diferencias?
Slide 72
Slide 72 text
@lizthegrey en #DevOpsDaysGDL
using relevant dimensions?
72
con las dimensiones pertinentes?
Slide 73
Slide 73 text
@lizthegrey en #DevOpsDaysGDL
Can you mitigate impact & debug later?
73
Puedes reparar antes y depurar después?
Slide 74
Slide 74 text
@lizthegrey en #DevOpsDaysGDL
Observability goes beyond break/fix.
74
Observabilidad mejora más que reparar.
OPERATIONAL
RESILIENCE
MANAGED
TECH DEBT
QUALITY
CODE
PREDICTABLE
RELEASE
USER INSIGHT
Slide 75
Slide 75 text
@lizthegrey en #DevOpsDaysGDL
Observability isn't just the data.
75
Observabilidad es más que los datos.
INSTRUMENT QUERY
Slide 76
Slide 76 text
@lizthegrey en #DevOpsDaysGDL
SLOs and Observability go together.
76
SLOs y Observabilidad funcionan juntos.
Slide 77
Slide 77 text
@lizthegrey en #DevOpsDaysGDL
But they alone don't
create collaboration.
77
También necesitamos
colaboración.
Slide 78
Slide 78 text
@lizthegrey en #DevOpsDaysGDL
Heroism isn't sustainable.
78
No podemos ser héroes por siempre.
Slide 79
Slide 79 text
@lizthegrey en #DevOpsDaysGDL
Debugging is not a solo activity.
79
No podemos depurar sólos.
Slide 80
Slide 80 text
@lizthegrey en #DevOpsDaysGDL
Debugging is for everyone.
80
Todos los puestos participan en depurar.
Slide 81
Slide 81 text
@lizthegrey en #DevOpsDaysGDL
Collaboration is interpersonal.
81
Tenemos que comunicar entre personas.
Slide 82
Slide 82 text
@lizthegrey en #DevOpsDaysGDL
Lean on your team.
82
Nuestro equipo puede ayudarnos.
Slide 83
Slide 83 text
@lizthegrey en #DevOpsDaysGDL
We learn better when we document.
83
Aprendemos más cuando documentamos.
Slide 84
Slide 84 text
@lizthegrey en #DevOpsDaysGDL
Fix hero culture. Share knowledge.
84
No habrá héroes si compartimos.
Slide 85
Slide 85 text
@lizthegrey en #DevOpsDaysGDL
Reward curiosity and teamwork.
85
Recompenses curiosidad y cooperación.
Slide 86
Slide 86 text
@lizthegrey en #DevOpsDaysGDL
86
Improve the future by learning the past.
Mejoras la futura cuando aprendas el pasado.
Slide 87
Slide 87 text
@lizthegrey en #DevOpsDaysGDL
Outages don't repeat, but they rhyme.
87
Los cortes tienen similaridades.
Slide 88
Slide 88 text
@lizthegrey en #DevOpsDaysGDL
Risk analysis
helps us plan.
88
Cuando analizamos los
riesgos, planificamos.
Slide 89
Slide 89 text
@lizthegrey en #DevOpsDaysGDL
Quantify risks by frequency & impact.
89
Los riesgos tienen frecuencias y efectos.
Slide 90
Slide 90 text
@lizthegrey en #DevOpsDaysGDL
Which risks are most significant?
90
Cuáles riesgos son los más peligrosos?
Slide 91
Slide 91 text
@lizthegrey en #DevOpsDaysGDL
Address risks that threaten the SLO.
91
Arregles riesgos que amenazan el SLO.
Slide 92
Slide 92 text
@lizthegrey en #DevOpsDaysGDL
Make the business case to fix them.
92
Tenemos razones para arreglarlos.
Slide 93
Slide 93 text
@lizthegrey en #DevOpsDaysGDL
And prioritize completing the work.
93
Y podemos priorizar la finalización.
Slide 94
Slide 94 text
@lizthegrey en #DevOpsDaysGDL
Don't waste time chrome polishing.
94
No debemos perder horas sin hacer nada.
Slide 95
Slide 95 text
@lizthegrey en #DevOpsDaysGDL
Lack of observability is systemic risk.
95
La falta de observabilidad es un riesgo.
Slide 96
Slide 96 text
@lizthegrey en #DevOpsDaysGDL
So is lack of collaboration.
96
Y la falta de colaboración también.
Slide 97
Slide 97 text
@lizthegrey en #DevOpsDaysGDL
97
Success doesn't demand heroism.
No necesitamos héroes para tener éxito.
Slide 98
Slide 98 text
@lizthegrey en #DevOpsDaysGDL
Season the alphabet soup with ProdEx
98
La sopa sabe más deliciosa con ProdEx
Slide 99
Slide 99 text
@lizthegrey en #DevOpsDaysGDL
ProdEx is easier with the right tools!
99
ProdEx es fácil con herramientas útiles!
Slide 100
Slide 100 text
@lizthegrey en #DevOpsDaysGDL
Excelencia de producción
mejora los equipos.
Medir. Depurar. Colaborar. Reparar.
100
lizthegrey.com; @lizthegrey
PS tengo pegatinas!
/liz
Slide 101
Slide 101 text
@lizthegrey en #DevOpsDaysGDL
Production Excellence
brings teams closer together.
Measure. Debug. Collaborate. Fix.
101
lizthegrey.com; @lizthegrey
p.s. I have stickers!
/liz