SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
Construindo e mantendo
sistemas confiáveis
Bruno R. Zanuzzo
rzbruno.net
Agenda
● Confiabilidade
○ falhas e resultados indesejados:
■ definições e contexto;
■ causas;
■ prevenção e remediação;
Quem sou eu
● Bruno R. Zanuzzo;
● Formado sistemas Informação:
○ Unoesc Chapecó;
● ~14 anos experiência tech:
○ QA/desenv. software;
○ rede/cloud/arquitetura;
● Atualmente trabalhando para
Jettacargo (otimização de
planejamento logístico);
Motivação
Motivação
● Interesse em aviação,
especialmente investigação de
acidentes aéreos;
● Interesse em geral por
entender falhas, erros e
acidentes por meio de
investigações;
Motivação
● Livros:
○ Pensando, rápido e devagar - Daniel Kahneman;
○ Ruído: Uma falha no julgamento humano - Daniel Kahneman;
○ SRE (Site Reliability Engineering) - Google;
○ Checklist manifesto - Atul Gawande;
○ Engineering a Safer World - Nancy G Leveson;
○ CAST Handbook: How to learn more from incidents and
accidents - Nancy G Leveson
Problema
Problema: parte 1
● Recorrência de falhas:
○ falhas que supostamente
tinham sido
corrigidas/eliminadas,
voltam a acontecer;
● Efeito cumulativo;
● Mais complexidades,
potencialmente mais causas;
Problema: parte 2
● Erros triviais, coisas que jamais deveriam acontecer mas acontecem:
○ alvo incorreto:
■ qual paciente e/ou qual membro a ser operado;
■ qual motor do avião a ser desligado após alerta de incêndio;
○ estado/condição inadequado para ação, e.g.: decolagem;
○ informação não confiável, e.g.: pista está livre para pouso;
Problema: parte 3
● Requisitos atendidos mas
ainda assim sistema gerando
resultados indesejados:
○ B737MAX: MCAS
recebendo informação
incorreta de sensor;
○ Centrífugas enriq. urânio
exploradas pelo Stuxnet:
velocidade excessiva;
Tendência se nada for feito
● Falhas/resultados indesejados:
○ acumulam;
○ tornam o sistema imprevisível;
○ dificultam depuração e resolução de problemas;
○ criam incerteza;
● Fragilização de relações com usuários:
○ Credibilidade/Confiança;
Contexto
Definições
● Sistema:
○ “Um conjunto de coisas ou dispositivos conectados que operam
juntos” cambridge
● Confiabilidade:
○ “Até que ponto um experimento, teste ou procedimento de
medição produz os mesmos resultados em tentativas repetidas”
merriam-webster
● Acurácia: proximidade das
medições a um valor
específico;
● Confiabilidade,
fiabilidade ou precisão:
proximidade das medições
entre si;
Definições de medida
Definições
● Sucesso:
○ “A realização de um objetivo ou propósito.” Oxford
● Falha:
○ “Falta de sucesso.” Oxford;
■ todas as permutações de estado do universo onde seu
objetivo não é realizado;
● Resultado Indesejado:
○ resultado negativo, indiferente de sucesso/falha;
Premissas
● estruturas tem limites;
○ pessoas tem excesso de otimismo e confiança causados por:
■ tendências cognitivas, e.g. viés de confirmação;
■ falácias lógicas, e.g. correlação não implica causa;
● estruturas vão mudar;
● estruturas vão falhar;
● complexidade, assim como entropia, parece só aumentar;
● tudo é processo, todo processo pode melhorar, mesmo decisão;
Mas o que causa falhas exatamente?
● Falhas acontecem por submeter sistemas a condições adversas:
○ Além da capacidade atual do sistema (insuficiente/degradada);
○ Usar em condições diferentes das que foi projetado;
○ Previsão incorreta de vida útil avião (ciclos), BOAC Vôo 781;
○ Não seguindo recomendações de fabricante, e.g.; manutenção;
○ Voar ou navegar durante tempestades intensas;
○ Voo sem instrumento em condições não visuais;
○ Comunicação ambígua entre componentes: ATC - Tribulação;
Solução:
medidas ativas e contínuas,
focadas em evitar
falhas e resultados indesejados
1 - Definir falhas / resultados indesejados
2 - Quantificar falhas / resultados indesejados
● referência;
● para melhorar, primeiro, precisamos saber onde estamos!
3 - Investigação falhas / result. indesejados
● Identificar causas raízes / fatores
falha;
● Ações que colocam o sistema em
condições “perigosas”:
○ Características/Propriedades;
○ Definição/Critério;
○ Preditor/estimador;
○ Indicador/Gatilho/Sinal;
○ Padrão;
3 - Investigação falhas / result. indesejados
● Pós-falha:
○ Postmortem: investigação pós-falha e ações prevenir/remediar;
■ CAST: análise de causa de evento/acidente baseado em
sistemas;
● Pré-falha:
○ Premortem: análise de falha, supondo que a mesma ocorreu;
■ STPA: análise de situações “perigosas” baseado em sistemas;
● Contínua, “Red Teams”: para “desafiar continuamente planos,
operações, conceitos, organizações e capacidades”; wikipedia
4 - Controle
● Identificar e controlar parâmetros (condições internas e externas ao
sistema):
○ prevenir:
■ ter valores adequados como parâmetros, ou seja, evitar
valores não suportados;
○ remediar:
■ setar valores adequados como parâmetros;
■ marcar valores não suportados;
Modelos de causalidade na
prevenção e remediação de falhas
comparação dos modelos
Tradicional: Queijo Suíço, Bowtie Teoria Sistemas: STAMP
corrente diretamente relacionada
a eventos, quebra de barreiras
processos dinâmicos complexos
problema de "gerência de falhas" problema de "controle dinâmico"
prevenção de falhas
Impõe [restrições] no
comportamento do sistema e nas
interações entre os componentes
por meio [estrutura de controle]
Queijo Suíço - barreiras para cadeia de eventos
Bowtie - medidas para cadeia de eventos
STAMP: Sistema de controle
● “Um sistema de controle gerencia, comanda, dirige ou regula o
comportamento de outros dispositivos ou sistemas usando loops de
controle
● O sistema de controle:
○ compara:
■ o valor ou status da variável de processo sendo controlada;
■ com o valor desejado ou alvo;” Wikipédia
○ e toma ações as ações necessárias para resolver a diferença.
● Controlador: usa o modelo
do processo para
determinar ações que
regulam processo;
● Ações de controle são
sensíveis ao modelo e
feedback, se estiverem
total ou parcialmente
incorretas, tendência a
falha!
STAMP: Ciclo Feedback
STAMP: HCS
Hierarchical
Control
Structure
● Agentes;
● Dispositivos;
● Software;
● Ambiente;
Kubernetes Control Plane
● Control Manager;
○ replicas, ...;
● Comms Control:
○ certificados, ...;
● Cloud Control
Manager:
○ cloud-specific
control logic, ...;
Mas afinal, o que significa controle? Oxford:
● o poder de influenciar (autoridade);
● um meio de limitar ou regular algo;
● determinar o comportamento ou supervisionar funcionamento;
● a restrição de uma atividade, tendência ou fenômeno;
Formas de controle
● Controles para impor restrições/limitações
○ no design, manutenção e uso de sistemas:
■ imposto por agentes humanos ou artificiais:
● procedimentos, protocolos;
● checklists;
● políticas, regras, restrições, limitações;
● padrão/norma: nível mínimo de
qualidade/acurácia/precisão;
Considerações finais
Restrinja ações que se sabe que tendem a falha
● Defina: falhas e resultados indesejados;
● Quantifique: falhas e resultados indesejados;
● Investigue: estabeleça e aprimore processos para determinar com
confiança causas raízes, fatores de falha e resultados indesejados
(antes, durante e após a execução);
○ recorrência é cara; corrigir a coisa errada, mais ainda;
● Controle: Imponha uma hierarquia de controles para prevenção e
remediação de falhas e resultados indesejados;
○ os únicos caminhos disponíveis precisam ser seguros, confiáveis;
Confiabilidade como cultura
● Requisitos:
○ compromisso de todos, começando por líderes;
● Cultura:
○ de aprender com falhas e resultados indesejados;
■ aplicar controles que não permitam recorrência;
■ compartilhar aprendizados;
● Resultado:
○ maior padrão de qualidade e confiabilidade generalizada;
Confiabilidade é uma escolha
Recomendação de leitura relacionada
● Pensando, rápido e devagar - Daniel Kahneman;
● Ruído: Uma falha no julgamento humano - Daniel Kahneman;
● SRE (Site Reliability Engineering) - Google;
● Checklist manifesto - Atul Gawande;
● Engineering a Safer World - Nancy G Leveson;
● CAST Handbook: How to learn more from incidents and accidents -
Nancy G Leveson
Obrigado pela atenção.
rzbruno.net

