2. Conceito de alta disponibilidade
• São aplicações que ao se tornar indisponível
aos usuários pode causar prejuízos financeiros
consideráveis ou que envolva vida humana.
• Instituições financeiras, hospitais, aeroportos,
sites de e-commerce, etc...
3. Conceito de alta disponibilidade
• Conceito de alta disponibilidade envolve tanto
hardware quanto software.
• As de hardware são normalmente resoluções
de alto custo a ponto de ser raramente
implementadas.
• As software tem, normalmente custo reduzido
e aplicabilidade abrangente.
4. Conceito de alta disponibilidade
• Isto implica em nos concentrar na remoção do
máximo de pontos de falhas do projeto.
• De forma a fornecer funcionamento
redundante, garantindo continuidade e
capacidade de failover.
5. Failover
• É o processo no qual uma máquina assume os serviços
de outra, caso apresente falha.
• O failover pode ser automático ou manual.
• Sendo o automático o que normalmente esperado.
• Ainda assim, algumas aplicações não críticas podem
suportar um tempo maior até a recuperação do
serviço, e portanto podem utilizar failover manual
6. Failback
• Manutenção no servidor falho.
• Ao ser recuperado de uma falha, este servidor será recolocado em
serviço.
• O failback é portanto o processo de retorno de um determinado
serviço de uma outra máquina para sua máquina de origem.
• Também pode ser automático, manual.
• Em alguns casos o failback pode não ser atraente. Pois pode ter o
seu funcionamento comprometido. Sendo necessário a troca de
equipamento.
7. Conceito de alta disponibilidade
• Alta disponibilidade pode ser alcançada em diversos níveis:
– Aplicação,
– Infraestrutura,
– data center
– e até o de redundância geográfica.
• Exemplos de formas básica de configurações de alta disponibilidade
em infraestrutura:
Dois ou mais barramentos
Dois ou mais servidores web
Dois ou mais servidores de banco de dados
8. Conceito de alta disponibilidade
• Em websites, por exemplo, o banco de dados
replicado, fornecendo redundância de
informação.
• A alta disponibilidade geográfica, diz respeito
a redundância em vários data center.
9. Minha empresa necessita de Alta
Disponibilidade?
• O downtime (período de inatividade) pode causar
graves implicações financeiras e para a empresa.
• Os custos para criar um ambiente de alta
disponibilidade podem ainda ser inviáveis em
ambientes dedicados
• Mas, felizmente, a computação em nuvem traz
Alta Disponibilidade ao alcance da maioria das
empresas de pequeno e médio porte.
10. Minha empresa necessita de Alta
Disponibilidade (HA)?
• Principais razões a serem consideradas para a
adoção de um ambiente de alta disponibilidade:
Alta dependência da disponibilidade dos
serviços
Redução de custos
Gestão de Alta Disponibilidade
11. Alta dependência da disponibilidade
dos serviços
• Se o tempo de inatividade da sua
infraestrutura ou aplicação afeta
negativamente a sua empresa, deve-se
considerar a migração para uma nuvem em
Alta Disponibilidade.
• O ambiente em nuvem tem que fornecer
garantia de alta disponibilidade.
12. Redução de custos
• Não é segredo que os custos para aquisição de
um segundo equipamento e softwares para alta
disponibilidade requer muito ao projeto.
• Isso sem contar outros custos envolvidos, tais
como a manutenção, um segundo local físico e a
equipe para suportar tal ambiente.
• Serviços na nuvem criam o ambiente necessário
para satisfazer todas estas necessidades.
13. Gestão de Alta Disponibilidade
• Muitas vezes custa mais gerenciar um ambiente em Alta
Disponibilidade do que contratá-lo como serviço. Porque
envolve diversas tarefas como:
• Gestão de um ambiente de Alta Disponibilidade
• Verificação da integridade da replicação
• Re-sincronização de objetos
• Automatização da rotas de failover
• Acompanhamento diário dos status de funcionamento
• Profissionais experientes e com competências especificas.
14. Cálculo da Disponibilidade
• Em um sistema real, se um componente falha, ele é
reparado ou substituído por um novo componente.
• Se este novo componente falha, é substituído por outro e
assim por diante.
• Durante sua vida útil, um componente pode ser
considerado como estando em estados
de funcionando ou em reparo.
• O estado funcionando indica que o componente está
operacional e o estado em reparo significa que ele falhou e
ainda não foi substituído por um novo componente.
15. Cálculo da Disponibilidade
• Sendo assim, pode-se dizer que o sistema
apresenta ao longo de sua vida um tempo
médio até apresentar falha (MTTF) e um
tempo médio de reparo (MTTR).
• O tempo de vida útil do sistema é a soma dos
MTTFs nos ciclos MTTF+MTTR já vividos.
16. Cálculo da Disponibilidade
• De forma simplificada, diz-se que a
disponibilidade de um sistema é a relação
entre o tempo de vida útil deste sistema e seu
tempo total de vida. Isto pode ser
representado pela fórmula abaixo:
• Disponibilidade = MTTF / (MTTF + MTTR)
17. Conceitos envolvidos
• Não são muitos, porém estes termos são
muitas vezes utilizados de forma errônea.
• Deve-se entender o que é falha, erro e defeito.
• Esses conceitos ocorrência em três universos
totalmente diferentes.
18. Falha
• Uma falha acontece no universo físico, ou seja, no nível
mais baixo do hardware.
• Um problema na fonte de alimentação, por exemplo, é
uma falha.
• Uma interferência eletromagnética também.
• Estes são dois eventos indesejados, que acontecem no
universo físico e afetam o funcionamento de um
computador ou de partes dele.
19. Erro
• A ocorrência de uma falha pode acarretar um erro.
• Um computador trabalha com bits, cada um podendo
conter 0 ou 1.
• Uma falha pode fazer com que um (ou mais de um) bit
troque de valor inesperadamente, o que certamente
afetará o funcionamento normal do computador.
• Uma falha, portanto, pode gerar um erro em alguma
informação.
20. Defeito
• Já esta informação errônea, se não for
percebida e tratada, poderá gerar o que se
conhece por defeito.
• O sistema simplesmente trava, ou mostra uma
mensagem de erro, ou ainda perde os dados
do usuário sem maiores avisos.
• Isto é percebido no universo do usuário.
21. Defeito
• Recapitulando, uma falha no universo físico pode
causar um erro no universo informacional, que por sua
vez pode causar um defeito percebido no universo do
usuário.
• A Tolerância a Falhas (vou citar na frente) visa
exatamente acabar com as falhas, ou tratá-las
enquanto ainda são erros.
• Já a Alta Disponibilidade permite que máquinas travem
ou errem, contanto que exista outra máquina para
assumir seu lugar.
22. Defeito
• Para que uma máquina assuma o lugar de outra, é
necessário que descubra de alguma forma que a
outra falhou.
• Isso é feito através de testes periódicos, cujo período
deve ser configurável, nos quais a máquina
secundária testa não apenas se a outra está ativa,
mas também fornecendo respostas adequadas a
requisições de serviço.
23. Defeito
• Um mecanismo de detecção equivocado pode
causar instabilidade no sistema.
• Por serem periódicos, nota-se que existe um
intervalo de tempo durante o qual o sistema
pode estar indisponível sem que a outra
máquina o perceba.
24. Missão
• Missão de um sistema é o período de tempo no qual ele deve
desempenhar suas funções sem interrupção.
• Por exemplo, uma farmácia, que funcione das 8h às 20h, não pode
ter seu sistema fora do ar durante este período de tempo.
• Se este sistema vier a apresentar defeitos fora deste período, ainda
que indesejados, estes defeitos não atrapalham em nada o
andamento correto do sistema quando ele é necessário.
• Uma farmácia 24h obviamente tem uma missão contínua, de forma
que qualquer tipo de parada deve ser mascarada.
25. Tolerância a falhas
• É a propriedade que permite que o sistemas continuem a
operar adequadamente mesmo após falhas em alguns de
seus componentes.
• Se o sistema principal deixar de funcionar o secundário
assume a operação.
• É uma técnica muito usada em ambientes de servidores.
• Pode ser aplicada tanto em nível de hardware quanto
Software.
26. Escalabilidade
• É uma característica desejável em todo o
sistema, em uma rede ou em um processo.
• Indica sua habilidade de manipular uma
porção crescente de trabalho de forma
uniforme.
• Capacidade de suportar as mudanças do meio
crescente de forma adaptativa.
27. Escalabilidade em servidores
• Exemplo: Em um servidor com 4
processadores deve ser possível a adição de
mais processadores na mesma máquina ao
passar do tempo.
• Sendo que esse servidor continue provendo
serviço aos sistemas “antigos” e aos “novos”.
28. Escalabilidade em servidores
• Também pode ser considerada escalabilidade
a troca de equipamentos por outros mais
novos.
• Características de escalabilidade :
– Aumento da capacidade de armazenamento;
– Backup mais flexível;
– Tempo de restauração de dados aceitáveis...
29. Conectiva para Alta Disponibilidade
• Diz respeito a capacidade de integração de
diversas tecnologias.
• E de estendê-las individualmente com o
objetivo de prover uma solução simples e
flexível, que possa ser otimizada para as
particularidades de cada aplicação.
30. Solução para Conectiva para Alta
Disponibilidade
• A solução é baseada em quatro blocos básicos, que
são:
Replicação de disco;
Monitoração de nodos;
Monitoração de serviços ;
Sistema de arquivos robusto.
• Estes quatro blocos podem ser utilizados em conjunto
ou individualmente, possibilitando a criação de
soluções com failover e failback, automáticos ou
manuais.
31. Monitoração de nodos
• A monitoração de nodos é realizada
pelo heartbeat (linux).
• Ele é o responsável por testar periodicamente
os nodos do cluster (ou rede), coordenando
as ações de failover e failback.