/
/

Alta disponibilidade vs tolerância a falhas: entenda as principais diferenças

por Team Ninja
High Availability vs Fault Tolerance: Understanding the Main Differences blog banner image

Resumo instantâneo

Esta postagem do blog NinjaOne oferece uma lista abrangente de comandos CMD básicos e um mergulho profundo nos comandos do Windows, com +70 comandos CMD essenciais para usuários iniciantes e avançados. Explicamos sobre comandos práticos de prompt de comando para gerenciamento de arquivos, navegação em diretórios, solução de problemas de rede, operações de disco e automação, tudo com exemplos reais para maximizar a produtividade. Seja para aprender comandos básicos CMD ou dominar ferramentas avançadas de CLI do Windows, este guia ajuda você a usar o prompt de comando com mais eficiência.

Alta disponibilidade vs tolerância a falhas — o que são? São dois conceitos de TI bem próximos, mas com requisitos e resultados diferentes. Este artigo explora a diferença entre alta disponibilidade (HA) e tolerância a falhas (FT) na infraestrutura de TI, destacando as principais distinções, os casos de uso e os benefícios de cada abordagem, para que a sua infraestrutura atenda aos requisitos específicos de confiabilidade e disponibilidade.

O que é alta disponibilidade (HA)?

“Disponibilidade”, neste contexto, indica se usuários ou serviços conseguem acessar um sistema. Se um sistema não está disponível, não consegue cumprir sua função. A disponibilidade é medida pelo tempo total em que um serviço fica no ar por ano: uma aplicação com 99% de disponibilidade deve ficar acessível 361,35 dias por ano (0,99 multiplicado pelos 365 dias do ano). Muitas empresas oferecem seus serviços on-line com um contrato que define o nível de disponibilidade entregue como parte do acordo de nível de serviço (SLA).
Alta disponibilidade é uma arquitetura em que sistemas e softwares são implantados e configurados para priorizar o tempo de atividade e a capacidade de responder às solicitações. Costuma-se considerar alta disponibilidade um tempo de atividade de 99% ou mais e, em geral, qualquer interrupção de serviço deve ser momentânea e rara, quando acontece. Uma aplicação que promete 99% de disponibilidade não deveria ficar fora do ar por dias seguidos, nem por minutos seguidos, mesmo que ainda fique dentro do limite previsto.

Mesmo quem não presta serviços a outras empresas pode precisar de alta disponibilidade: muitas organizações dependem dela para manter a própria operação funcionando sem interrupções. Por exemplo, se há servidores hospedando o software de vendas ou de e-commerce, o foco deve ser alta disponibilidade, para que nenhum cliente fique impedido de gastar dinheiro com você.

O que é tolerância a falhas (FT) e como se diferencia da HA?

A tolerância a falhas vai um passo além da alta disponibilidade: busca criar uma infraestrutura que não sofra interrupção nenhuma. O objetivo é o mesmo da alta disponibilidade — evitar a interrupção do serviço —, mas os mecanismos usados para tornar sistemas tolerantes a falhas são bem mais complexos e caros.

Por isso, muitas equipes de tecnologia concluem que certo nível de alta disponibilidade é mais prático e tem melhor custo-benefício que um sistema totalmente tolerante a falhas, ou questionam se 100% de tempo de atividade compensa os custos extras. Por exemplo, uma loja on-line projetada para alta disponibilidade pode ficar alguns segundos fora do ar quando não há clientes (para corrigir um bug ou instalar uma atualização) sem maiores problemas. Já um sistema de controle de tráfego aéreo que caia periodicamente por qualquer período é totalmente inaceitável: todos os sistemas envolvidos precisam ter zero tempo de inatividade.

Como funcionam

Alta disponibilidade

A alta disponibilidade usa alguns mecanismos essenciais, conforme o tipo de serviço prestado:

  • Replicação e espelhamento: a replicação garante que existam várias cópias atualizadas dos dados em servidores que rodam em hardwares separados (e até em locais diferentes). Se um falha, os usuários são redirecionados rapidamente para outro servidor. A integridade dos dados deve ser monitorada e verificada entre os sistemas, para que todos os dados estejam atuais, completos e corretos.
  • Clusters e balanceadores de carga: servidores web, bancos de dados e outros serviços podem ser hospedados em vários servidores e configurados para distribuir o tráfego entre eles, sem sobrecarregar nenhum. Se um problema derruba um servidor do cluster, o serviço continua no ar porque os demais seguem operando.
  • Redundância e backup: backups regulares, somados às cópias replicadas, garantem a restauração para um estado íntegro conhecido quando há dados corrompidos ou danificados, ou quando um sistema se torna irrecuperável.
  • Hardware redundante: RAID é uma tecnologia comum para proteger contra falhas de disco. Na rede, manter vários dispositivos de failover disponíveis (por exemplo, um roteador e uma conexão de internet secundários caso a conexão principal caia) impede que problemas como picos de energia e cabos rompidos paralisem a operação.

Tolerância a falhas