Mais conteúdo relacionado

Semelhante a Construindo sistemas confiáveis através de controles e aprendizados com falhas

Ferramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeFerramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeHelder Lopes
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?Ariane Izac
 
Ferramentas de Gestão de Testes
Ferramentas de Gestão de TestesFerramentas de Gestão de Testes
Ferramentas de Gestão de Testeselliando dias
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de softwareJoyce Bastos
 
Analise de causa raiz.pptx
Analise de causa raiz.pptxAnalise de causa raiz.pptx
Analise de causa raiz.pptxisidrodosAnjos
 
Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Lorena Caldas
 
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...Daniel Wildt
 
Fundamento em Gestão da Qualidade
Fundamento em Gestão da QualidadeFundamento em Gestão da Qualidade
Fundamento em Gestão da QualidadeGerente Consciente
 
Pcp 5 semana - tecnicas de analise de riscos
Pcp   5 semana - tecnicas de analise de riscosPcp   5 semana - tecnicas de analise de riscos
Pcp 5 semana - tecnicas de analise de riscosTatiana Jatobá
 
Gestão da Qualidade Total
Gestão da Qualidade TotalGestão da Qualidade Total
Gestão da Qualidade TotalBruna Marandola
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POAAline Zanin
 
Apostila-GQ.ppsx
Apostila-GQ.ppsxApostila-GQ.ppsx
Apostila-GQ.ppsxSandroGally
 
