Alta Disponibilidade – Soluções

Todas as grandes empresas estão actualmente sob crescente pressão para manterem os seus sistemas a funcionar de modo a disponibilizarem os seus dados e serviços continuamente. Assim, sendo os padrões de exigência para a disponibilidade cada vez mais elevados, a solução passa por projectar sistemas de armazenamento e servidores altamente disponíveis e quase à prova de balas contra a inactividade não planeada.
 
A fim de atingir os mais altos níveis de disponibilidade, uma empresa tem que implementar uma solução completa que cubra todos os possíveis pontos de falha. Mas quais são as opções disponíveis para criar uma solução de alta disponibilidade?

Podem ver no gráfico as principais soluções para as três áreas a ser abordadas, armazenamento, serviços e redes:
 
Soluções de Alta Disponibilidade

Nos próximos artigos vou explicar estas soluções em detalhe. Continuem a ler ok?

Alta Disponibilidade–Medição (II)

Parâmetros da Fiabilidade

Taxa de falhas


A fiabilidade pode ser quantificada em termos do Tempo Médio Entre Falhas (MTBF), para um produto reparável, ou em termos do Tempo Médio Para Falhas (MTTF) para um produto não reparável.

Segundo a teoria que suporta a estatística dos intervalos de confiança, a média estatística torna-se o valor médio real à medida que aumentamos o número de amostras. Assim, dizer que uma fonte de alimentação tem um MTBF de 50.000 horas não significa que essa fonte deve durar uma média de 50.000 horas, porque o MTBF de 50.000 horas, ou um ano para 1 fonte, torna-se 50.000/2 para duas fontes e 50.000/4 para quatro fontes. Somente quando todas as fontes falharem com a mesma falha é que o valor do MTBF converge para MTTF.
Se o MTBF é conhecido, pode calcular-se a taxa de falha (l) como o inverso do MTBF. A fórmula para l é:   
Taxa de Falhas

Uma vez calculado o MTBF, qual é a probabilidade de que qualquer dispositivo em particular esteja operacional no intervalo de tempo igual ao MTBF? Para componentes electrónicos, temos a seguinte equação:
 
   Fiabilidade

Mas quando t = MTBF   
Fiabilidade  
  
Isto diz-nos que a probabilidade de qualquer dispositivo em particular sobreviver ao seu MTBF é calculada apenas em 36,8%, ou seja, há 63,2% de probabilidade que um único dispositivo avarie antes do MTBF!

Alta Disponibilidade - Medição (I)

Medida da disponibilidade

A necessidade de disponibilidade é regida pelos objectivos do negócio e os principais objectivos da sua quantificação são os seguintes:
  • Fornecer e manter um referencial de disponibilidade (baseline);
  • Ajudar a identificar onde melhorar os sistemas;
  • Monitorizar e controlar projectos de melhoria.
A evolução tecnológica dos últimos anos tornou possível que a maioria dos sistemas possa atingir 90% de disponibilidade com pouco mais que alguma redundância e disciplina no departamento de TI, em vez de qualquer hardware ou software específicos para atingir esse objectivo. Porém, para atingir mais de 90% de disponibilidade do sistema, há que ter em conta algumas considerações especiais e nós vamos olhar para isso nos próximos posts.
É importante reconhecer que números como estes podem ser difíceis de alcançar uma vez que é necessário algum tempo para a recuperação de interrupções. A duração do tempo de recuperação correlaciona-se com os seguintes factores:
  • Complexidade do sistema: Quanto mais complicado for o sistema, mais tempo levará a ser reiniciado o que significa que as interrupções que exigem desligar e reiniciar o sistema podem afectar drasticamente a sua capacidade de atingir uma desafiadora meta de disponibilidade. Por exemplo, aplicações a ser executadas num servidor de grande porte podem demorar até uma hora só para reiniciar quando o sistema foi desligado normalmente, e mais ainda se o sistema foi encerrado de forma anormal e houver necessidade de recuperar dados e ficheiros;
  • Gravidade do problema: Geralmente, quanto maior a gravidade do problema, mais tempo é necessário para resolvê-lo totalmente, incluindo a recuperação de dados ou trabalho perdidos;
  • Disponibilidade de pessoal de apoio: Consideremos que a interrupção ocorre após o expediente. Uma pessoa de apoio que seja chamada fora de horas poderá facilmente demorar uma ou duas horas só para diagnosticar o problema;
  • Outros factores: Muitos outros factores podem impedir a resolução imediata de uma interrupção. Às vezes, uma aplicação pode sofrer uma interrupção simplesmente porque não suporta que o sistema seja desligado enquanto está a ser executada. Outros casos podem envolver a falta de hardware de substituição pelo fornecedor do sistema, ou mesmo a falta de pessoal de apoio.


