Conceitos sobre Disponibilidade - Parte I

Por Robson Brandão, MVP

Existem três itens que andam juntos quando falamos sobre servidores: Desempenho, Segurança e Disponibilidade. Nesse artigo vou falar um pouco sobre disponibilidade.

De forma bem simples, podemos definir disponibilidade como sendo o tempo que seu servidor fica no ar durante o ano.

Existem dois aspectos principais a considerar quando se pensa em disponibilidade: Prevenção e Disaster Recovery.

Prevenção

É qualquer coisa que usamos para reduzir o risco de uma catástrofe incluindo pessoas, processos e tecnologias.

Algumas ações para prevenção de desastres:

  • Implementar sistemas redundantes, onde um ou mais servidores possam assumir as responsabilidades do Primary Server caso algum problema grave aconteça e sempre ter pelo menos 2 cópias exatas do seu banco de dados de produção colocadas em dois data centers diferentes (redundância).

  • Reduzir pontos de falhas. Os data centers devem ser colocados em lugares estratégicos longe de terremotos, enchentes e outros fenômenos.

Creio que com essas ações os servidores estarão sempre disponíveis e você poderá ficar tranqüilo. Será? Vocês conhecem a história do Titanic? Ele tinha 16 compartimentos à prova d'água e teoricamente, mesmo que 4 compartimentos inundassem ele não afundaria e mesmo assim ele afundou.

Isso nos leva a pensar que o inesperado pode acontecer e que outros cuidados devem ser tomados. Um bom planejamento e administração dos servidores também são vitais. Não basta ter redundância dos servidores. É preciso ler os logs, testar os backups, verificar os discos e a memória, medir o desempenho e analisar a segurança.

Disaster Recovery

Mesmo tomando todas as precauções, desastres acontecem e um plano de emergência deve ser criado antes que isso ocorra. Voltando ao exemplo do Titanic, se tivesse botes salva-vidas para todos, ninguém teria morrido e esse é o objetivo de quem trabalha com servidores, mesmo que uma catástrofe aconteça, precisamos ter recursos para recuperar os servidores e disponibilizar nossos dados.

Calculando a Disponibilidade

Existe uma fórmula muito simples para se calcular a Disponibilidade de um servidor:

DISPONIBILIDADE = (Total de Unidade de Tempo - Downtime) / Total de Unidade de Tempo

Exemplo:

Vamos calcular a disponibilidade de um servidor num período de 1 ano considerando 3 horas de downtime para aplicação de service packs ou outro tipo de manutenção.

Total de Unidade de Tempo = 1 ano ( 8760 horas)

Downtime = 3 horas

DISPONIBILIDADE = ( 8760 horas - 3 horas) / 8760 = 99,9658 %

Conseguir 100% de disponibilidade é algo quase impossível por diversos fatores. Um desses fatores é a vida útil de alguns componentes da máquina como por exemplo um HD. Digamos que um certo HD tem uma vida útil de 15.000 horas. Isso quer dizer que a cada 15.000 devemos substituí-lo.

Exemplo prático:

Você instalou um SQL Server em seu ambiente. De tempos em tempos a Microsoft lança Service Packs. A cada aplicação de service packs, o SQL Server fica em single-user mode. Dependendo do seu hardware, a aplicação do Service pack pode durar alguns minutos, digamos 15. Após instalar é preciso um reboot e vamos supor que o boot demore 5 minutos. No total teremos 20 minutos de indisponibilidade planejada por ano. Fazendo as contas: 99,9962% de disponibilidade.

É claro que tudo depende do ambiente que você tem. Se por exemplo, você tem uma empresa aqui no Brasil com filiais em várias cidades e durante dia precisa de disponibilidade total, pode usar a madrugada para um eventual downtime. Mas se a empresa tem filiais no mundo inteiro, inclusive no oriente, e seu banco precisa estar disponível 24x7, o downtime deve ser programado com muito cuidado.

O Downtime ( tempo que o servidor fica indisponível ) é medido em porcentagem. Quanto mais 9 (noves) tiver no cálculo da disponibilidade, menor downtime você terá. A tabela a seguir demonstra o número de noves e tempo que o servidor fica indisponível.

O Significado dos NOVES

%

Downtime (por ano)

100

Nenhum downtime

99,999 (5 noves)

Menos de 5,26 min.

99,99 (4 noves)

De 5,26 a 52 min.

99,9 (3 noves)

De 52 min. a 8 horas e 45 min.

99 ( 2 noves)

De 8 horas e 45 min. a 87 horas e 56 min

90,0 - 98,9 (1 nove)

87 horas e 56 min a 875 horas 54 min

Apresentando o significado dos noves ao CEO, CFO, CIO ou CTO, é claro que vão querer sempre os 5 noves ou 24x7 uptime, isso aumenta nossas responsabilidades na Implementação da solução.

Soluções da Microsoft

A Microsoft possui tecnologias para prover soluções de missão crítica permitindo alcançar os 5 noves. Essas tecnologias são:

Windows Server 2003

  • Server Clusters

  • Network Load Balancing Cluster

SQL Server

  • Failover clustering

  • Log Shipping

  • Replication

  • Backup e Restore

Cada uma das soluções tem uma complexidade muito grande e deverá ser tratada em outros artigos.