Alta Disponibilidade - Terminologia (I)


Alguns dos termos foram traduzidos de forma livre numa tentativa de transmitir as correctas noções que lhe estão subjacentes. Noutros casos, embora tenham sido traduzidos os significados, as siglas mantêm-se no inglês porque é sempre assim que surgem na literatura especializada.

Sistema


Um sistema é composto por uma colecção de componentes interactivos. Um componente pode ele próprio ser um sistema, ou pode ser apenas um componente singular. Os componentes são o resultado da decomposição do sistema, principalmente motivada para assistir na separação de sistemas complexos por razões técnicas, ou muitas vezes, por razões organizacionais ou de negócios. A decomposição de sistemas em componentes é um exercício recursivo e os componentes são geralmente delineados pela especificação cuidadosa das suas entradas e saídas.

Serviço


Um sistema fornece um ou mais serviços aos seus consumidores. Um serviço é a saída de um sistema que corresponde à especificação para a qual o sistema foi elaborado, ou que está de acordo com a percepção que os utilizadores do sistema têm de quais devem ser os valores correctos.

Falha


Uma falha num sistema ocorre quando o consumidor (humano ou não humano) de um serviço é afectado pelo facto de o sistema não ter entregue o serviço esperado. As falhas são resultados incorrectos em relação a uma especificação ou um comportamento inesperado percebido pelo consumidor ou utilizador de um serviço. A causa de uma falha é considerada um defeito.

Tempo Médio Para Falha


A fiabilidade do hardware pode ser prevista pela análise estatística dos dados históricos. Quanto mais tempo um componente funciona, mais é provável que falhe devido ao envelhecimento. O Tempo Médio Para Falha (Mean Time to Failure - MTTF) de um componente é apenas isso: uma previsão estatística que mede o tempo médio entre falhas assumindo um modelo teórico no qual o sistema que falhou não é reparado. Quanto maior o MTTF de um componente, menos provável é a sua falha. O MTTF de um componente (se for conhecido) pode usar como informação útil para o estabelecimento de procedimentos de manutenção preventiva e o seu valor global num sistema pode ser melhorado através de uma cuidadosa selecção de hardware e software.

MTTF
O MTTF é o número total de horas de serviço de todos os dispositivos dividido peolo número total de dispositivos.


Tempo Médio Entre Falhas


O Tempo Médio Entre Falhas (Mean Time Between Failures - MTBF) é a previsão do tempo decorrido entre as falhas inerentes a um sistema durante a sua operação e pode ser calculado como a média aritmética do tempo entre falhas desse sistema.
MTBF
MTBF

O MTBF é normalmente parte de um modelo que assume que o sistema é imediatamente reparado (zero tempo decorrido), como parte de um processo de renovação.


Defeito


Os defeitos são detectados ou identificadas de alguma forma, ou pelo sistema ou pelos seus utilizadores. Os defeitos são activos quando produzem um erro mas também podem ser latentes. Um defeito latente é aquele que ainda não foi detectado. Uma vez que os defeitos, quando activos, causam erros, é importante detectar não só os defeitos activos, mas também os defeitos latentes. Encontrar e remover esses defeitos antes que se tornem activos leva a um menor tempo de inactividade logo a uma maior disponibilidade.


Erro


Um erro é uma discrepância entre o valor calculado, medido ou observado e o valor correcto ou especificado. Os erros são frequentemente o resultado de condições excepcionais ou de interferências inesperadas. Se ocorrer um erro, é natural que ocorra em seguida algum tipo de falha. Da mesma forma, quando ocorre uma falha esta é normalmente devido à ocorrência de algum tipo de erro. A diferença entre um erro e um defeito é muito subtil, por isso é vulgar que os termos sejam tratados como sinónimos.

Detecção Atempada de Erros


Se um componente na arquitectura do sistema falhar, a detecção rápida é essencial para a recuperação da falha inesperada. A monitorização do comportamento dos diversos sistemas requer um software fiável que permita a detecção rápida e a capacidade de comunicar o problema ao administrador de sistemas. Pode ser possível recuperar rapidamente de uma quebra de serviço, mas se houver uma demora adicional de 90 minutos para descobrir o problema, então pode não ser cumprido o nível de serviço contratado (Service Level Agreement - SLA).

