Neste documento, descrevemos uma arquitetura para migrar de fontes compatíveis com Redis, como Redis Open Source (Redis OSS), AWS ElastiCache e Azure Cache para Redis, para o Redis Enterprise Cloud totalmente gerenciado no Google Cloud usando o serviço de migração em tempo real da Ferramenta de entrada e saída do Redis (RIOT). Este documento é destinado a arquitetos de bancos de dados, administradores de bancos de dados e engenheiros de bancos de dados que querem migrar de fontes compatíveis com o Redis para o Redis Enterprise Cloud totalmente gerenciado.
O Redis Enterprise Cloud é uma solução Redis totalmente gerenciada e de nível empresarial que pode ajudar a oferecer suporte aos seus aplicativos essenciais. Em comparação com fontes compatíveis com Redis, ele oferece escalonabilidade, disponibilidade, segurança e eficiência operacional aprimoradas. Ao usar o RIOT, um utilitário de linha de comando gratuito, é possível migrar seus dados do Redis para o Redis Enterprise Cloud sem qualquer interrupção do serviço ou inatividade.
Arquitetura
O diagrama a seguir mostra a arquitetura de migração:
No diagrama, o Serviço de migração em tempo real RIOT é usado para migrar fontes compatíveis com o Redis para o Redis Enterprise Cloud.
A arquitetura contém os seguintes componentes:
- Fonte: fontes compatíveis com Redis, como Redis OSS, AWS ElastiCache e Azure Redis.
- Destino: Redis Enterprise Cloud em execução em uma VPC gerenciada pelo Redis.
- Serviço de migração: RIOT em execução nas máquinas virtuais (VMs) do Compute Engine.
Produtos usados
Esta arquitetura de referência usa os seguintes produtos do Google Cloud e de terceiros:
- Compute Engine: um serviço de computação seguro e personalizável que permite criar e executar VMs na infraestrutura do Google.
- Migração em tempo real RIOT: um utilitário de linha de comando gratuito projetado para ajudar você a inserir e receber dados do Redis.
- Redis Enterprise Cloud no Google Cloud: uma solução Redis totalmente gerenciada de nível empresarial que pode ajudar você a oferecer suporte aos seus aplicativos mais importantes.
Caso de uso
O Redis oferece latência inferior a um milissegundo, suporte avançado a estrutura de dados, resiliência e portabilidade de código aberto. No entanto, pode ser difícil escalonar fontes autogerenciadas compatíveis com Redis para atender às cargas de trabalho exigentes das empresas, mantendo latências ultrabaixas. Quando você ultrapassar a implantação do cluster autogerenciada do Redis, talvez tenha dificuldade de escalonar. É demorado e propenso a erros arquitetar uma solução altamente disponível e gerenciar a replicação. O escalonamento também apresenta desafios logísticos e custos associados ao gerenciamento de hardware, aplicação de patches e upgrades.
Para ajudar você a resolver esses desafios, o Redis Enterprise Cloud se integra totalmente ao Google Cloud para fornecer um serviço de banco de dados em tempo real para executar, escalonar e gerenciar o Redis. O Redis Enterprise Cloud oferece um núcleo de código aberto, funcionalidade e segurança completas de nível empresarial, desempenho líder de mercado, escalonabilidade e disponibilidade que os aplicativos essenciais aos negócios exigem. O Redis Enterprise Cloud oferece latência de menos de um milissegundo, failover de um dígito em segundos e tempo de atividade de 99999.
Alternativas de design
O RIOT fornece uma solução de migração flexível dentro e fora do Redis. As seções a seguir apresentam possíveis alternativas de design para essa arquitetura. As alternativas geram inatividade ou exigem que o banco de dados de destino esteja em uma assinatura flexível (ou anual) do Redis.
Snapshots do RDB
O snapshot do banco de dados do Redis (RDB) é uma maneira de manter seus dados no Redis em um armazenamento durável. Ele executa snapshots pontuais do conjunto de dados e é comumente usado para fazer backup de dados no Redis. Como alternativa ao uso do RIOT para executar a migração, use o snapshot do RDB para migrar de uma instância do Redis OSS para o Redis Enterprise. No entanto, ao contrário do RIOT, o snapshot do RDB não oferece suporte à migração em tempo real e gera inatividade.
Sincronizar usando o Active-Passive
É possível usar o comando ReplicaOf
do Redis OSS para configurar uma instância do Redis como
uma réplica de outro servidor do Redis. O comando é usado no contexto da replicação do Redis, que permite criar cópias dos seus dados em diferentes instâncias
do Redis. Assim como o RIOT, o comando ReplicaOf
oferece suporte à migração em tempo real e incorre em inatividade, mas o comando é integrado ao Redis OSS. Portanto, você não precisa instalar nenhuma ferramenta.
A distribuição geográfica
Ativa-passiva
da Redis Enterprise usa o comando ReplicaOf
para escalonar uma implantação do Redis em
vários locais geográficos. Se o banco de dados de destino estiver em uma
assinatura flexível (ou anual),
o comando também poderá ser usado para migrar dados de um banco de dados do Redis para assinaturas do
Redis Enterprise Cloud. No entanto, o comando não funcionará se o destino
for uma assinatura fixa, e não entre assinaturas flexíveis de
diferentes contas do Redis Cloud.
Considerações sobre o design
As diretrizes a seguir podem ajudar você a desenvolver uma arquitetura que atenda aos requisitos da sua organização para confiabilidade, custo e desempenho.
Confiabilidade
A migração nesta arquitetura é uma migração unidirecional de uma instância do Redis OSS de origem para uma instância de destino do Redis Enterprise. Depois de concluir uma transição do Redis OSS de origem para o cluster do Redis Enterprise de destino, a origem não será atualizada com as alterações no cluster de destino. Portanto, se você implementar essa arquitetura em um ambiente de produção, não será possível alternar os aplicativos para instâncias de origem atualizados em um substituto.
Otimização de custos
Ao migrar instâncias do Redis OSS para o Redis Enterprise, recomendamos que você agrupe seus bancos de dados de destino do Redis Enterprise em assinaturas para reduzir o custo total de propriedade usando ou multilocação. Por exemplo, se você tiver um grupo de bancos de dados projetados para desenvolvimento e testes, poderá agrupá-los em uma única assinatura porque eles compartilham características e requisitos de rede comuns. Da mesma forma, um grupo de bancos de dados para produção pode ser hospedado em uma assinatura diferente.
Desempenho
A migração em tempo real RIOT oferece suporte a inatividade quase zero. Durante a migração da instância de origem do Redis OSS, seus aplicativos ainda podem acessar essa instância sem nenhum impacto. Durante o processo de migração, após o carregamento inicial de dados do Redis OSS, a migração em tempo real do RIOT continua a migrar alterações desse sistema à medida que elas ocorrem.
Depois que os dados iniciais dos pares de chave-valor forem migrados, execute a transição da instância de origem do Redis OSS para a instância de destino do Redis Enterprise. Como parte do processo de transição, suspenda as gravações do cliente na instância do Redis OSS de origem. Em seguida, aguarde até que o RIOT processe as alterações restantes da instância do Redis OSS de origem para a instância do Redis Enterprise de destino.
Deployment
Para implantar essa arquitetura, consulte Implantar a migração em tempo real RIOT para migrar do Redis Open Source para o Redis Enterprise Cloud.
A seguir
- Leia Conteúdo sobre a migração de dados do Google Cloud.
- Para ver documentações mais detalhadas e práticas recomendadas, consulte a documentação RIOT.
- Para mais arquiteturas de referência, diagramas e práticas recomendadas, confira a Central de arquitetura do Cloud.
Colaboradores
Autores:
- Saurabh Kumar | Engenheiro de parceiros de ISV
- Gilbert Lau | Cloud Architect principal, Redis
Outros colaboradores:
- Chris Mague | Engenheiro de clientes, gerenciamento de dados
- Gabe Weiss | Gerente de suporte ao desenvolvedor
- Marco Ferrari | Arquiteto de soluções do Cloud