Parâmetros da Disponibilidade

  • Tempo Médio para Reparação (MTTR)
  • Defeitos por Milhão (DPM)
  • Tempo Médio entre Falhas (MTBF)
  • Desempenho (por exemplo, latência, quebras de serviço)
A disponibilidade é geralmente expressa como uma percentagem de tempo de actividade num determinado ano. A tabela a seguir mostra o tempo de inactividade que será permitido para uma determinada percentagem de disponibilidade, partindo do pressuposto que o sistema opera continuamente. Os níveis de serviço acordados referem-se geralmente aos tempos de inactividade ou disponibilidade mensais de modo a calcular os créditos de serviço para combinar com os ciclos de facturação mensal. A tabela mostra a equivalência entre uma dada percentagem de disponibilidade e o correspondente tempo que um sistema estaria disponível por ano, mês ou semana.

Disponibilidade

Alta Disponibilidade – Objectivos

O principal objectivo na criação de qualquer estratégia de Alta Disponibilidade (AD) e Recuperação de Desastres (RD) é garantir a continuidade do negócio (Business Continuity). Cada empresa tem o seu próprio nível de tolerância a falhas do sistema e interrupções de serviço e é exactamente em função dessa mesma tolerância que pode ser planeada e implementada uma estratégia adequada. Se uma empresa pode aceitar uma disponibilidade do sistema de 90%, então não há necessidade de construir uma infra-estrutura de alta disponibilidade.

Embora as soluções de AD sejam mais frequentemente discutidas em ambientes empresariais, estas considerações aplicam-se a qualquer tipo de organização em que a AD seja necessária, independentemente de ser na área educacional, sem fins lucrativos ou mesmo no âmbito da defesa. Quando se trata de organizações sem uma perspectiva comercial, não é muito fácil calcular os custos associados à inactividade e assim os sistemas de AD e RD nestas organizações tornam-se mais uma exigência do ponto de vista do serviço sem estarem necessariamente relacionados com custos associados à inactividade.

A disponibilidade dos sistemas deve ser vista sob a perspectiva do utilizador final. Cada vez que um utilizador não se conseguir ligar ao sistema é considerado como tempo de inactividade mas isto não significa necessariamente que o servidor central está em baixo porque, em muitos casos, um sistema com muito baixo desempenho também é considerado um sistema indisponível.

Assim, alta disponibilidade não implica apenas criar redundância num único sistema, base de dados ou aplicação, mas sim combinar várias redundâncias em todas as áreas do processo. Para cada negócio ou organização, as bases de dados têm um papel importante, tudo é construído em torno delas, portanto, a maioria dos esforços para alta disponibilidade estão orientados de forma a tornar a base de dados "altamente disponível."
Mais especificamente, uma arquitectura de alta disponibilidade deve ter as seguintes características:
  • Tolerar falhas para que o processamento continue ininterruptamente ou apenas com interrupções mínimas;
  • Ser transparente ou tolerante a alterações de sistema, dados ou aplicações;
  • Conter medidas preventivas embebidas na própria arquitectura;
  • Proporcionar monitorização proactiva e rápida detecção de falhas;
  • Possibilitar recuperabilidade rápida;
  • Automatizar operações de detecção e recuperação;
  • Proteja os dados de modo a minimizar ou anular completamente a perda de dados;
  • Implementar as melhores práticas operacionais para a gestão de toda a infra-estrutura;
  • Alcançar os objectivos estabelecidos nos níveis de serviço estabelecidos (por exemplo, o RTO e o RPO) pelo menor custo possível.
Os projectistas de sistemas habitualmente introduzem fiabilidade nas suas arquitecturas através da implementação de mecanismos de correcção para os defeitos latentes que os preocupam. Estes defeitos, quando corrigíveis, não produzem erros ou falhas, uma vez que fazem parte das margens de segurança incorporadas no sistema. Ainda assim, devem ser monitorizados para medir a sua ocorrência real em relação aquilo que foi antecipado, uma vez que a ocorrência excessiva de alguns defeitos corrigíveis é frequentemente um indicador de um defeito latente potencialmente mais catastrófico.

