SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Post-mortems:
aprendendo
através de
falhas
Riad Vargas @ Nubank
serviços em produção
Sendo a maior parte escrito
em Clojure e rodando em
Kubernetes.
engenheiros mensagens produzidas/dia
Em mais de 30 squads, indo
de produto à plataforma.
Usamos Kafka para todas as
comunicações assíncronas.
clientes
Em produtos como cartão,
Rewards e NuConta.
Incidente
Post-mortem
“Processo de documentar um incidente, com seu
impacto, ações tomadas para mitigar ou resolver,
sua causa e action items que previnam que
aconteça novamente.”
Site Reliability Engineering (O'Reilly)
Blameless
Não se tem um único culpado
em um incidente, se um erro
humano aconteceu a culpa é
do tooling, dos processos,
entre outras coisas.
Blameless
Timeline
Tão importante quanto saber
o que aconteceu é saber em
que ordem aconteceu. Todas
as pessoas envolvidas podem
contribuir com isso, assim no
final você sabe exatamente o
que foi feito para resolver o
incidente.
Timeline
Root causes
Com a timeline é muito mais
fácil descobrir qual foi o
evento que causou todo o
incidente (causas raízes) e
assim descobrir como evitar
que aconteça novamente.
Root causes
Woods' Theorem:
As the complexity of a system increases, the
accuracy of any single agent's own model of that
system decreases rapidly.
Aprendizados
Quando conduzindo um
post-mortem nosso objetivo é
aprender, então esse deve ser
o nosso foco. Como por
exemplo, saber o que
funcionou e não funcionou
durante a resposta ao
incidente.
Prevenção
Tendo tudo isso que já
comentamos, é hora de
descobrir o que precisamos
fazer para evitar que o
incidente aconteça de novo.
Action items
O resultado de um
post-mortem são action items
que vão corrigir ou mitigar a
causa raiz, é importante que
cada um deles tenha um
"dono".
Compartilhe!
É importante que todas as
pessoas, em especial as da
engenharia, tenham acesso
aos post-mortems
pregressos. Assim como
qualquer conhecimento, é
preciso disseminar o que se
aprende com os incidentes.
E por fim,
celebre!
O incidente foi doloroso,
preocupante mas trouxe
muitos aprendizados e coisas
para melhorar, depois de tudo
feito comemore por isso.
Recap
Não existe um único culpado, seja uma pessoa ou um único evento
Escreva a timeline com a ajuda de quem participou e LOGO
Documente todos os aprendizados e compartilhe!
Comemore a oportunidade de tornar seu sistema mais anti-frágil
https://blog.cloudflare.com/details-of-the-cloudflare-outage-on-july-2-2019/
Por que esse incidente?
Incidente global que atingiu muitas empresas e desenvolvedores
A stack de monitoramento da Cloudflare é parecida com a do Nubank
Post-mortem público e detalhado
6 ANOS sem um outage global
Timeline
Root causes
"Although the regular expression itself is of interest to many people
(and is discussed more below), the real story of how the Cloudflare
service went down for 27 minutes IS MUCH MORE COMPLEX THAN
A REGULAR EXPRESSION WENT BAD. We’ve taken the time to write
out THE SERIES OF EVENTS that lead to the outage and kept us
from responding quickly."
Root causes
A protection that would have helped prevent excessive CPU use by a
regular expression was removed by mistake during a refactoring of
the WAF weeks prior—a refactoring that was part of making the WAF
use less CPU.
The SOP allowed a non-emergency rule change to go globally into
production without a staged rollout.
The rollback plan required running the complete WAF
build twice taking too long.
SREs had lost access to some systems because their credentials
had been timed out for security reasons.
Action items
Compartilhe!
Obrigado!
Post-mortems - aprendendo através de falhas
Post-mortems - aprendendo através de falhas

Weitere ähnliche Inhalte

Ähnlich wie Post-mortems - aprendendo através de falhas

Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"
Henrique Bueno
 
Segurança como parte integral no ciclo de desenvolvimento de software
Segurança como parte integral no ciclo de desenvolvimento de softwareSegurança como parte integral no ciclo de desenvolvimento de software
Segurança como parte integral no ciclo de desenvolvimento de software
Vinicius Oliveira Ferreira
 

Ähnlich wie Post-mortems - aprendendo através de falhas (20)

TEES - Apresentacao Final
TEES - Apresentacao FinalTEES - Apresentacao Final
TEES - Apresentacao Final
 
DevOps - Operação contínua
DevOps - Operação contínuaDevOps - Operação contínua
DevOps - Operação contínua
 
Revista programar 30
Revista programar 30Revista programar 30
Revista programar 30
 
Unifesp sao jose
Unifesp sao joseUnifesp sao jose
Unifesp sao jose
 
Palestra
PalestraPalestra
Palestra
 
Cluster individual
Cluster   individualCluster   individual
Cluster individual
 
TCC Seguranca -1.0
TCC Seguranca -1.0TCC Seguranca -1.0
TCC Seguranca -1.0
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
 
Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"
 
SRE - Esperança não é uma estratégia
SRE - Esperança não é uma estratégiaSRE - Esperança não é uma estratégia
SRE - Esperança não é uma estratégia
 
Technology Radar_ThoughtWorks_Vol_22
Technology Radar_ThoughtWorks_Vol_22Technology Radar_ThoughtWorks_Vol_22
Technology Radar_ThoughtWorks_Vol_22
 
Segurança como parte integral no ciclo de desenvolvimento de software
Segurança como parte integral no ciclo de desenvolvimento de softwareSegurança como parte integral no ciclo de desenvolvimento de software
Segurança como parte integral no ciclo de desenvolvimento de software
 
Cultura DevOps - Integração entre infra e devel
Cultura DevOps - Integração entre infra e develCultura DevOps - Integração entre infra e devel
Cultura DevOps - Integração entre infra e devel
 
Revista programar 12
Revista programar 12Revista programar 12
Revista programar 12
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Monitoração - muito além do sistema operacional - WeOp 2014
Monitoração - muito além do sistema operacional - WeOp 2014Monitoração - muito além do sistema operacional - WeOp 2014
Monitoração - muito além do sistema operacional - WeOp 2014
 
Tanium_Log4j.pdf
Tanium_Log4j.pdfTanium_Log4j.pdf
Tanium_Log4j.pdf
 
Chalice.pdf
Chalice.pdfChalice.pdf
Chalice.pdf
 
O ciclo da vida
O ciclo da vidaO ciclo da vida
O ciclo da vida
 
Siem on cloud times
Siem on cloud timesSiem on cloud times
Siem on cloud times
 

Post-mortems - aprendendo através de falhas

  • 2. serviços em produção Sendo a maior parte escrito em Clojure e rodando em Kubernetes. engenheiros mensagens produzidas/dia Em mais de 30 squads, indo de produto à plataforma. Usamos Kafka para todas as comunicações assíncronas. clientes Em produtos como cartão, Rewards e NuConta.
  • 3.
  • 4.
  • 5.
  • 7.
  • 8. Post-mortem “Processo de documentar um incidente, com seu impacto, ações tomadas para mitigar ou resolver, sua causa e action items que previnam que aconteça novamente.” Site Reliability Engineering (O'Reilly)
  • 9. Blameless Não se tem um único culpado em um incidente, se um erro humano aconteceu a culpa é do tooling, dos processos, entre outras coisas.
  • 11. Timeline Tão importante quanto saber o que aconteceu é saber em que ordem aconteceu. Todas as pessoas envolvidas podem contribuir com isso, assim no final você sabe exatamente o que foi feito para resolver o incidente.
  • 13. Root causes Com a timeline é muito mais fácil descobrir qual foi o evento que causou todo o incidente (causas raízes) e assim descobrir como evitar que aconteça novamente.
  • 14. Root causes Woods' Theorem: As the complexity of a system increases, the accuracy of any single agent's own model of that system decreases rapidly.
  • 15. Aprendizados Quando conduzindo um post-mortem nosso objetivo é aprender, então esse deve ser o nosso foco. Como por exemplo, saber o que funcionou e não funcionou durante a resposta ao incidente.
  • 16. Prevenção Tendo tudo isso que já comentamos, é hora de descobrir o que precisamos fazer para evitar que o incidente aconteça de novo.
  • 17. Action items O resultado de um post-mortem são action items que vão corrigir ou mitigar a causa raiz, é importante que cada um deles tenha um "dono".
  • 18. Compartilhe! É importante que todas as pessoas, em especial as da engenharia, tenham acesso aos post-mortems pregressos. Assim como qualquer conhecimento, é preciso disseminar o que se aprende com os incidentes.
  • 19. E por fim, celebre! O incidente foi doloroso, preocupante mas trouxe muitos aprendizados e coisas para melhorar, depois de tudo feito comemore por isso.
  • 20. Recap Não existe um único culpado, seja uma pessoa ou um único evento Escreva a timeline com a ajuda de quem participou e LOGO Documente todos os aprendizados e compartilhe! Comemore a oportunidade de tornar seu sistema mais anti-frágil
  • 21.
  • 23.
  • 24. Por que esse incidente? Incidente global que atingiu muitas empresas e desenvolvedores A stack de monitoramento da Cloudflare é parecida com a do Nubank Post-mortem público e detalhado 6 ANOS sem um outage global
  • 26. Root causes "Although the regular expression itself is of interest to many people (and is discussed more below), the real story of how the Cloudflare service went down for 27 minutes IS MUCH MORE COMPLEX THAN A REGULAR EXPRESSION WENT BAD. We’ve taken the time to write out THE SERIES OF EVENTS that lead to the outage and kept us from responding quickly."
  • 27. Root causes A protection that would have helped prevent excessive CPU use by a regular expression was removed by mistake during a refactoring of the WAF weeks prior—a refactoring that was part of making the WAF use less CPU. The SOP allowed a non-emergency rule change to go globally into production without a staged rollout. The rollback plan required running the complete WAF build twice taking too long. SREs had lost access to some systems because their credentials had been timed out for security reasons.
  • 30.