Questo documento fornisce una panoramica dei deployment e delle migrazioni di Redis a Google Cloud, incluse le opzioni e i vantaggi e svantaggi del deployment di Redis su diversi servizi, in base ai tuoi requisiti.
Redis è un archivio di strutture di dati in memoria che puoi utilizzare come database, cache, broker di messaggi e altro ancora. Google Cloud supporta completamente Redis, tra cui quanto segue:
Opzioni completamente gestite fornite da Memorystore e Redis Ltd.
Opzioni con gestione indipendente che utilizzano i seguenti prodotti:
Il modo migliore per eseguire il deployment di Redis su Google Cloud dipende dalle tue esigenze e dai tuoi requisiti specifici. I consigli forniti in questa guida si basano su considerazioni e best practice generali. È importante analizzare attentamente il tuo workload Redis e consultare la documentazione ufficiale o chiedere consiglio a un professionista per casi d'uso o requisiti specifici.
Architetture
Puoi eseguire il deployment di Redis utilizzando una delle seguenti architetture:
Architettura | Descrizione | Caso d'uso | Opzioni di deployment | Alta affidabilità | Throughput di lettura | Throughput di scrittura |
---|---|---|---|---|---|---|
Standard (autonomo) | Un singolo nodo Redis, senza repliche di lettura e non con alta affidabilità. | Casi in cui tutti i dati possono essere memorizzati su un singolo nodo, il throughput di scrittura e lettura può essere gestito da un nodo e l'alta affidabilità non è richiesta. | Supportato su Memorystore (completamente gestito) e su software open source (OSS) Redis (con gestione indipendente). La gestione indipendente richiede una configurazione più complessa. Memorystore è una buona opzione per iniziare rapidamente. |
No | Nodo singolo | Nodo singolo |
Alta affidabilità e/o repliche di lettura | Un singolo nodo Redis per le operazioni di scrittura, con nodi aggiuntivi per fornire alta affidabilità e, facoltativamente, condividere il carico di lettura, ad esempio utilizzando Sentinel. | Casi in cui il throughput di scrittura può essere ancora gestito da un nodo, ma il throughput di lettura non può essere gestito da un solo nodo oppure è richiesta alta affidabilità. | Supportato su Memorystore (completamente gestito) e Redis OSS (gestione indipendente). Le architetture Redis Cluster offrono scalabilità automatica, alta affidabilità e sharding dei dati, ideali per applicazioni distribuite su larga scala. Per comprendere i pro e i contro e le attività di manutenzione richieste per la scalabilità manuale, il clustering e lo sharding, consulta Scalabilità senza tempi di inattività in Memorystore for Redis Cluster. La gestione indipendente richiede una configurazione più complessa. Memorystore è una buona opzione per iniziare rapidamente. |
Multi-AZ | Multinodo | Nodo singolo |
Cluster (senza proxy) | Diversi nodi suddividono le operazioni di scrittura dei dati con shard di dati separati. È possibile aggiungere facoltativamente l'alta affidabilità e le repliche di lettura. | Casi in cui il throughput di scrittura non può essere gestito da un nodo e l'alta affidabilità o la replica di lettura sono facoltativamente richieste. | Multi-AZ | Multinodo | Multinodo | |
Cluster (con proxy) | Diversi nodi suddividono le operazioni di scrittura dei dati con shard di dati separati. È possibile aggiungere facoltativamente l'alta affidabilità e le repliche di lettura. Viene eseguito il deployment dei proxy su ogni nodo principale. | Casi in cui il throughput in scrittura non può essere gestito da un nodo e l'alta affidabilità o la replica di lettura è richiesta in modo facoltativo, nonché i casi in cui è troppo costoso o poco conveniente da parte delle applicazioni client da rifattorizzare utilizzare l'API Redis Cluster o l'uso di proxy offre altri vantaggi. | Supportato da Redis Enterprise Cloud (completamente gestito) o software Redis Enterprise (con gestione indipendente). L'autogestione con Redis OSS richiede una configurazione più complessa. Redis Enterprise Cloud è una buona opzione per iniziare rapidamente. |
Multi-AZ o multi-regione (solo Redis Enterprise) | Multinodo | Nodo singolo |
Opzioni di deployment
Google Cloud offre le seguenti opzioni di deployment di Redis:
- Memorystore for Redis completamente gestito da Google Cloud: un servizio Redis completamente gestito, altamente affidabile e durabile gestito da Google, che è economicamente vantaggioso e veloce da configurare, utilizzare e scalare. Memorystore supporta sia Redis Cluster sia Redis autonomo con alta affidabilità facoltativa.
- Redis Enterprise con gestione indipendente o completamente gestito di Redis Ltd.: Un cluster Redis ad alta affidabilità e durevole concesso in licenza da Redis Ltd. e con due opzioni di gestione: gestito da Redis Ltd. ("Redis Enterprise Cloud") o con gestione indipendente ("Redis Enterprise Software") con l'assistenza di Redis Ltd. Puoi acquistare Redis Enterprise direttamente da Redis Ltd. o tramite Google Cloud Marketplace. Redis Ltd. supporta i deployment su Compute Engine, Google Kubernetes Engine e OpenShift.
- Software open source (OSS) Redis con gestione indipendente: un cluster Redis con gestione indipendente o Redis autonomo con alta affidabilità facoltativa, di cui è possibile eseguire il deployment su Compute Engine, Google Kubernetes Engine o OpenShift.
Scegli un'opzione di deployment di Redis
Questa sezione descrive come scegliere l'opzione di deployment di Redis più adatta al tuo workload. La figura 1 fornisce una panoramica visiva dei punti di decisione:
Scegli un modello di gestione di Redis
Puoi scegliere uno dei seguenti modelli di gestione:
Deployment completamente gestito. Trasferisci le operazioni di deployment e gestione al fornitore di servizi. Scegli questo modello quando devi concentrarti sulla creazione della tua app e trasferire le attività di gestione.
Deployment con gestione indipendente. Sei responsabile delle operazioni di deployment e gestione. Scegli questo modello se una delle seguenti condizioni è true:
Hai già un'economia di scala operativa e la gestione e l'utilizzo di Redis ha senso dal punto di vista economico per la tua organizzazione.
Hai una preferenza strategica per la dipendenza solo da IaaS.
Hai bisogno di ottimizzazioni avanzate.
Valuta le opzioni di deployment
Dopo aver scelto il modello di gestione, valuta le opzioni di deployment a tua disposizione.
Opzioni completamente gestite
Per i deployment completamente gestiti, puoi utilizzare Memorystore o Redis Enterprise Cloud.
Memorystore
Scegli Memorystore se una delle seguenti condizioni è true:
- Hai la preferenza di consolidare il supporto del software gestito con Google Cloud.
- Hai una preferenza per l'ottimizzazione per l'integrazione con costrutti Google Cloud come Identity and Access Management, API, policy dell'organizzazione, quote o Cloud Asset Inventory.
- Hai bisogno di funzionalità specifiche disponibili solo in Memorystore (ad es. riduzione del numero).
Per ulteriori informazioni su Memorystore, consulta la documentazione del prodotto Memorystore.
Opzioni di deployment
- Memorystore for Redis (autonomo, alta affidabilità)
- Memorystore for Redis Cluster (cluster, alta affidabilità)
Redis Enterprise Cloud
Scegli Redis Enterprise Cloud se una delle seguenti condizioni è true:
- Hai bisogno di funzionalità specifiche disponibili solo in Redis Enterprise Cloud (ad esempio, scritture multi-primarie di tipo attivo-attivo tra regioni con il relativo SLA del 99,999%, caso d'uso RedisSearch).
- Hai bisogno della scalabilità dei cluster per un'applicazione che non supporta l'API Redis Cluster.
Per ulteriori informazioni su Redis Enterprise Cloud, consulta la documentazione di Redis Cloud.
Opzioni di approvvigionamento e fatturazione
Opzioni di gestione indipendente
Per i deployment con gestione indipendente, puoi scegliere tra Redis Enterprise e il software open source Redis.
Redis Enterprise
Scegli Redis Enterprise con gestione indipendente se una delle seguenti condizioni è true:
- La tua applicazione richiede funzionalità uniche, come il re-sharding automatico per lo scale out, Redis on Flash o Redis Enterprise Operator per Kubernetes.
- Il tuo team operativo non dispone delle competenze necessarie per gestire internamente problemi Redis complessi senza il supporto di terze parti qualificate.
- Preferisci il supporto per le aziende fornito da Redis Ltd. e i costi di licenza associati sono gestibili dalla tua organizzazione.
Per ulteriori informazioni sul software Redis Enterprise, consulta la documentazione del software Redis Enterprise.
Opzioni di deployment
- Software Redis Enterprise con gestione indipendente su GKE o OpenShift, con l'utilizzo facoltativo del Redis Enterprise Operator per Kubernetes
- Software Redis Enterprise con gestione indipendente su Compute Engine
Opzioni di approvvigionamento e fatturazione
- Licenza e assistenza fatturate da Redis Inc., mentre l'infrastruttura è fatturata da Google.
- La licenza e il supporto vengono acquistati tramite Google Cloud Marketplace, mentre l'infrastruttura viene fatturata da Google.
Software open source Redis
Scegli il software open source Redis con gestione indipendente se una delle seguenti condizioni è true:
- Hai la necessità o una preferenza per una personalizzazione completa altrimenti non possibile.
- Il tuo team operativo dispone delle competenze necessarie per gestire internamente problemi Redis complessi senza il supporto di terze parti qualificate.
- Vuoi evitare i costi di licenza.
- Disponi di ampie risorse interne per l'ottimizzazione del kernel Redis e Linux oppure il tuo caso d'uso non richiede l'ottimizzazione.
Quando esegui il deployment del software open source Redis autogestito, scegli un target di deployment in base alla strategia basata sulla piattaforma scelta. Il software open source Redis può essere sottoposto a deployment su Compute Engine, Google Kubernetes Engine o OpenShift. GKE Autopilot può ridurre le operazioni di deployment e gestione, ma potrebbe essere più limitato, ad esempio per la difficoltà di fare lo scale in.
Per ulteriori informazioni sul software open source Redis, visita la pagina Redis.io.
Risorse aggiuntive
Confronto delle funzioni
La seguente tabella riassume le principali differenze tra tutte le opzioni di deployment:
Caratteristiche del deployment | Opzioni di deployment | |||
---|---|---|---|---|
Memorystore for Redis e Redis Cluster | Redis Enterprise Cloud | Software Redis Enterprise | Software open source Redis | |
Gestito da | Completamente gestito da Google | Completamente gestito da Redis Ltd. | Con gestione indipendente | Con gestione indipendente |
Supportato da | Redis Ltd. | Redis Ltd. | Con supporto indipendente | |
Fatturato da | Redis Ltd. o Google | L'infrastruttura è fatturata da Google. La licenza e l'assistenza di Redis Ltd. vengono fatturate da Redis Ltd. o Google. |
||
Elementi di costo | Tutti i costi inclusi. Sono inclusi: costi di infrastruttura, licenze, assistenza e gestione. Per ulteriori informazioni, consulta la pagina Prezzi di Memorystore. |
Tutti i costi inclusi. Sono inclusi: costi di infrastruttura, licenze, assistenza e gestione. Per maggiori informazioni, consulta Prezzi di Redis Enterprise Cloud. |
I costi di licenza e assistenza del software sono inclusi. L'utilizzo dell'infrastruttura viene fatturato separatamente da Google Cloud. I costi di gestione, tra cui deployment, ottimizzazione, personale e tempo di inattività, sono a carico del cliente. Per ulteriori informazioni, consulta Prezzi del software Redis Enterprise. |
Nessuna tariffa di servizio o per la licenza. Utilizzo dell'infrastruttura fatturato da Google Cloud. I costi di gestione, tra cui deployment, ottimizzazione, personale e tempo di inattività, sono a carico del cliente. |
SLA |
Per ulteriori informazioni, consulta l'Accordo sul livello del servizio Memorystore. |
Per ulteriori informazioni, consulta l'Accordo sul livello del servizio Redis Cloud. |
Non applicabile. Sei responsabile del tempo di attività. |
Non applicabile. Sei responsabile del tempo di attività. |
Livello gratuito | No | Sì | Prova senza costi di 30 giorni | Non applicabile |
Tiering dei dati | No | Tiering automatico | Tiering automatico | No |
Multi-cloud | No | Sì | Manualmente | Possibile, ma richiede un impegno elevato |
Di tipo attivo-attivo multi-regione | No | Sì | Manualmente | Possibile, ma richiede un impegno elevato |
Moduli |
|
|
||
Conformità | Supporto integrato per i diversi regimi di conformità. Per ulteriori informazioni, consulta la sezione Offerte relative alla conformità. | Supporto integrato per i diversi regimi di conformità. Per saperne di più, consulta il Redis Trust Center. | Supporto integrato per i diversi regimi di conformità. Per saperne di più, consulta il Redis Trust Center. | È necessaria la gestione manuale della conformità. Per ulteriori informazioni, consulta la sezione Offerte relative alla conformità. |
Scalabilità delle scritture del cluster | Fa lo scale in e lo scale out | Fa lo scale in e lo scale out | Fa lo scale out. Lo scale in richiede un intervento manuale. | Con gestione indipendente, richiede intervento manuale. |
Ribilanciamento automatico | Sì | Sì | Con gestione indipendente, richiede intervento manuale | Con gestione indipendente, richiede intervento manuale |
Aggiunta dell'alta affidabilità | Senza interruzioni, non è necessario rieseguire il deployment | Senza interruzioni, non è necessario rieseguire il deployment | Non è necessario rieseguire il deployment, ma è richiesta un'azione manuale | Richiede un notevole impegno manuale. Potrebbe essere necessario rieseguire il deployment in base all'architettura originale |
Aggiunta di repliche di lettura | Senza interruzioni, non è necessario rieseguire il deployment | Senza interruzioni, non è necessario rieseguire il deployment | Richiede un notevole impegno manuale. Potrebbe essere necessario rieseguire il deployment in base all'architettura originale | Con gestione indipendente, richiede intervento manuale |
Passaggio a un cluster Redis con dati sottoposti a sharding quando il throughput di scrittura non è più sufficiente | Richiede di rieseguire il deployment, ma vengono forniti gli strumenti per semplificare l'operazione. I client devono essere sottoposti a refactoring per supportare l'API Redis Cluster. | Senza interruzioni, non è necessario rieseguire il deployment | Senza interruzioni, non è necessario rieseguire il deployment | Con gestione indipendente, richiede intervento manuale |