A tolerância a falhas acrescenta mais redundância e detecção de falhas para garantir resiliência total contra interrupções. Na prática, um sistema tolerante a falhas combina vários sistemas de alta disponibilidade para que, no conjunto, o tempo de inatividade seja eliminado mesmo que um desses sistemas de HA falhe por completo:

  • Sistemas de HA redundantes (incluindo redundância geográfica): vários sistemas de alta disponibilidade — duplicatas completas de toda a infraestrutura de uma aplicação ou de componentes individuais — podem assumir instantaneamente em caso de indisponibilidade. O ideal é que um ou mais desses sistemas redundantes fiquem em outra região geográfica, como proteção contra desastres naturais ou outras emergências que possam derrubar um data center inteiro.
  • Detecção automática de falhas e retorno ao estado original: sistemas tolerantes a falhas precisam identificar problemas assim que ocorrem e mitigá-los de imediato, por exemplo, passando para um sistema redundante enquanto o problema é investigado e corrigido. Resolvida a questão, o sistema deve voltar automaticamente ao estado previsto no projeto.
  • Eliminação de pontos únicos de falha: nenhum sistema de FT pode ter ponto único de falha. A arquitetura do sistema e de todos os seus componentes deve ser inspecionada com regularidade, para confirmar a redundância total (e o funcionamento dos componentes redundantes).
  • Contenção de falhas: alguns erros afetam outras partes da infraestrutura e se propagam em cascata pelos sistemas. Valores de dados inesperados em um pipeline, por exemplo, podem fazer aplicações funcionarem mal conforme os dados avançam. Sistemas de FT devem monitorar falhas não críticas e isolá-las (por exemplo, colocando mensagens problemáticas em uma fila de mensagens mortas em vez de deixá-las gerar erros críticos que podem afetar o tempo de atividade).

Uma das tecnologias centrais tanto para HA quanto para FT é o monitoramento e alerta automatizados: quando surge um problema, as equipes de tecnologia precisam ser avisadas para agir na hora e evitar qualquer interrupção do serviço.

Alta disponibilidade vs tolerância a falhas: benefícios e desvantagens

Ao decidir o nível de alta disponibilidade desejado para o sistema, ou se vale implementar tolerância a falhas completa, considere o custo, o desempenho e as implicações técnicas.

Sistemas tolerantes a falhas são muito mais caros e complexos de implementar e manter do que sistemas projetados apenas para alta disponibilidade. O motivo: cada sistema precisa de várias duplicatas redundantes e, a cada duplicata, o custo de implementação se multiplica, assim como os custos contínuos de hospedagem e manutenção. Além disso, quanto maior a infraestrutura de TI, mais difícil gerenciá-la com uma equipe pequena e sem as ferramentas certas.

Desempenho e escalabilidade também pesam na decisão: componentes redundantes de FT não somam desempenho, já que só entram em ação quando ocorre uma falha. Na HA, quando o cluster é usado para failover, as outras instâncias em execução podem assumir parte da carga de trabalho por meio de um balanceador de carga, o que melhora o desempenho. É claro que dá para resolver isso em sistemas de FT com vários sistemas de alta disponibilidade redundantes (a um custo bem alto).

Tanto em sistemas de alta disponibilidade quanto nos tolerantes a falhas, manter cópias redundantes de dados consome recursos adicionais, porque elas precisam ser transferidas e verificadas — uma preocupação em cenários sensíveis à latência (por exemplo, negociação automatizada de ações).

Alta disponibilidade e infraestrutura totalmente redundante são projetadas com dois objetivos principais: evitar o tempo de inatividade e recuperar rápido quando algo dá errado. Espera-se que o objetivo de tempo de recuperação (RTO) de aplicações tolerantes a falhas seja zero, ou seja, a recuperação precisa ser instantânea. E, para isso, a integridade dos dados das réplicas tem de ser absoluta. Por isso, sistemas de FT costumam dar mais atenção à integridade das réplicas de dados ativas, enquanto sistemas de HA podem pausar e gastar alguns minutos para restaurar a partir de um backup íntegro conhecido.

Construa sistemas à prova de falhas. Assista a Alta disponibilidade vs tolerância a falhas: entenda as principais diferenças e reforce a resiliência dos seus sistemas.

Alta disponibilidade e tolerância a falhas: boas práticas

Ao implementar seus próprios sistemas de alta disponibilidade ou tolerantes a falhas, garanta que as tecnologias e processos a seguir estejam cobertos:

  • Redundância total: assegure que não exista nenhum ponto único de falha.
  • Detecção e resposta automatizadas: implante sistemas que identifiquem e mitiguem problemas automaticamente e avisem as equipes de engenharia sobre qualquer risco.
  • Resiliência geográfica: em sistemas de FT, mantenha sistemas redundantes disponíveis em outra região. Na HA, mantenha ao menos um espelho atualizado dos dados em outra região, de onde seja possível restaurar rapidamente.
  • Atenção aos custos: não subestime os custos acumulados de implantação e manutenção, sobretudo em sistemas tolerantes a falhas.

Talvez conclua que alta disponibilidade ou tolerância a falhas não compensam o aumento de custos e recursos no caso de uso da sua organização. Isso não significa, porém, que uma das ferramentas em que essas abordagens se apoiam deixe de ser absolutamente crítica: o backup. Por mais complexa (ou simples) que seja a infraestrutura de TI, é preciso ter um plano de backup robusto para que acidentes, roubos ou desastres não apaguem as informações valiosas das quais você depende.

Recomendados para você

Pronto para simplificar as partes mais difíceis da TI?