Tolerancia falhas em software

Preview:

Citation preview

Tolerância a Falhas(Software)

PAUTA:

Conceitos

Perspectivas

Dependabilidade

Técnicas

Redundância

Aplicações

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

Qualidade e bugs

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

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

Tolerância a Falhas

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

Modelo de 3 Universos

Universos do bug

Falha

Erro

Defeito

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

Dependabilidade

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

Disponibilidade

➢ Probabilidade do sistema estar operacional num instante de tempo determinado

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

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

Segurança (Security)

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

Técnicas de Tolerância a Falhas

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

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

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.

Recuperação

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

Recuperação

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

Tratamento

➢ Localizar a origem do erro (falha)

➢ Localizar a falha de forma precisa

➢ Reparar a falha➢ Recuperar o restante do sistema

Mascaramento de falhas

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

➢ Redundância ● Informação● Temporal● Física● 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.

Redundância de Software

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

Diversidade

Blocos de recuperacao

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

Aplicações SGI

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

Caso Prático I

Banco de Dados=

Cluster deServidores

NF-e

NF-eBIG IP

Caso Prático II

Fila

Cluster deServidores

NF-eBIG IP

3min

Desafios

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

➢ Dúvidas?

➢ Obrigada!