Fiabilidade, recuperabilidade, detecção atempada de erros e a capacidade de operação contínua são as principais características de uma solução altamente disponível.

Alta Disponibilidade –Terminologia (II)

Interrupção planeada


Interrupções planeadas incluem a manutenção, backups offline e actualizações. Estas muitas vezes podem ser agendadas fora dos períodos de alta disponibilidade, quando é necessário.

 

Interrupções não planeadas


Embora as interrupções planeadas sejam um mal necessário, uma interrupção não planeada pode ser um verdadeiro pesadelo para um negócio. Dependendo do negócio em questão e da duração do tempo de inactividade, uma interrupção não planeada pode resultar em perdas tão avassaladoras que a empresa seja forçada a fechar. Independentemente da sua natureza, as interrupções são algo que as empresas normalmente não toleram. Há sempre pressão sobre a TI para eliminar totalmente estas paragens não planeadas e de reduzir drasticamente, se não eliminar, o tempo de inactividade planeado.

Note-se que uma aplicação ou sistema de computador não precisa estar totalmente em baixo para se considerar inactivo. É possível que o desempenho de uma aplicação se degrade de tal forma que é inútil. Do ponto de vista do utilizador empresarial ou final está em baixo, embora esteja disponível.

As paragens não planeadas podem ter várias causas e podem ser categorizadas em:
  • Falhas de Hardware - Falha de componentes principais sistemas, tais como processadores e memória ou periféricos, discos, controladores de disco, placas de rede, ou equipamentos auxiliares, tais como módulos de alimentação e ventiladores, e equipamentos de rede, como switches, hubs, cabos, etc, podem ser as causas de falhas de hardware.
  •  Falhas de Software - As possibilidades de falha de software dependem principalmente do tipo de software utilizado. Uma das principais causas de falha de software é aplicar um patch. Às vezes, se um patch não corresponde ao tipo de aplicação, o software aplicacional pode começar a comportar-se de maneira estranha, trazendo para baixo a aplicação e revertendo as alterações, se possível. Às vezes, uma actualização também pode causar um problema. Os principais problemas com as actualizações serão relacionados com o desempenho ou o comportamento inadequado de qualquer produto de terceiros, que depende dos upgrades.
  • Erros Humanos - Uma acção acidental de qualquer utilizador pode causar uma falha grave no sistema. Apagar um ficheiro necessário, apagar os dados ou uma tabela, actualizando a base de dados com um valor errado, etc, são alguns exemplos.

 

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.

Alta Disponibilidade - Introdução

Definição de Alta Disponibilidade


Alta Disponibilidade (AD) é a capacidade de um sistema para executar a sua função de forma contínua (sem interrupção) por um período de tempo significativo e superior ao que a fiabilidade dos seus componentes individuais poderia sugerir. Então, a AD é um equilíbrio entre o custo da inactividade e o custo das medidas de protecção que estão disponíveis para evitar ou reduzir o tempo dessa mesma inactividade.

O termo Alta Disponibilidade, quando aplicado a sistemas informáticos, significa que a aplicação ou serviço em questão está permanentemente disponível, independentemente da hora do dia, local ou outros factores que possam influenciar a disponibilidade de tal recurso.

Em geral, a AD é a capacidade de continuar o serviço por períodos muito longos sem interrupções. Assim, AD é uma abordagem ao planeamento e implementação de sistemas e dos serviços a eles associados, que assegura um nível de desempenho operacional previamente combinado será cumprido durante um período de medição contratual.

Os sistemas de AD devem proteger as empresas de dois tipos de possíveis falhas: falhas no sistema e falhas do site. Embora as verdadeiras soluções AD devam proteger contra estes dois tipos de falhas, os sistemas AD são normalmente considerados como os que tratam da protecção contra as falhas no sistema, enquanto as falhas no site são normalmente tratadas por um sistema de Disaster Recovery (DR).

O Futuro dos Computadores - Inteligência Artificial

O que é a Inteligência Artificial?


O termo "Inteligência Artificial" foi cunhado em 1956 por John McCarthy no Massachusetts Institute of Technology (MIT) definindo-a como a ciência e engenharia de fazer máquinas inteligentes.