Apresentao ferramentas da_qualidade_sergio_franca
Apresentao ferramentas da_qualidade_sergio_francaApresentao ferramentas da_qualidade_sergio_franca
Apresentao ferramentas da_qualidade_sergio_francaFernanda Farias
 
Controle estratégico- tatico
Controle estratégico- taticoControle estratégico- tatico
Controle estratégico- taticokyrie24
 
Controle estratégico- tatico e operacional
Controle estratégico- tatico e operacionalControle estratégico- tatico e operacional
Controle estratégico- tatico e operacionalkyrie24
 
Mta1 aula-05 Avaliação Heurística
Mta1 aula-05 Avaliação HeurísticaMta1 aula-05 Avaliação Heurística
Mta1 aula-05 Avaliação HeurísticaAlan Vasconcelos
 

Semelhante a Construindo sistemas confiáveis através de controles e aprendizados com falhas (20)

Ferramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeFerramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de Rede
 
Fmea for All
Fmea for AllFmea for All
Fmea for All
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?
 
Ferramentas de Gestão de Testes
Ferramentas de Gestão de TestesFerramentas de Gestão de Testes
Ferramentas de Gestão de Testes
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de software
 
Analise de causa raiz.pptx
Analise de causa raiz.pptxAnalise de causa raiz.pptx
Analise de causa raiz.pptx
 
Técnica de Planejamento
Técnica de PlanejamentoTécnica de Planejamento
Técnica de Planejamento
 
Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1
 
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
 
Fundamento em Gestão da Qualidade
Fundamento em Gestão da QualidadeFundamento em Gestão da Qualidade
Fundamento em Gestão da Qualidade
 
Pcp 5 semana - tecnicas de analise de riscos
Pcp   5 semana - tecnicas de analise de riscosPcp   5 semana - tecnicas de analise de riscos
Pcp 5 semana - tecnicas de analise de riscos
 
Gestão da Qualidade Total
Gestão da Qualidade TotalGestão da Qualidade Total
Gestão da Qualidade Total
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
 
Apostila-GQ.ppsx
Apostila-GQ.ppsxApostila-GQ.ppsx
Apostila-GQ.ppsx
 
Apresentao ferramentas da_qualidade_sergio_franca
Apresentao ferramentas da_qualidade_sergio_francaApresentao ferramentas da_qualidade_sergio_franca
Apresentao ferramentas da_qualidade_sergio_franca
 
Controle estratégico- tatico
Controle estratégico- taticoControle estratégico- tatico
Controle estratégico- tatico
 
Controle estratégico- tatico e operacional
Controle estratégico- tatico e operacionalControle estratégico- tatico e operacional
Controle estratégico- tatico e operacional
 
Mta1 aula-05 Avaliação Heurística
Mta1 aula-05 Avaliação HeurísticaMta1 aula-05 Avaliação Heurística
Mta1 aula-05 Avaliação Heurística
 
Apostila ferramentas QT
Apostila ferramentas QTApostila ferramentas QT
Apostila ferramentas QT
 

