Questo documento descrive un'architettura per eseguire la migrazione da origini compatibili con Redis come Redis Open Source (Redis OSS), AWS ElastiCache e Azure Cache per Redis a Redis Enterprise Cloud completamente gestito in Google Cloud utilizzando il servizio di migrazione in tempo reale Redis Input and Output Tool (RIOT). Questo documento è rivolto ad architetti di database, amministratori di database e database engineer che vogliono eseguire la migrazione da origini compatibili con Redis a Redis Enterprise Cloud completamente gestito.
Redis Enterprise Cloud è una soluzione Redis di livello enterprise completamente gestita che può aiutarti a supportare le tue applicazioni mission-critical. Rispetto alle origini compatibili con Redis, offre scalabilità, disponibilità, sicurezza ed efficienza operativa migliorate. Utilizzando RIOT, un'utilità da riga di comando gratuita, puoi eseguire la migrazione dei dati da Redis a Redis Enterprise Cloud senza interruzioni del servizio o tempi di riposo.
Architettura
Il seguente diagramma mostra l'architettura di migrazione:
Nel diagramma, RIOT Live Migration Service viene utilizzato per eseguire la migrazione delle origini compatibili con Redis in Redis Enterprise Cloud.
L'architettura contiene i seguenti componenti:
- Origine: origini compatibili con Redis come Redis OSS, AWS ElastiCache e Azure Redis.
- Destinazione: Redis Enterprise Cloud in esecuzione in una VPC gestita da Redis.
- Servizio di migrazione: RIOT in esecuzione su macchine virtuali (VM) Compute Engine.
Prodotti utilizzati
Questa architettura di riferimento utilizza i seguenti prodotti Google Cloud e di terze parti:
- Compute Engine: un servizio di calcolo sicuro e personalizzabile che ti consente di creare ed eseguire VM sull'infrastruttura di Google.
- RIOT Live Migration: un'utilità a riga di comando gratuita progettata per aiutarti a inserire e estrarre dati da Redis.
- Redis Enterprise Cloud su Google Cloud: una soluzione Redis completamente gestita di livello enterprise che può aiutarti a supportare le tue applicazioni mission-critical.
Caso d'uso
Redis offre una latenza inferiore al millisecondo, il supporto di strutture di dati avanzate, la resilienza e la portabilità open source. Tuttavia, può essere difficile scalare le origini compatibili con Redis autogestite per soddisfare i carichi di lavoro esigenti delle imprese mantenendo latenze ultra-basse. Quando il deployment del cluster Redis autogestito non è più sufficiente, potresti riscontrare difficoltà di scalabilità. La progettazione di una soluzione a elevata disponibilità e la gestione della replica sono operazioni che richiedono tempo e sono soggette a errori. La scalabilità presenta anche sfide e costi logistici associati alla gestione dell'hardware, all'applicazione di patch e agli upgrade.
Per aiutarti a risolvere questi problemi, Redis Enterprise Cloud si integra completamente con Google Cloud per fornire un servizio di database in tempo reale per eseguire, scalare e gestire Redis. Redis Enterprise Cloud offre un nucleo open source, funzionalità e sicurezza di livello enterprise, prestazioni leader di mercato, scalabilità e disponibilità necessarie per le applicazioni business critical. Redis Enterprise Cloud offre una latenza inferiore al millisecondo, un failover di pochi secondi e un'uptime del 99, 9999%.
Alternative di design
RIOT fornisce una soluzione di migrazione flessibile in Redis e da Redis. Le seguenti sezioni presentano potenziali alternative di progettazione per questa architettura. Le alternative comportano un tempo di riposo o richiedono che il database di destinazione sia in un abbonamento Redis Flessibile (o annuale).
Snapshot RDB
Lo snapshot del database Redis (RDB) è un modo per mantenere i dati in Redis in uno spazio di archiviazione durevole. Esegue snapshot point-in-time del tuo set di dati ed è comunemente utilizzato per eseguire il backup dei dati in Redis. In alternativa all'utilizzo di RIOT per eseguire la migrazione, puoi utilizzare lo snapshot RDB per eseguire la migrazione da un'istanza Redis OSS a Redis Enterprise. Tuttavia, a differenza di RIOT, lo snapshot RDB non supporta la migrazione live e comporta un tempo di riposo.
Sincronizzazione con Active-Passive
Puoi utilizzare il comando ReplicaOf
Redis OSS per configurare un'istanza Redis come
una replica di un altro server Redis. Il comando viene utilizzato nel contesto della replica di Redis, che consente di creare copie dei dati in diverse istanze di Redis. Come RIOT, il comando ReplicaOf
supporta la migrazione live e non comporta tempo di inattività, ma è integrato in Redis OSS, quindi non è necessario installare alcuno strumento.
La distribuzione geografica Active-Passive di Redis Enterprise utilizza il comando ReplicaOf
per scalare un deployment di Redis in più località geografiche. Se il database di destinazione si trova in un
abbonamento flessibile (o annuale),
il comando può essere utilizzato anche per eseguire la migrazione dei dati da un database Redis agli abbonamenti Redis
Enterprise Cloud. Tuttavia, il comando non funziona se il target è un abbonamento fisso e non funziona tra abbonamenti flessibili di account Redis Cloud diversi.
Note sul layout
Le seguenti linee guida possono aiutarti a sviluppare un'architettura che soddisfi i requisiti della tua organizzazione in termini di affidabilità, costi e prestazioni.
Affidabilità
La migrazione in questa architettura è una migrazione unidirezionale da un'istanza Redis OSS di origine a un'istanza Redis Enterprise di destinazione. Dopo aver completato il passaggio da Redis OSS di origine al cluster Redis Enterprise di destinazione, la fonte non viene aggiornata con le modifiche al cluster di destinazione. Pertanto, se implementi questa architettura in un ambiente di produzione, non puoi passare le tue applicazioni a istanze di origine aggiornate in caso di fallback.
Ottimizzazione dei costi
Quando esegui la migrazione delle istanze Redis OSS a Redis Enterprise, ti consigliamo di agrupare i database Redis Enterprise di destinazione in abbonamenti in modo da poter ridurre il costo totale di proprietà utilizzando il multitenancy. Ad esempio, se hai un gruppo di database progettati per lo sviluppo e i test, puoi raggrupparli in un unico abbonamento perché condividono caratteristiche e requisiti di rete comuni. Analogamente, un gruppo di database per la produzione può essere ospitato su un abbonamento diverso.
Prestazioni
La migrazione live RIOT supporta tempi di inattività quasi nulli. Durante la migrazione dall'istanza OSS Redis di origine, le applicazioni possono comunque accedere all'istanza OSS Redis di origine senza alcun impatto. Durante il processo di migrazione, dopo il caricamento iniziale dei dati da Redis OSS, RIOT Live Migration continua a eseguire la migrazione delle modifiche da Redis OSS man mano che si verificano.
Dopo aver eseguito la migrazione dei dati delle coppie chiave-valore iniziali, esegui il passaggio dall'istanza Redis OSS di origine all'istanza Redis Enterprise di destinazione. Come parte della procedura di passaggio, sospendi le scritture del client nell'istanza OSS Redis di origine. Quindi, attendi che RIOT elabori le eventuali modifiche rimanenti dall'istanza Redis OSS di origine all'istanza Redis Enterprise di destinazione.
Deployment
Per eseguire il deployment di questa architettura, consulta Esegui il deployment di RIOT Live Migration per eseguire la migrazione da Redis open source a Redis Enterprise Cloud.
Passaggi successivi
- Leggi i contenuti sulla migrazione dei dati di Google Cloud.
- Per una documentazione e best practice più approfondite, consulta la documentazione di RIOT.
- Per altre architetture di riferimento, diagrammi e best practice, visita il Cloud Architecture Center.
Collaboratori
Autori:
- Saurabh Kumar | ISV Partner Engineer
- Gilbert Lau | Principal Cloud Architect, Redis
Altri collaboratori:
- Chris Mague | Customer Engineer, gestione dei dati
- Gabe Weiss | Developer Advocacy Manager
- Marco Ferrari | Cloud Solutions Architect