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 gestite in Google Cloud utilizzando il servizio di migrazione live Redis Input and Output Tool (RIOT). Questo documento è destinato agli architetti di database, agli amministratori e ai tecnici di database che vogliono eseguire la migrazione da origini compatibili con Redis a Redis Enterprise Cloud completamente gestito.
Redis Enterprise Cloud è una soluzione Redis di livello aziendale completamente gestita che può aiutarti a supportare le tue applicazioni mission-critical. Rispetto alle origini compatibili con Redis, offre livelli avanzati di scalabilità, disponibilità, sicurezza ed efficienza operativa. Utilizza RIOT, un'utilità gratuita a riga di comando, per eseguire la migrazione dei tuoi dati da Redis a Redis Enterprise Cloud senza interruzioni del servizio o tempi di inattività.
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 a Redis Enterprise Cloud.
L'architettura contiene i seguenti componenti:
- Fonte: origini compatibili con Redis come Redis OSS, AWS ElastiCache e Azure Redis.
- Destinazione: Redis Enterprise Cloud in esecuzione in un VPC gestito 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 trasferire dati da Redis.
- Redis Enterprise Cloud su Google Cloud: una soluzione Redis di livello aziendale completamente gestita che può aiutarti a supportare le tue applicazioni mission-critical.
Caso d'uso
Redis offre una latenza inferiore al millisecondo, supporto avanzato della struttura dei dati, resilienza e portabilità open source. Tuttavia, può essere difficile scalare origini autogestite compatibili con Redis per soddisfare i carichi di lavoro più impegnativi delle aziende mantenendo latenze molto basse. Se superi il limite di deployment del cluster Redis autogestito, la scalabilità potrebbe essere difficile. Progettare una soluzione ad alta disponibilità e gestire la replica è molto lungo e soggetto a errori. La scalabilità presenta anche sfide logistiche e costi associati a gestione, patch e upgrade dell'hardware.
Per aiutarti a risolvere queste sfide, Redis Enterprise Cloud si integra completamente con Google Cloud per fornire un servizio di database in tempo reale per l'esecuzione, la scalabilità e la gestione di Redis. Redis Enterprise Cloud offre funzionalità e sicurezza completamente di livello enterprise, core open source, prestazioni leader di mercato, scalabilità e disponibilità richieste dalle applicazioni business-critical. Redis Enterprise Cloud offre una latenza inferiore al millisecondo, failover in secondi a una cifra e un tempo di attività di cinque nove.
Progettare alternative
RIOT offre una soluzione flessibile per la migrazione da e verso Redis. Le seguenti sezioni presentano potenziali alternative di progettazione per questa architettura. Le alternative comportano tempi di inattività o richiedono che il database di destinazione sia in un abbonamento flessibile (o annuale) Redis.
Snapshot RDB
Lo istantanea di Redis Database (RDB) è un modo per mantenere i dati in Redis in un ambiente di archiviazione durevole. Esegue snapshot point-in-time del set di dati ed è comunemente usato 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 del sistema operativo Redis a Redis Enterprise. Tuttavia, a differenza di RIOT, lo snapshot RDB non supporta la migrazione live e prevede tempi di inattività.
Sincronizza con Active-Passive
Puoi utilizzare il comando Redis OSS ReplicaOf
per configurare un'istanza Redis come replica di un altro server Redis. Il comando viene utilizzato nel contesto della replica Redis, che consente di creare copie dei dati in diverse istanze Redis. Come RIOT, il comando ReplicaOf
supporta la migrazione live e non comporta tempi di inattività, ma è integrato in Redis OSS, quindi non è necessario installare alcun strumento.
La distribuzione geografica Active-Passive di Redis Enterprise utilizza il comando ReplicaOf
per scalare un deployment Redis in più località geografiche. Se il database di destinazione è associato a un abbonamento flessibile (o annuale), il comando può essere utilizzato anche per la migrazione dei dati da un database Redis agli abbonamenti a Redis Enterprise Cloud. Tuttavia, il comando non funziona se la destinazione è una sottoscrizione fissa e non funziona tra abbonamenti flessibili di diversi account Redis Cloud.
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. Una volta completata il cutover dal OSS Redis di origine al cluster Redis Enterprise di destinazione, l'origine non viene aggiornata con le modifiche al cluster di destinazione. Di conseguenza, se implementi questa architettura in un ambiente di produzione, non puoi impostare le tue applicazioni sulle istanze di origine aggiornate in un fallback.
Ottimizzazione dei costi
Quando esegui la migrazione delle istanze Redis OSS a Redis Enterprise, ti consigliamo di raggruppare i database Redis Enterprise di destinazione in abbonamenti in modo da poter ridurre il costo totale di proprietà utilizzando la multitenancy. Ad esempio, se hai un gruppo di database progettati per lo sviluppo e il test, puoi raggrupparli in un'unica sottoscrizione 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à prossimi allo zero. Durante la migrazione dall'istanza Redis OSS di origine, le tue applicazioni possono comunque accedere all'istanza Redis OSS 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.
Una volta eseguita la migrazione dei dati delle coppie chiave-valore iniziali, esegui il cutover dall'istanza Redis OSS di origine all'istanza Redis Enterprise di destinazione. Nell'ambito del processo del cutover, sospendi le scritture del client nell'istanza Redis OSS di origine. Attendi quindi 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 Eseguire il deployment di RIOT Live Migration per eseguire la migrazione da Redis Open Source a Redis Enterprise Cloud.
Passaggi successivi
- Leggi Contenuti sulla migrazione dei dati di Google Cloud.
- Per una documentazione più approfondita e best practice, consulta la documentazione RIOT.
- Per altre architetture di riferimento, diagrammi e best practice, esplora il Cloud Architecture Center.
Collaboratori
Autori:
- Saurabh Kumar | Partner Engineer ISV
- Gilbert Lau | Principal Cloud Architect, Redis
Altri collaboratori:
- Chris Mague | Customer Engineer, gestione dei dati
- Gabe Weiss | Responsabile del supporto per gli sviluppatori
- Marco Ferrari | Cloud Solutions Architect