Disponibilidade


A disponibilidade é o grau em que uma aplicação, serviço ou função é acessível a pedido e é medido pela percepção dos utilizadores finais do sistema que se sentem frustrados quando os dados não estão disponíveis ou o sistema de não está a funcionar dentro das expectativas deles, e eles não entendem nem têm o cuidado de distinguir os complexos componentes de uma solução global.

A disponibilidade refere-se à capacidade da comunidade de utilizadores de aceder ao sistema, seja para apresentar um novo trabalho, actualizar ou alterar o trabalho existente, ou recolher os resultados de trabalhos anteriores. Se um utilizador não pode aceder ao sistema, este diz-se indisponível. Geralmente, é usado o termo inactividade em referência aos períodos em que o sistema está indisponível.
O dicionário define a palavra disponível de seguinte forma:
  1. Livre, acessível.
  2. Capaz de ser obtido, obtenível.
  3. Desocupado.
Quando aplicado a sistemas de computador, o significado da palavra é uma combinação de todos estes factores. Assim, o acesso a uma aplicação ou a um sistema deve estar presente e pronto para utilização, capaz de fornecer os dados em qualquer momento e deve executar as suas funções num nível que seja aceitável e útil.

Do ponto de vista matemático, e de modo a quantificá-la, a disponibilidade pode também ser definida como a probabilidade de um dispositivo (ou rede, etc) estar operacional em qualquer instante ou, a fração de tempo em que está operacional.Operacionalidade anual é a duração (em dias, horas, minutos...) que o dispositivo está operacional por ano.

Disponibilidade

Disponibilidade
Na fórmula anterior, o termo MTTR é o Tempo Médio Para Recuperação.

Operação Contínua


Fornecer a possibilidade de acesso contínuo aos dados é essencial quando é aceitável muito pouco ou nenhum tempo de inactividade para executar actividades de manutenção. Actividades, tais como mover uma tabela para outro local na base de dados ou até mesmo adicionar CPUs ao hardware, deve ser transparente para o utilizador final numa arquitectura de alta disponibilidade. A operação contínua é a capacidade de um sistema de prestar serviços sem interrupções aos seus utilizadores.

Disponibilidade Contínua


A disponibilidade contínua é um subconjunto especial de alta disponibilidade que a combina com operação contínua. O sistema não deve ter paragens e a prestação de serviços deve ser contínua, sem interrupções.
Esta meta é muito difícil de alcançar, porque os componentes de computador - sejam eles de hardware ou software - não são nem livres de erros nem de manutenção e portanto, um sistema que precisa de disponibilidade contínua tem que ser tolerante a falhas.

Além disso, a necessidade de realizar actividades de manutenção num sistema em execução é outro diferencial entre a disponibilidade continua e outras categorias de alta disponibilidade. Em tais situações, o administrador de sistemas tem que lidar com instalações que correm várias versões do mesmo software ao mesmo tempo e são actualizadas por fases.

A disponibilidade contínua concentra-se na protecção contra falhas e descarta a recuperação de falhas visível ao utilizador como não sendo aceitável. É muito raramente necessária. Na maioria das situações, as sessões de utilizador podem ser abortadas e reatadas sem prejuízo para o trabalho ou para as pessoas.

Tolerância a Falhas


A tolerância a falhas é um atributo associado a um sistema de computação que fornece serviços de forma contínua na presença de falhas. Um sistema de computador ou componente tolerante a falhas é projectado de modo a que, em caso de falha, um sistema redundante ou procedimento pode tomar imediatamente o seu lugar, sem perda de serviço. A capacidade activa de um sistema para contornar ou compensar as falhas varia entre as diferentes técnicas de tolerância a falhas.

A tolerância a falhas é geralmente disponível para os componentes de hardware, mas muito raramente de software. Isso significa que uma falha não se torna visível para o utilizador, mas está coberta por mecanismos de protecção interna. A tolerância a falhas pode ser fornecida com software, embutida no hardware, ou fornecida através de uma combinação dos dois. Vai um passo além da “simples” alta disponibilidade para fornecer a maior disponibilidade possível dentro de um único centro de dados.

