Questo documento fornisce una panoramica dei deployment e delle migrazioni Redis in Google Cloud, incluse le opzioni e i compromessi per il deployment di Redis su servizi diversi, 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:
Opzioni completamente gestite fornite da Memorystore e Redis Ltd.
Opzioni autogestite 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 best practice e considerazioni generali. È importante analizzare a fondo il carico di lavoro Redis e consultare la documentazione ufficiale o richiedere una consulenza professionale 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 relative al deployment | Alta disponibilità | Velocità effettiva di lettura | Velocità effettiva di scrittura |
---|---|---|---|---|---|---|
Standard (autonomo) | Un singolo nodo Redis, senza repliche di lettura e senza alta disponibilità. | Casi in cui tutti i dati rientrano in un solo nodo, la velocità effettiva di scrittura e lettura può essere gestita da un nodo e non è richiesta un'alta disponibilità. | Supportato su Memorystore (completamente gestito) e sul software open source Redis (OSS) (autogestito). L'autogestione richiede una configurazione più complessa. Memorystore è una buona opzione per iniziare rapidamente. |
No | Nodo singolo | Nodo singolo |
Repliche ad alta disponibilità e/o di lettura | Un singolo nodo Redis per le operazioni di scrittura, con nodi aggiuntivi per fornire alta disponibilità e, facoltativamente, condividere il carico di lettura, ad esempio utilizzando Sentinel. | Casi in cui la velocità effettiva di scrittura può comunque essere gestita da un nodo, ma o la velocità effettiva di lettura non può essere gestita da un nodo oppure è richiesta un'alta disponibilità. | Supportato su Memorystore (completamente gestito) e Redis OSS (autogestito). Le architetture dei cluster Redis offrono scalabilità automatica, disponibilità elevata e sharding dei dati, ideali per applicazioni distribuite su larga scala. Per comprendere i compromessi e le attività di manutenzione richieste per la scalabilità manuale, il clustering e lo sharding, consulta la pagina relativa alla scalabilità senza tempi di inattività nel cluster Memorystore for Redis. L'autogestione 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. In via facoltativa, puoi aggiungere repliche di alta disponibilità e lettura. | Casi in cui la velocità effettiva di scrittura non può essere gestita da un nodo ed è facoltativamente richiesta l'alta disponibilità o la replica di lettura. | Multi-AZ | Multinodo | Multinodo | |
Cluster (con proxy) | Diversi nodi suddividono le operazioni di scrittura dei dati con shard di dati separati. In via facoltativa, puoi aggiungere repliche di alta disponibilità e lettura. Viene eseguito il deployment dei proxy su ciascun nodo primario. | Casi in cui la velocità effettiva di scrittura non può essere gestita da un nodo ed è richiesta un'alta disponibilità o la replica di lettura, e in cui è troppo costoso o sconveniente per l'utilizzo dell'API Redis Cluster per le applicazioni client oppure l'uso di proxy offre altri vantaggi. | Supportato da Redis Enterprise Cloud (completamente gestito) o dal software Redis Enterprise (autogestito). La gestione autonoma con Redis OSS richiede una configurazione più complessa. Redis Enterprise Cloud è una buona opzione per iniziare rapidamente. |
Più regioni (AZ) o più regioni (solo Redis Enterprise) | Multinodo | Nodo singolo |
Opzioni di relative al deployment
Google Cloud offre le seguenti opzioni di deployment Redis:
- Memorystore for Redis completamente gestito di Google Cloud: un servizio Redis completamente gestito, ad alta disponibilità e durevole gestito da Google, conveniente e veloce da configurare, operare e scalare. Memorystore supporta sia Cluster Redis sia Redis autonomo con alta disponibilità facoltativa.
- Redis Enterprise autonomo o completamente gestito di Redis Ltd.: Un cluster Redis a disponibilità elevata e durevole concesso in licenza da Redis Ltd. e con due opzioni di gestione: gestito da Redis Ltd. ("Redis Enterprise Cloud") o autogestito ("Redis Enterprise Software") con il supporto di Redis Ltd.. Puoi acquistare Redis Enterprise direttamente da Redis Ltd. o tramite Google Cloud Marketplace. Redis Ltd. supporta deployment su Compute Engine , Google Kubernetes Engine e OpenShift.
- Software open source Redis (OSS) autogestito: un cluster Redis autogestito o Redis autonomo con alta disponibilità facoltativa, di cui è possibile eseguire il deployment su Compute Engine, Google Kubernetes Engine o OpenShift.
Scegli un'opzione di deployment Redis
Questa sezione descrive come scegliere l'opzione di deployment Redis più adatta al tuo carico di lavoro. La Figura 1 fornisce una panoramica visiva dei punti decisionali:
Scegli un modello di gestione Redis
Puoi scegliere tra uno dei seguenti modelli di gestione:
Deployment completamente gestito. Puoi trasferire le operazioni di deployment e gestione al provider di servizi. Scegli questo modello se devi concentrarti sulla creazione dell'app e sulle attività di gestione.
Deployment autonomo. Sei responsabile delle operazioni di deployment e gestione. Scegli questo modello se una delle seguenti condizioni è vera:
Disponi di un'economia operativa di scala esistente, e gestire e utilizzare Redis è economicamente conveniente nella tua organizzazione.
Hai una preferenza strategica per la dipendenza solo IaaS.
Sono necessarie 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 deployment completamente gestiti, puoi utilizzare Memorystore o Redis Enterprise Cloud.
Memorystore
Scegli Memorystore se una delle seguenti condizioni è vera:
- Hai una preferenza per consolidare il supporto del software gestito con Google Cloud.
- Hai una preferenza per l'ottimizzazione per l'integrazione con costruzioni Google Cloud come Identity and Access Management, API, criteri dell'organizzazione, quota o Cloud Asset Inventory.
- Hai bisogno di funzionalità specifiche disponibili solo in Memorystore (ad es.lo scale back-in).
Per ulteriori informazioni su Memorystore, consulta la documentazione del prodotto Memorystore.
Opzioni di relative al deployment
- Memorystore per Redis (autonomo, ad alta disponibilità)
- Memorystore per cluster Redis (cluster, ad alta disponibilità)
Redis Enterprise Cloud
Scegli Redis Enterprise Cloud se una delle seguenti condizioni è vera:
- Hai bisogno di funzionalità specifiche disponibili solo in Redis Enterprise Cloud (ad esempio, scritture multi-primarie attive-attive tra regioni con 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 autogestite
Per i deployment autogestiti, puoi scegliere tra Redis Enterprise e il software open source Redis.
Redis Enterprise
Scegli Redis Enterprise autogestito se una delle seguenti condizioni è vera:
- La tua applicazione richiede le sue funzionalità esclusive, come il ri-sharding automatico per lo scale out, Redis su Flash o Redis Enterprise Operator per Kubernetes.
- Il tuo team operativo non dispone delle competenze necessarie per gestire internamente problemi Redis complessi senza un'assistenza qualificata di terze parti.
- Preferisci l'assistenza per le aziende fornita da Redis Ltd., in quanto i costi delle licenze associati sono gestibili dalla tua organizzazione.
Per ulteriori informazioni sul software Redis Enterprise, consulta la documentazione del software Redis Enterprise.
Opzioni di relative al deployment
- Software Redis Enterprise autogestito su GKE o OpenShift, con utilizzo facoltativo dell'operatore Redis Enterprise per Kubernetes
- Software Redis Enterprise autogestito su Compute Engine
Opzioni di approvvigionamento e fatturazione
- Licenza e assistenza fatturati da Redis Inc., mentre l'infrastruttura è fatturata da Google.
- La licenza e l'assistenza vengono acquistate tramite Google Cloud Marketplace, mentre l'infrastruttura è fatturata da Google.
Software open source Redis
Scegli un software open source Redis autogestito se una delle seguenti condizioni è vera:
- Hai bisogno o hai una preferenza per una personalizzazione completa, altrimenti non possibile.
- Il tuo team operativo dispone delle competenze necessarie per gestire internamente problemi complessi di Redis senza assistenza qualificata di terze parti.
- Vuoi evitare i costi di licenza.
- Hai risorse di ottimizzazione del kernel Redis e Linux interne oppure il tuo caso d'uso non richiede l'ottimizzazione.
Quando esegui il deployment di software open source Redis autogestito, scegli un target di deployment in base alla strategia di piattaforma scelta. Il software open source Redis è di cui è possibile eseguire il deployment su Compute Engine, Google Kubernetes Engine o OpenShift. GKE Autopilot può ridurre gli sforzi di deployment e gestione, ma potrebbe essere più limitato, ad esempio rendendo più difficile lo fare lo scale in.
Per maggiori informazioni sul software open source Redis, consulta Redis.io.
Risorse aggiuntive
Confronto delle funzionalità
La seguente tabella riassume le principali differenze tra tutte le opzioni di deployment:
Caratteristiche del deployment | Opzioni di relative al deployment | |||
---|---|---|---|---|
Memorystore per Redis e cluster Redis | Redis Enterprise Cloud | Software Redis Enterprise | Software open source Redis | |
Gestito da | Completamente gestito da Google | Completamente gestito da Redis Ltd. | Gestione indipendente | Gestione indipendente |
Supportata da | Redis Ltd. | Redis Ltd. | Auto-supportata | |
Fatturato da | Redis Ltd. o Google | La fatturazione dell'infrastruttura è gestita da Google. La licenza e l'assistenza di Redis Ltd. sono fatturate da Redis Ltd. o Google. |
||
Elementi di costo | Tutti i costi sono inclusi. Include: costi di infrastruttura, licenze, assistenza e gestione. Per maggiori informazioni, consulta la sezione Prezzi di Memorystore. |
Tutti i costi sono inclusi. Include: costi di infrastruttura, licenze, assistenza e gestione. Per maggiori informazioni, consulta la pagina relativa ai prezzi di Redis Enterprise Cloud. |
I costi relativi a licenza software e assistenza sono inclusi. L'utilizzo dell'infrastruttura è fatturato separatamente da Google Cloud. I costi di gestione, inclusi deployment, ottimizzazione, personale e tempi di inattività, vengono assorbiti dal cliente. Per maggiori informazioni, consulta la pagina relativa ai prezzi di Redis Enterprise Software. |
Nessun costo di servizio o licenza. Utilizzo dell'infrastruttura fatturato da Google Cloud. I costi di gestione, inclusi deployment, ottimizzazione, personale e tempi di inattività, vengono assorbiti dal cliente. |
SLA |
Per maggiori informazioni, consulta l'accordo sul livello del servizio di Memorystore. |
Per maggiori informazioni, consulta l'Accordo sul livello del servizio di Redis Cloud. |
Non applicabile. Sei responsabile dell'uptime. |
Non applicabile. Sei responsabile dell'uptime. |
Livello gratuito | No | Sì | Prova gratuita di 30 giorni | Non applicabile |
Livelli di dati | No | Livelli automatici | Livelli automatici | No |
Multi-cloud | No | Sì | Manualmente | Possibile, ma richiede un impegno elevato |
Active-active per più regioni | No | Yes | Manualmente | Possibile, ma richiede un impegno elevato |
Moduli |
|
|
||
Conformità | Supporto integrato per i diversi regimi di conformità. Per saperne di più, consulta la sezione Offerte relative alla conformità. | Supporto integrato per i diversi regimi di conformità. Per ulteriori informazioni, consulta il Centro affidabilità di Redis. | Supporto integrato per i diversi regimi di conformità. Per ulteriori informazioni, consulta il Centro affidabilità di Redis. | La gestione manuale della conformità è obbligatoria. Per saperne di più, consulta la sezione Offerte relative alla conformità. |
Scalabilità delle scritture del cluster | Scale in e scale out | Scale in e scale out | Scale out. La scalabilità richiede sforzi manuali. | Gestione autonoma, richiede sforzi manuali. |
Ribilanciamento automatico | Sì | Sì | Gestione autonoma, richiede sforzi manuali | Gestione autonoma, richiede sforzi manuali |
Aggiungere l'alta disponibilità | Facile, non è necessario un nuovo deployment | Facile, non è necessario un nuovo deployment | Non è necessario ripetere il deployment, ma richiede sforzi manuali | Richiede un impegno manuale sostanziale; potrebbe essere necessario un redeployment a seconda dell'architettura originale |
Aggiunta di repliche di lettura | Facile, non è necessario un nuovo deployment | Facile, non è necessario un nuovo deployment | Richiede un impegno manuale sostanziale; potrebbe essere necessario un redeployment a seconda dell'architettura originale | Gestione autonoma, richiede sforzi manuali |
Spostamento a un cluster Redis con suddivisione dei dati quando si supera la velocità effettiva di scrittura | Richiede una nuova implementazione, ma vengono forniti strumenti per facilitare lo sforzo. È necessario eseguire il refactoring dei client per supportare l'API Redis Cluster. | Facile, non è necessario un nuovo deployment | Facile, non è necessario un nuovo deployment | Gestione autonoma, richiede sforzi manuali |