Construindo sistemas confiáveis através de controles e aprendizados com falhas

  • 1. Construindo e mantendo sistemas confiáveis Bruno R. Zanuzzo rzbruno.net
  • 2. Agenda ● Confiabilidade ○ falhas e resultados indesejados: ■ definições e contexto; ■ causas; ■ prevenção e remediação;
  • 3. Quem sou eu ● Bruno R. Zanuzzo; ● Formado sistemas Informação: ○ Unoesc Chapecó; ● ~14 anos experiência tech: ○ QA/desenv. software; ○ rede/cloud/arquitetura; ● Atualmente trabalhando para Jettacargo (otimização de planejamento logístico);
  • 5. Motivação ● Interesse em aviação, especialmente investigação de acidentes aéreos; ● Interesse em geral por entender falhas, erros e acidentes por meio de investigações;
  • 6. Motivação ● Livros: ○ Pensando, rápido e devagar - Daniel Kahneman; ○ Ruído: Uma falha no julgamento humano - Daniel Kahneman; ○ SRE (Site Reliability Engineering) - Google; ○ Checklist manifesto - Atul Gawande; ○ Engineering a Safer World - Nancy G Leveson; ○ CAST Handbook: How to learn more from incidents and accidents - Nancy G Leveson
  • 8. Problema: parte 1 ● Recorrência de falhas: ○ falhas que supostamente tinham sido corrigidas/eliminadas, voltam a acontecer; ● Efeito cumulativo; ● Mais complexidades, potencialmente mais causas;
  • 9. Problema: parte 2 ● Erros triviais, coisas que jamais deveriam acontecer mas acontecem: ○ alvo incorreto: ■ qual paciente e/ou qual membro a ser operado; ■ qual motor do avião a ser desligado após alerta de incêndio; ○ estado/condição inadequado para ação, e.g.: decolagem; ○ informação não confiável, e.g.: pista está livre para pouso;
  • 10. Problema: parte 3 ● Requisitos atendidos mas ainda assim sistema gerando resultados indesejados: ○ B737MAX: MCAS recebendo informação incorreta de sensor; ○ Centrífugas enriq. urânio exploradas pelo Stuxnet: velocidade excessiva;
  • 11. Tendência se nada for feito ● Falhas/resultados indesejados: ○ acumulam; ○ tornam o sistema imprevisível; ○ dificultam depuração e resolução de problemas; ○ criam incerteza; ● Fragilização de relações com usuários: ○ Credibilidade/Confiança;
  • 13. Definições ● Sistema: ○ “Um conjunto de coisas ou dispositivos conectados que operam juntos” cambridge ● Confiabilidade: ○ “Até que ponto um experimento, teste ou procedimento de medição produz os mesmos resultados em tentativas repetidas” merriam-webster
  • 14. ● Acurácia: proximidade das medições a um valor específico; ● Confiabilidade, fiabilidade ou precisão: proximidade das medições entre si; Definições de medida
  • 15. Definições ● Sucesso: ○ “A realização de um objetivo ou propósito.” Oxford ● Falha: ○ “Falta de sucesso.” Oxford; ■ todas as permutações de estado do universo onde seu objetivo não é realizado; ● Resultado Indesejado: ○ resultado negativo, indiferente de sucesso/falha;
  • 16. Premissas ● estruturas tem limites; ○ pessoas tem excesso de otimismo e confiança causados por: ■ tendências cognitivas, e.g. viés de confirmação; ■ falácias lógicas, e.g. correlação não implica causa; ● estruturas vão mudar; ● estruturas vão falhar; ● complexidade, assim como entropia, parece só aumentar; ● tudo é processo, todo processo pode melhorar, mesmo decisão;
  • 17. Mas o que causa falhas exatamente? ● Falhas acontecem por submeter sistemas a condições adversas: ○ Além da capacidade atual do sistema (insuficiente/degradada); ○ Usar em condições diferentes das que foi projetado; ○ Previsão incorreta de vida útil avião (ciclos), BOAC Vôo 781; ○ Não seguindo recomendações de fabricante, e.g.; manutenção; ○ Voar ou navegar durante tempestades intensas; ○ Voo sem instrumento em condições não visuais; ○ Comunicação ambígua entre componentes: ATC - Tribulação;
  • 18. Solução: medidas ativas e contínuas, focadas em evitar falhas e resultados indesejados
  • 19. 1 - Definir falhas / resultados indesejados
  • 20. 2 - Quantificar falhas / resultados indesejados ● referência; ● para melhorar, primeiro, precisamos saber onde estamos!
  • 21. 3 - Investigação falhas / result. indesejados ● Identificar causas raízes / fatores falha; ● Ações que colocam o sistema em condições “perigosas”: ○ Características/Propriedades; ○ Definição/Critério; ○ Preditor/estimador; ○ Indicador/Gatilho/Sinal; ○ Padrão;
  • 22. 3 - Investigação falhas / result. indesejados ● Pós-falha: ○ Postmortem: investigação pós-falha e ações prevenir/remediar; ■ CAST: análise de causa de evento/acidente baseado em sistemas; ● Pré-falha: ○ Premortem: análise de falha, supondo que a mesma ocorreu; ■ STPA: análise de situações “perigosas” baseado em sistemas; ● Contínua, “Red Teams”: para “desafiar continuamente planos, operações, conceitos, organizações e capacidades”; wikipedia
  • 23. 4 - Controle ● Identificar e controlar parâmetros (condições internas e externas ao sistema): ○ prevenir: ■ ter valores adequados como parâmetros, ou seja, evitar valores não suportados; ○ remediar: ■ setar valores adequados como parâmetros; ■ marcar valores não suportados;
  • 24. Modelos de causalidade na prevenção e remediação de falhas
  • 25. comparação dos modelos Tradicional: Queijo Suíço, Bowtie Teoria Sistemas: STAMP corrente diretamente relacionada a eventos, quebra de barreiras processos dinâmicos complexos problema de "gerência de falhas" problema de "controle dinâmico" prevenção de falhas Impõe [restrições] no comportamento do sistema e nas interações entre os componentes por meio [estrutura de controle]
  • 26. Queijo Suíço - barreiras para cadeia de eventos
  • 27. Bowtie - medidas para cadeia de eventos
  • 28. STAMP: Sistema de controle ● “Um sistema de controle gerencia, comanda, dirige ou regula o comportamento de outros dispositivos ou sistemas usando loops de controle ● O sistema de controle: ○ compara: ■ o valor ou status da variável de processo sendo controlada; ■ com o valor desejado ou alvo;” Wikipédia ○ e toma ações as ações necessárias para resolver a diferença.
  • 29. ● Controlador: usa o modelo do processo para determinar ações que regulam processo; ● Ações de controle são sensíveis ao modelo e feedback, se estiverem total ou parcialmente incorretas, tendência a falha! STAMP: Ciclo Feedback
  • 30. STAMP: HCS Hierarchical Control Structure ● Agentes; ● Dispositivos; ● Software; ● Ambiente;
  • 31. Kubernetes Control Plane ● Control Manager; ○ replicas, ...; ● Comms Control: ○ certificados, ...; ● Cloud Control Manager: ○ cloud-specific control logic, ...;
  • 32. Mas afinal, o que significa controle? Oxford: ● o poder de influenciar (autoridade); ● um meio de limitar ou regular algo; ● determinar o comportamento ou supervisionar funcionamento; ● a restrição de uma atividade, tendência ou fenômeno;
  • 33. Formas de controle ● Controles para impor restrições/limitações ○ no design, manutenção e uso de sistemas: ■ imposto por agentes humanos ou artificiais: ● procedimentos, protocolos; ● checklists; ● políticas, regras, restrições, limitações; ● padrão/norma: nível mínimo de qualidade/acurácia/precisão;
  • 35. Restrinja ações que se sabe que tendem a falha ● Defina: falhas e resultados indesejados; ● Quantifique: falhas e resultados indesejados; ● Investigue: estabeleça e aprimore processos para determinar com confiança causas raízes, fatores de falha e resultados indesejados (antes, durante e após a execução); ○ recorrência é cara; corrigir a coisa errada, mais ainda; ● Controle: Imponha uma hierarquia de controles para prevenção e remediação de falhas e resultados indesejados; ○ os únicos caminhos disponíveis precisam ser seguros, confiáveis;
  • 36. Confiabilidade como cultura ● Requisitos: ○ compromisso de todos, começando por líderes; ● Cultura: ○ de aprender com falhas e resultados indesejados; ■ aplicar controles que não permitam recorrência; ■ compartilhar aprendizados; ● Resultado: ○ maior padrão de qualidade e confiabilidade generalizada;
  • 38. Recomendação de leitura relacionada ● Pensando, rápido e devagar - Daniel Kahneman; ● Ruído: Uma falha no julgamento humano - Daniel Kahneman; ● SRE (Site Reliability Engineering) - Google; ● Checklist manifesto - Atul Gawande; ● Engineering a Safer World - Nancy G Leveson; ● CAST Handbook: How to learn more from incidents and accidents - Nancy G Leveson