No caso do hardware, a tolerância a falhas é geralmente conseguida através da utilização de elementos redundantes no sistema. No caso de software, técnicas de tolerância a falhas geralmente são realizados através da diversidade de design. Várias implementações de software fornecem a mesma finalidade. As implementações são geralmente construídas por diferentes equipas de desenvolvimento, com as mesmas especificações de projecto mas com implementações alternativas.

Protecção/Prevenção de Falhas


Prevenção de falhas é o método usado para que as falhas dos componente não levem a interrupções de serviço proporcionando assim uma operação contínua do sistema, apesar dos cenários de falha. A aplicação de métodos comprovados para a concepção e desenvolvimento, a preferência pela simplicidade sobre a complexidade, o refinamento das necessidades dos utilizadores, e a disciplina para a execução de sólidas práticas de engenharia são, talvez, a melhor defesa contra defeitos criados em sistemas.

A prevenção de falhas está disponível a preços razoáveis apenas para alguns componentes. Estes são principalmente os componentes de hardware, por exemplo, discos rígidos, fontes de alimentação e placas de entrada/saída. Esta categoria é importante, no entanto, porque as falhas nos componentes acontecem com frequência suficiente para tornar a prevenção de falhas numa solução padrão. Para outros componentes, especialmente para o software, a prevenção falha é muito cara e só é usada em projectos para disponibilidade contínua.

Remoção de Falhas


A remoção de falhas durante o desenvolvimento é composta de três etapas: verificação, diagnóstico e correcção. Verificação é o processo de verificar se o sistema está a cumprir a sua função pretendida. Se ele não cumpre a função pretendida, é necessário efectuar um diagnóstico e posterior correcção para remover a culpa e condição de falha. As técnicas de verificação variam, mas geralmente pode ser caracterizadas como sendo estáticas ou dinâmicas.

Previsão de Falhas


A capacidade de gerir a fiabilidade futura é uma parte fundamental do ciclo de vida completo da disponibilidade do sistema. Compreender o ambiente operacional, a recolha de dados de campo sobre as falha, a utilização de modelos de fiabilidade e análise e interpretação desses resultados são significativos e importantes para gerir com sucesso a disponibilidade. Previsão de falhas inclui a compreensão de um conceito  relacionado chamado crescimento da fiabilidade.

Recuperação de Desastres


A recuperação de desastres é a capacidade de retomar as operações após um desastre, incluindo a destruição de todo um site do centro de dados e tudo o que estava nele. Num cenário típico de recuperação de desastre, decorre um tempo significativo antes de um centro de dados pode retomar as funções de TI, e uma certa quantidade de dados normalmente precisa ser reintroduzida para actualizar toda a informação do sistema.

Tolerância a Desastres


A tolerância a desastres é a ciência, e a arte, de preparação para o desastre, para que uma empresa seja capaz de continuar normalmente as suas operações após um desastre. O termo é por vezes incorrectamente utilizado na indústria, principalmente por vendedores que realmente não podem alcançá-lo. A tolerância a desastres é muito mais difícil de conseguir do que a recuperação de desastres, já que envolve a criação de sistemas que permitem que um negócio continue em face de um desastre, sem que os utilizadores finais ou clientes notem qualquer efeito adverso.

A solução ideal será a que resulte em nenhuma perda de tempo nem perda de dados, mesmo durante um desastre. Essas soluções existem, mas custam mais que as soluções que têm algum tempo de inactividade ou perda de dados associados a um desastre.

Quando a disponibilidade é tudo para um negócio, níveis extremamente elevados de tolerância a desastres devem permitir que o negócio continue em face de um desastre, sem que os utilizadores finais ou clientes sintam quaisquer consequências adversas. Os efeitos da globalização dos negócios através de todos os fusos horários com uma disponibilidade das operações “24×7×sempre”, o comércio electrónico e os riscos associados com os ao mundo moderno levam as empresas a tentar atingir um nível de tolerância a desastres capaz de assegurar a sua sobrevivência contínua e necessária rentabilidade.