Hoje em dia é um ramo da ciência da computação que visa conseguir que os computadores se comportem como seres humanos e este campo de investigação é definido como o estudo e concepção de agentes inteligentes, onde um agente inteligente é um sistema que se apercebe do ambiente que o rodeia e realiza acções que maximizam as suas hipóteses de sucesso.

Esta nova ciência foi fundada com base na crença de que uma propriedade central dos seres humanos, a inteligência, ou seja, a sabedoria do Homo Sapiens, pode ser descrita com tanta precisão que pode ser simulada por uma máquina. Isto levanta questões filosóficas sobre a natureza da mente e a ética da criação de seres artificiais, questões essas que têm sido abordadas pela ficção, mito e filosofia desde a antiguidade.

A Inteligência Artificial inclui a programação de computadores para tomar decisões em situações da vida real (por exemplo, alguns destes "sistemas periciais" ajudam os médicos no diagnóstico de doenças com base nos sintomas), a programação de computadores para compreender as linguagens humanas (linguagem natural), programação de computadores para jogar esses jogos como xadrez e damas, programação de computadores para ouvir, ver e reagir a outros estímulos sensoriais (robótica) e projectar sistemas que simulam a inteligência humana tentando reproduzir os tipos de ligações físicas entre neurónios no cérebro humano (redes neurais).

 

O Futuro dos Computadores - Computadores Ópticos

Um computador óptico (também chamado computador fotónico) é um dispositivo que realiza a computação utilizando fotões de luz visível ou feixes infravermelho, ao invés de electrões a fluir numa corrente eléctrica. Os computadores que utilizamos hoje em dia usam transístores e semicondutores para controlo de electricidade mas os computadores do futuro poderão utilizar cristais e metamateriais para controlar a luz.



Uma corrente eléctrica gera calor nos sistemas de computador e conforme aumenta a velocidade de processamento, o mesmo acontece com a quantidade de electricidade necessária; esse calor extra é extremamente prejudicial para o hardware. Os fotões criam quantidades substancialmente mais pequenas de calor que os electrões tornando assim possível o desenvolvimento de sistemas com maior poder de processamento. Através da aplicação de algumas das vantagens das redes de luz visível ou de infravermelho à escala de dispositivos e componentes, poderá um dia ser desenvolvido um computador que possa realizar todas as operações significativamente mais rápido que um computador electrónico convencional.


O Futuro dos Computadores - Nanocomputadores Quânticos

Um computador quântico usa fenómenos mecânicos quânticos, tais como entrelaçamento e sobreposição, para processar dados. A computação quântica pretende usar as propriedades quânticas das partículas para representar e estruturar dados utilizando a mecânica quântica para entender como realizar operações com esses dados.



As propriedades da mecânica quântica de átomos ou núcleos permitem que essas partículas trabalhem juntas como bits quânticos, ou qubits. Estes qubits trabalham em conjunto para formar o processador e a memória do computador. Os qubits podem interagir uns com os outros, enquanto isolados do ambiente externo, e isso permite-lhes realizar cálculos de forma muito mais rápida que os computadores convencionais. Ao computar simultaneamente muitos números diferentes e, em seguida, cruzar os resultados de modo a obter uma resposta única, um computador quântico pode executar um grande número de operações em paralelo e conseguir ser muito mais poderoso que um computador digital do mesmo tamanho.



Um nanocomputador quântico irá trabalhar armazenando dados na forma de estados quânticos atómicos ou spin. Tecnologia deste tipo já está em desenvolvimento sob a forma do electrão único de memória (SEM-Sigle Electron Memory) e pontos quânticos. Por meio da mecânica quântica, ondas armazenarão o estado de cada componente em nanoescala e as informações serão armazenadas em forma de orientação do spin ou o estado de um átomo. Com a configuração correcta, a interferência construtiva salientará os padrões de ondas que contém a resposta certa, enquanto a interferência destrutiva impedirá qualquer resposta errada.



O estado de energia de um electrão dentro de um átomo, representado pelo nível de energia do electrão, pode, teoricamente, representam um, dois, quatro, oito ou até 16 bits de dados. O principal problema com esta tecnologia é a instabilidade visto que os estados de energia instantânea electrónica são difíceis de prever e ainda mais difíceis de controlar. Um electrão pode facilmente cair para um estado de energia menor, emitindo um fotão e, inversamente, um fotão pode atingir um átomo e levar um dos seus electrões a saltar para um estado energético superior.



Prometo em breve escrever uma série de artigos a explicar os rudimentos da física quântica, ok?