Ter disponibilidade total quando se cria uma solução usando cloud computing significa que as máquinas virtuais que fazem um aplicativo ou site, por exemplo, funcionar estarão sempre ativas e operando.
Para isso, é importante que o desenvolvedor responsável saiba fazer a configuração correta de todas as conexões na máquina virtual (VM).
Dessa forma, além da total disponibilidade de operação, a solução tem capacidade para ser escalável, ou seja, aumentar o desempenho, e ainda criar redundâncias que evitam que o serviço caia quando acontecem falhas.
Neste post, vamos explicar como ter alta disponibilidade na nuvem usando o Google Cloud Platform.
Vamos explicar também a importância da disponibilidade de operação e o que é necessário para criar serviços que atendam esse padrão.
Boa leitura!
Importância de ter total disponibilidade
Suponhamos que uma empresa vai criar um aplicativo para os clientes acessarem suas contas e verificar o status de pagamento, gerar boletos, pedir ajuda do suporte, etc.
Esse serviço vai ser baseado na nuvem e para garantir alta disponibilidade, o disco permanente regional utilizado deve ser configurado de forma que em caso de falhas o sistema possa se recuperar.
O motivo pelo qual essa configuração é tão importante é porque evita que o aplicativo pare de funcionar se alguma falha acontecer no servidor.
Utilizando o Compute Engine, o serviço do Google Cloud Platform para gerenciamento de máquinas virtuais, é possível definir cada etapa necessária para executar essa configuração.
Para entender melhor o conceito, um ponto de partida são as definições realizadas nas etapas iniciais da criação de uma máquina virtual que vai operar o sistema.
Durante a configuração, o desenvolvedor escolhe a região e a zona. Por região entende-se a localização do datacenter do Google no mapa. As zonas são as “divisões” existentes dentro do data center.
Então, a forma mais eficiente de obter disponibilidade total é escolhendo uma região próxima a onde empresa e clientes estão para que a resposta do servidor seja rápida.
Além disso, o servidor também deve oferecer diferentes zonas, por exemplo, A, B e C. Assim, se a zona B falhar, ainda é possível contar com a A e a B.
Essa é uma infraestrutura em nuvem básica que pode escalar com a criação de outras máquinas virtuais interligadas.
Isso vai aumentar a capacidade de processamento do aplicativo conforme o volume de usuários aumentar e garantir sua disponibilidade total.
Como criar serviços com disponibilidade total de operação?
Como estamos usando o Google Cloud Platform como referência, os requisitos sobre os quais falaremos abaixo são os que garantem a disponibilidade total na plataforma.
São quatro os procedimentos básicos que vão assegurar a disponibilidade de operação:
- Design do serviço;
- Custo, desempenho, resiliência;
- Verificação de integridade;
- Failover.
Vamos entender cada um desses requisitos a partir da utilização de discos permanentes regionais nos tópicos a seguir.
1. Design do serviço
Antes de colocar a mão na massa, o desenvolvedor e a equipe da empresa precisam alinhar as bases do design do serviço.
Seguindo a ideia de criação de um aplicativo, os detalhes essenciais do planejamento são: características do aplicativo, do sistema de arquivos e também do sistema operacional.
Essas definições evitam problemas de compatibilidade na replicação no nível de operação e na capacidade de tolerar falhas e recuperar o sistema depois de uma interrupção de serviço sem perder ou danificar os dados no disco.
Para isso, é necessário definir um “objetivo de tempo de recuperação” que, mais tarde, terá que ser informado ao usuário nos termos de uso do aplicativo, chamado de Service Level Agreement ou apenas SLA.
2. Custo, desempenho, resiliência
A arquitetura do design do aplicativo do nosso exemplo tem impacto não só na disponibilidade total do mesmo como também no custo, desempenho e resiliência do serviço.
É recomendado ter duas instâncias do banco de dados e da VM. Para isso, existirão custos relativos a:
- instância de VM;
- disco permanente zonal;
- manutenção da replicação de aplicativos.
Um fator que aumenta a disponibilidade de operação é usar os mesmos componentes na VM e no disco permanente.
Adicionar um disco permanente regional aumenta um pouco os custos, mas garante a manutenção correta dos dados, funcionando como um backup de cópia dos outros dois itens.
3. Verificação de integridade
Para conseguir disponibilidade total, o banco de dados deve ter pelo menos duas instâncias de VM:
- instância de VM principal na zona primária;
- instância de VM em espera em uma zona secundária.
A função da verificação de integridade é monitorar as suas instâncias e fazer a comunicação com o balanceador de carga para garantir o direcionamento correto do tráfego.
Ao mesmo tempo, a verificação faz uma ponte com o plano de controle do aplicativo que orienta o que acontece em caso de failover.
Os sistema de verificação de integridade, o balanceador de carga e o plano de controle ficam em instâncias diferentes das VMs principais e secundárias, pois também precisam ter seu próprio esquema de segurança em caso de falhas.
4. Failover
Por fim, o failover é o último requisito para garantir a disponibilidade total de um serviço.
O failover é um procedimento ativado quando acontece uma falha na VM e segue as especificações do plano de controle.
Quando ativado, a VM em espera de resposta de funcionamento “recebe” como anexo um disco permanente regional que foi replicado. Assim, o tráfego é direcionado para o disco de acordo com a verificação de integridade.
Todo o processo de failover é configurado para acontecer no menor tempo possível (latência) depois que o erro é detectado pelo sistema.
Entendeu como funciona a alta disponibilidade na nuvem?
Com a plataforma certa, é possível criar serviços com disponibilidade total e também com a escalabilidade e redundância corretas.
Além de uma boa plataforma, um desenvolvedor familiarizado com o sistema de armazenamento em nuvem implementado na empresa ajuda a obter o melhor de todos os recursos.
Quer levar a transformação digital para dentro do seu negócio?
A Safetec pode ajudar o seu negócio a fazer a transição para o Google Cloud Platform, um sistema na nuvem integrado e produtivo, que vai transformar a maneira da sua equipe trabalhar.
Fale com nossos consultores e modernize sua forma de trabalhar.