Uma nuvem híbrida refere-se a um ambiente misto de computação, armazenamento e serviços composto de infraestrutura local, serviços de nuvem privada e uma orquestração de nuvem pública entre as várias plataformas. Usar uma combinação de nuvens públicas, computação local e nuvens privadas em seu data center significa que você tem uma infraestrutura de nuvem híbrida.
O desempenho geralmente tem menor prioridade em uma nuvem híbrida, pois o foco de ter uma infraestrutura de nuvem híbrida é geralmente voltado para recuperação de desastres, disponibilidade e escalabilidade. Nesta postagem do blog, abordaremos algumas dicas gerais para impulsionar o desempenho de nossos aplicativos, cargas de trabalho e clusters executados em uma configuração de nuvem híbrida.
Hosts/instâncias/recursos dedicados
Afirma-se que o custo dos serviços em nuvem é menor devido ao amplo compartilhamento de recursos. No entanto, um grau mais alto de compartilhamento significaria automaticamente menos garantias de desempenho.
As instâncias de nuvem são propensas a uma estabilidade imprevisível, mas com alguns custos adicionais, podemos reduzir esse risco com recursos dedicados. Instâncias dedicadas são instâncias executadas em hardware dedicado a um único locatário. Geralmente, os hosts ou instâncias dedicados são fisicamente isolados no nível de hardware do host das instâncias que pertencem a outros locatários. Isso garantirá recursos adequados ao serviço e estabilizará praticamente o desempenho de suas cargas de trabalho em longo prazo. Dependendo do seu orçamento, você tem várias opções para recursos dedicados, como hosts dedicados, instâncias ou largura de banda.
Há também muitas ofertas e descontos se você planeja executar as instâncias por um período mais longo. Por exemplo, ao se comprometer com a instância de reserva do AWS EC2, os usuários podem economizar até 70% do custo da instância em comparação com o custo padrão sob demanda. Depois que os aplicativos ou cargas de trabalho estiverem testados e prontos para produção, é altamente recomendável que você opte por um contrato de longo prazo, desde que aloque recursos suficientes para a instância para esse período de contrato específico.
Gerenciamento de largura de banda
A largura de banda é cara. O que é caro é a infraestrutura para transportar a largura de banda de um lugar para outro. A instalação de fibra, hardware de roteamento de nível de operadora e de provedor, as despesas gerais de monitoramento e manutenção para manter tudo funcionando, aluguel de conjunto de datacenter, equipe de um engenheiro de Centro de Operação de Rede (NOC) 24 horas por dia, 7 dias por semana, todos contribuem para o alto preço de um largura de banda confiável. Sem mencionar o ritmo da tecnologia, as demandas dos usuários e a vida útil dos produtos do fornecedor geralmente exigem que uma grande parte do investimento acima seja descartada e o ciclo de vida seja a cada 7 a 10 anos, em alguns casos, 5 anos.
A maior parte da nuvem pública permite a troca de dados com outro provedor de serviços de nuvem (CSP), que pode ser alcançado de várias maneiras:
-
Transferência de dados por meio de endereços IP públicos pela Internet.
-
Usando um serviço de VPN gerenciado entre a rede local e a rede CSP.
-
Conecte-se diretamente da rede local ou de redes de nuvem privada com outro CSP, como Partner Interconnect for Google Nuvem ou AWS Direct Connect para AWS.
-
Transfira dados para outro CSP por meio de um ponto de presença comum (POP).
-
Emparelhamento de rede com redes de nuvem privada e a rede CSP.
Essas opções diferem em termos de velocidade de transferência, latência, confiabilidade, acordos de nível de serviço (SLAs), complexidade e custos. Independentemente das opções, a ideia é a mesma - quanto menor a transferência de dados usada, menor o custo.
Para reduzir o uso da largura de banda, a compactação é a principal coisa que devemos fazer. A maioria dos serviços de replicação agora oferece suporte à compactação de conexão, o que pode reduzir bastante o tamanho da transferência de dados entre vários sites. Por exemplo, habilitar a compactação de conexão para MySQL master-slave pode reduzir facilmente o uso da largura de banda para 1,5x, sem configuração adicional no nível de compactação ou algoritmo. Isso é chamado de técnica de compactação de dados sem perdas. Você pode definir uma taxa de compactação ainda maior, com uma troca de poder de processamento para compactação e descompactação em ambos os terminais.
O posicionamento da carga de trabalho também é importante. Com a configuração de nuvem híbrida, aplicativos e cargas de trabalho podem existir em nuvens públicas ou privadas. Para aplicativos internos, é muito melhor colocá-los na nuvem privada mais próxima do local com menor latência de rede. Para melhorar o desempenho de aplicativos públicos, coloque os aplicativos nos servidores de borda do Content Delivery Network (CDN), o que reduzirá bastante a carga do servidor principal para lidar apenas com a solicitação dinâmica e descarregar a entrega de conteúdo estático para vários servidores de borda, que geograficamente mais próximo dos usuários finais.
Criptografia mais rápida
A criptografia em trânsito e em repouso é obrigatória em uma configuração de nuvem híbrida, pois possuímos apenas uma fração da infraestrutura. Não queremos que olhares indiscretos vejam nossos dados enquanto são transmitidos, ou o risco de violações de dados por roubo ou pessoas de fora que tenham acesso físico aos nossos dados. Em palavras simples, cada parte dos dados móveis ou dados não acessíveis fisicamente devem ser criptografados, ponto final. No entanto, algumas cifras de criptografia podem comprometer a velocidade e o desempenho das cargas de trabalho.
Uma falácia comum é supor que uma mensagem criptografada usando AES256 é mais difícil de quebrar do que a mesma informação protegida usando AES128. Faz sentido lógico que um tamanho de chave maior introduz uma maior complexidade, mas como em qualquer sistema, as implementações estão sujeitas a pontos fracos. Supondo que estamos falando de AES128 versus AES256, há uma fraqueza conhecida na função de expansão de chave que afeta o AES256. Fundamentalmente, a fraqueza reduz a complexidade do AES256 para um valor inferior ao do AES128.
Algumas das ferramentas de encapsulamento, como o WireGuard, são bem conhecidas por sua criptografia mais rápida e bastante simples de implementar durante o encapsulamento entre vários sites. Funciona de maneira semelhante à criptografia SSH, usando uma abordagem de criptografia assimétrica. De acordo com esta pesquisa, em média, o WireGuard é 58% mais rápido que o OpenVPN em todos os locais testados. A criptografia mais rápida significa menos tempo para criptografar e descriptografar dados, permitindo que o desempenho da troca de dados aumente significativamente.
Se você quer saber como configurar o WireGuard VPN para um ambiente de nuvem híbrida, confira esta postagem do blog, Implantação de várias nuvens para replicação MariaDB usando o WireGuard.
Monitore tudo
Os ambientes baseados em nuvem dependem de um conjunto complicado de recursos e identificar os problemas de disponibilidade e desempenho que mais afetam os serviços de negócios é um desafio. A equipe de operação precisa ser capaz de monitorar holisticamente a integridade do aplicativo, incluindo os componentes de infraestrutura de nuvem que o acompanham.
A melhoria de desempenho em uma nuvem híbrida não pode acontecer sem ampla visibilidade de todos os recursos o tempo todo. Recursos como utilização de instância e rede, desempenho de aplicativos, experiência do usuário, latência e arquivos de log são muito importantes para serem coletados e amostrados para garantir que possamos solucionar proativamente problemas de desempenho e disponibilidade antes que eles atinjam os usuários finais ou se agravem. A má alocação de recursos sempre acontecerá em um ambiente de provisionamento deficiente, o que eventualmente leva a um planejamento de capacidade deficiente e ao desperdício de dinheiro e recursos.
A maioria dos provedores de nuvem pública oferece serviços de monitoramento detalhados, abrangendo várias camadas e componentes dos serviços de nuvem assinados. No entanto, a peça que falta é comumente uma unificação de monitoramento entre diferentes plataformas, provedores e ambientes de nuvem. Ferramentas de monitoramento tudo-em-um de código aberto como Icinga, Nagios Core e Zabbix podem ser configuradas para monitorar quase tudo envolvido em uma nuvem híbrida, especialmente instâncias de nuvem, redes, serviços e aplicativos.
No caso de monitoramento de desempenho para servidores de banco de dados no ambiente de nuvem híbrida, os seguintes recursos podem ajudar:
-
Monitorando o desempenho do MariaDB em uma nuvem híbrida
-
Monitorando o PostgreSQL em um ambiente híbrido