35
Tolerância a Falhas (Software)

Tolerancia falhas em software

Embed Size (px)

Citation preview

Page 1: Tolerancia falhas em software

Tolerância a Falhas(Software)

Page 2: Tolerancia falhas em software

PAUTA:

Conceitos

Perspectivas

Dependabilidade

Técnicas

Redundância

Aplicações

Page 3: Tolerancia falhas em software

APRESENTADORA

Vanessa Souza Analista Sistema dos projetos DF-e

8 anos de experiência na área de TI

Graduada em Ciência da Computação

7 anos de experiência em desenvolvimento soluções

SOA

Page 4: Tolerancia falhas em software

Qualidade e bugs

Será que qualidade de software e bugs são coisas opostas e incompatíveis?

Page 5: Tolerancia falhas em software

Não cometerás erros de programação

Page 6: Tolerancia falhas em software

Tolerância a Falhas

Fornece um serviço esperado mesmo na presença de falhas

Page 7: Tolerancia falhas em software

Modelo de 3 Universos

Page 8: Tolerancia falhas em software

Universos do bug

Page 9: Tolerancia falhas em software

Falha

Page 10: Tolerancia falhas em software

Erro

Page 11: Tolerancia falhas em software

Defeito

Page 12: Tolerancia falhas em software

Tolerância a Falhas

➢ Perspectivas:● Tamanho e complexidade do software● Número de pessoas envolvidas● Ferramentas utilizadas● Custos associados à existência de erros● Custos associados à detecção e à remoção de erros

Page 13: Tolerancia falhas em software

Dependabilidade

Page 14: Tolerancia falhas em software

Confiabilidade

Capacidade de atender a especificação, dentro de condições definidas, durante certo período de funcionamento e condicionado a estar operacional no início do período

Page 15: Tolerancia falhas em software

Disponibilidade

➢ Probabilidade do sistema estar operacional num instante de tempo determinado

➢ Alternância de períodos de funcionamento e reparo

Page 16: Tolerancia falhas em software

Segurança (Safety)

Probabilidade do sistema ou estar operacional e executar sua função corretamente ou descontinuar suas funções de forma a não provocar dano a outros sistema ou pessoas que dele dependam

Page 17: Tolerancia falhas em software

Segurança (Security)

Proteção contra falhas maliciosas, visando privacidade, autenticidade, integridade e irrepudiabilidade dos dados

Page 18: Tolerancia falhas em software

Técnicas de Tolerância a Falhas

➢ Detecção de falhas➢ Localização➢ Confinamento➢ Recuperação➢ Reconfiguração➢ Tratamento➢ Mascaramento de falhas

Page 19: Tolerancia falhas em software

Detecção de Falhas

➢ Antes da sua manifestação como erro, a falha está latente e não pode ser detectada.

➢ A falha pode permanecer no sistema durante toda a sua vida útil sem nunca levar o sistema a um estado errôneo.

➢ Testes

Page 20: Tolerancia falhas em software

Confinamento

➢ Limites para a propagação do dano

➢ Depende de decisões de projeto pois sistemas por sua natureza não provêm confinamento.

➢ Durante o projeto devem ser previstas e implementadas restrições ao fluxo de informações para evitar fluxos acidentais e estabelecer interfaces de verificação para detecção de erros.

Page 21: Tolerancia falhas em software

Recuperação

Ocorre após a detecção e envolve a troca do estado atual incorreto para um estado livre de falhas

Page 22: Tolerancia falhas em software

Recuperação

Ocorre após a detecção e envolve a troca do estado atual incorreto para um estado livre de falhas

Page 23: Tolerancia falhas em software

Tratamento

➢ Localizar a origem do erro (falha)

➢ Localizar a falha de forma precisa

➢ Reparar a falha➢ Recuperar o restante do sistema

Page 24: Tolerancia falhas em software

Mascaramento de falhas

➢ Falhas não se manifestam como erros, pois são mascaradas na origem

➢ Redundância ● Informação● Temporal● Física● Software

Page 25: Tolerancia falhas em software

Redundância

Redundância está tão intimamente relacionada a tolerância a falhas que, na indústria nacional, o termo usado para designar um sistema tolerante a falhas é sistema redundante.

Page 26: Tolerancia falhas em software

Redundância de Software

➢ Diversidade (ou programação n-versões)➢ Blocos de recuperação➢ Verificação de consistência

Page 27: Tolerancia falhas em software

Diversidade

Page 28: Tolerancia falhas em software

Blocos de recuperacao

Page 29: Tolerancia falhas em software

Aplicações

➢ Longa Vida● Satélite● Sondas espaciais● Marca-passo

➢ Computação crítica● Alarme de Incêndio● Airbag● Controles ferroviários

➢ Alta disponibilidade● Internet● Terminais de caixa eletrônico

Page 30: Tolerancia falhas em software

Aplicações SGI

➢ Sistemas de informações críticas para a sociedade.● NF-e● CT-e● IPVA● e-Fronteiras e muitos outros

Page 31: Tolerancia falhas em software

Caso Prático I

Banco de Dados=

Cluster deServidores

NF-e

NF-eBIG IP

Page 32: Tolerancia falhas em software

Caso Prático II

Fila

Cluster deServidores

NF-eBIG IP

3min

Page 33: Tolerancia falhas em software

Desafios

Page 34: Tolerancia falhas em software

Referências Bibliográficas

➢ Qualidade de Software – André Koscianski e Michel dos Santos Soares 2ª Edição

➢ Um roteiro para exploração dos conceitos básicos de tolerância a falhas - Taisy Silva Weber Instituto de Informática – UFRGS

Page 35: Tolerancia falhas em software

➢ Dúvidas?

➢ Obrigada!