Options de déploiement de Redis sur Google Cloud


Ce document présente les déploiements Redis et les migrations vers Google Cloud, dont les différentes options de déploiement ainsi que les compromis permettant de déployer Redis sur différents services, selon vos besoins.

Redis est un magasin de structures de données en mémoire, que vous pouvez utiliser comme base de données, cache, courtier de messages, etc. Google Cloud est entièrement compatible avec Redis, y compris avec les déclinaisons suivantes :

Il n'y a pas une meilleure façon de déployer Redis sur Google Cloud : tout dépend de vos besoins et de vos exigences. Les recommandations fournies dans ce guide sont basées sur des bonnes pratiques et des considérations d'ordre général. Il est important d'analyser en détail votre charge de travail Redis et de consulter la documentation officielle, ou de solliciter des conseils professionnels pour des cas d'utilisation ou des exigences spécifiques.

Architectures

Vous pouvez déployer Redis en utilisant l'une des architectures suivantes :

Architecture Description Cas d'utilisation Options de déploiement Haute disponibilité Débit en lecture Débit en écriture
Standard (autonome) Un seul nœud Redis, sans instance répliquée avec accès en lecture ni haute disponibilité. Correspond aux cas où toutes les données tiennent sur un seul nœud, les débits en écriture et en lecture pouvant être gérés par un seul nœud, et où la haute disponibilité n'est pas requise.

Compatible avec Memorystore (entièrement géré) et le logiciel Open Source (OSS) Redis (autogéré).

L'autogestion nécessite une configuration plus complexe. Memorystore est un bon moyen pour démarrer rapidement.

Non Nœud unique Nœud unique
Haute disponibilité et/ou instances répliquées avec accès en lecture Un seul nœud Redis pour les opérations d'écriture, avec des nœuds supplémentaires pour fournir une haute disponibilité et potentiellement partager la charge de lecture, par exemple à l'aide de Sentinel. Correspond aux cas où le débit en écriture peut toujours être géré par un seul nœud, mais où le débit en lecture ne peut pas être géré par un seul nœud, ou bien où une haute disponibilité est requise.

Compatible avec Memorystore (entièrement géré) et l'OSS Redis (autogéré).

Les architectures Redis Cluster offrent un scaling automatisé, une haute disponibilité et la segmentation des données, ce qui est idéal pour les applications distribuées à grande échelle. Pour connaître les compromis à faire et les efforts de maintenance associés au scaling manuel, au clustering et à la segmentation, consultez la page Scaling sans temps d'arrêt dans Memorystore for Redis Cluster.

L'autogestion nécessite une configuration plus complexe. Memorystore est un bon moyen pour démarrer rapidement.

Multi-AZ (plusieurs zones de disponibilité) Multi-nœuds Nœud unique
Cluster (sans proxys) Plusieurs nœuds permettent de diviser les opérations d'écriture de données, avec des segments de données distincts. Vous pouvez éventuellement y ajouter la haute disponibilité et des instances répliquées avec accès en lecture. Correspond aux cas où le débit en écriture ne peut pas être géré par un seul nœud, et où une haute disponibilité ou une réplication en lecture sont éventuellement requises. Multi-AZ Multi-nœuds Multi-nœuds
Cluster (avec proxys) Plusieurs nœuds permettent de diviser les opérations d'écriture de données, avec des segments de données distincts. Vous pouvez éventuellement y ajouter la haute disponibilité et des instances répliquées avec accès en lecture. Des proxys sont déployés sur chaque nœud principal. Correspond aux cas où le débit en écriture ne peut pas être géré par un seul nœud, et où une haute disponibilité ou une réplication en lecture sont éventuellement requises. Correspond aussi aux cas où la refactorisation des applications clientes, en vue d'utiliser l'API Redis Cluster, se révèle trop coûteuse ou peu pratique, ou aux cas où l'utilisation de proxys présente d'autres avantages.

Compatible avec Redis Enterprise dans sa version cloud (service entièrement géré) ou logicielle (service autogéré).

L'autogestion avec l'OSS Redis nécessite une configuration plus complexe. Le cloud Redis Enterprise est une bonne option pour démarrer rapidement.

Multi-AZ ou multirégion (Redis Enterprise uniquement) Multi-nœuds Nœud unique

Options de déploiement

Google Cloud propose les options de déploiement Redis suivantes :

  • Memorystore pour Redis entièrement géré par Google Cloud : service Redis entièrement géré, à disponibilité élevée et durable, géré par Google. Il est économique et sa configuration, son utilisation et l'application d'un processus de scaling s'effectuent rapidement. Memorystore est compatible avec Redis Cluster et Redis dans sa configuration autonome, avec possibilité d'opter pour une haute disponibilité.
  • Redis Enterprise autogéré ou entièrement géré par Redis Ltd. : Cluster Redis haute disponibilité et durable sous licence Redis Ltd., avec deux options de gestion : géré par Redis Ltd. (cloud Redis Enterprise) ou autogéré (logiciel Redis Enterprise) avec l'assistance de Redis Ltd. Vous pouvez vous procurer Redis Enterprise directement auprès de Redis Ltd. ou via Google Cloud Marketplace. Redis Ltd. accepte les déploiements sur Compute Engine, Google Kubernetes Engine et OpenShift.
  • Logiciel Open Source (OSS) Redis autogéré : un cluster Redis autogéré ou un service Redis autonome avec possibilité d'opter pour une haute disponibilité, déployable sur Compute Engine, Google Kubernetes Engine ou OpenShift.

Choisir une option de déploiement Redis

Cette section explique comment choisir l'option de déploiement Redis la mieux adaptée à votre charge de travail. La Figure 1 fournit une synthèse visuelle des points de décision :

Arbre de décision concernant les options de déploiement Redis.
Figure 1 : Facteurs de décision et options de déploiement.

Choisir un modèle de gestion Redis

Vous avez le choix entre les modèles de gestion suivants :

  • Déploiement entièrement géré. Vous confiez les opérations de déploiement et de gestion au fournisseur de services. Choisissez ce modèle lorsque vous devez vous concentrer sur la création de votre application et que vous souhaitez vous décharger des tâches de gestion.

  • Déploiement autogéré. Vous êtes responsable des opérations de déploiement et de gestion. Choisissez ce modèle si l'une des conditions suivantes est remplie :

    • Vous disposez déjà d'un système opérationnel d'économie d'échelle, et le fait d'assurer la gestion et l'exploitation de Redis font sens au sein de votre organisation sur le plan économique.

    • Vous avez une préférence stratégique pour une dépendance portant exclusivement sur l'infrastructure (IaaS).

    • Vous avez besoin d'optimisations avancées.

Évaluer les options de déploiement

Une fois que vous avez choisi votre modèle de gestion, évaluez les options de déploiement disponibles.

Options entièrement gérées

Pour les déploiements entièrement gérés, vous pouvez utiliser Memorystore ou le cloud Redis Enterprise.

Memorystore

Sélectionnez Memorystore si l'une des conditions suivantes est remplie :

  • Vous préférez consolider la compatibilité des logiciels gérés au niveau de Google Cloud.
  • Vous préférez optimiser l'intégration aux structures Google Cloud telles que Identity and Access Management, les API, les règles d'administration, les quotas ou l'inventaire des éléments cloud.
  • Vous avez besoin de fonctionnalités spécifiques qui ne sont disponibles que dans Memorystore (par exemple, le scaling vertical).

Pour en savoir plus sur Memorystore, consultez la documentation produit Memorystore.

Options de déploiement
Cloud Redis Enterprise

Choisissez le cloud Redis Enterprise si l'une des conditions suivantes est remplie :

  • Vous avez besoin de fonctionnalités spécifiques qui ne sont disponibles que dans le cloud Redis Enterprise (par exemple, écritures sur plusieurs instances principales selon la réplication active-active, à l'échelle interrégionale, avec un contrat de niveau de service garantissant une disponibilité de 99,999 %, correspondant au cas d'utilisation de RediSearch).
  • Vous avez besoin de définir un scaling de cluster pour une application qui n'est pas compatible avec l'API Redis Cluster.

Pour en savoir plus sur le cloud Redis Enterprise, consultez la documentation sur le cloud Redis.

Options autogérées

Pour les déploiements autogérés, vous avez le choix entre Redis Enterprise et l'OSS Redis.

Redis Enterprise

Choisissez l'option autogérée Redis Enterprise si l'une des conditions suivantes est remplie :

  • Votre application requiert des fonctionnalités uniques, telles que la resegmentation automatique pour le scaling horizontal, la fonctionnalité Redis on Flash ou l'opérateur Redis Enterprise pour Kubernetes.
  • Votre équipe chargée des opérations ne dispose pas des compétences nécessaires pour gérer des problèmes Redis complexes en interne sans solliciter une assistance tierce qualifiée.
  • Vous préférez bénéficier de l'assistance aux entreprises fournie par Redis Ltd. et les coûts de licence associés sont gérables par votre organisation.

Pour en savoir plus sur les logiciels Redis Enterprise, consultez la documentation dédiée aux logiciels Redis Enterprise.

Options de déploiement
Options d'approvisionnement et de facturation
  • La licence et l'assistance sont facturées par Redis Inc., tandis que l'infrastructure est facturée par Google.
  • La licence et l'assistance sont fournies via Google Cloud Marketplace, tandis que l'infrastructure est facturée par Google.
Logiciel Open Source Redis

Choisissez le logiciel Open Source Redis autogéré si l'une des conditions suivantes est remplie :

  • Vous privilégiez, ou devez disposer, d'une personnalisation complète, qui ne serait pas possible autrement.
  • Votre équipe chargée des opérations dispose des compétences nécessaires pour gérer des problèmes Redis complexes en interne, sans devoir solliciter une assistance tierce qualifiée.
  • Vous souhaitez éviter les frais de licence.
  • Vous disposez de nombreuses ressources en interne pour le réglage des noyaux Redis et Linux, ou votre cas d'utilisation ne nécessite aucun réglage.

Lorsque vous déployez le logiciel Open Source Redis autogéré, choisissez une cible de déploiement en fonction de la stratégie de plate-forme que vous avez choisie. Le logiciel Open Source Redis peut être déployé sur Compute Engine, Google Kubernetes Engine ou OpenShift. GKE Autopilot peut réduire les efforts de déploiement et de gestion, mais peut aussi se révéler plus limité, par exemple sur la facilité à appliquer un scaling vertical.

Pour en savoir plus sur le logiciel Open Source Redis, consultez le site Redis.io.

Comparatif des fonctionnalités

Le tableau suivant récapitule les principales différences entre les différentes options de déploiement :

Caractéristiques du déploiement Options de déploiement
Memorystore pour Redis et Redis Cluster Cloud Redis Enterprise Logiciel Redis Enterprise Logiciel Open Source Redis
Géré par Entièrement géré par Google Entièrement géré par Redis Ltd. Autogéré Autogéré
Assistance assurée par Google Redis Ltd. Redis Ltd. Auto-assistance
Facturation effectuée par Google Redis Ltd. ou Google

L'infrastructure est facturée par Google.

La licence et l'assistance Redis Ltd. sont facturées par Redis Ltd. ou Google.

Google
Éléments de coût

Tous les coûts sont inclus.

Inclut les coûts d'infrastructure, de licence, d'assistance et de gestion.

Pour en savoir plus, consultez la page Tarifs Memorystore.

Tous les coûts sont inclus.

Inclut les coûts d'infrastructure, de licence, d'assistance et de gestion.

Pour en savoir plus, consultez la page Tarifs du cloud Redis Enterprise.

Les coûts de licence logicielle et d'assistance sont inclus. L'utilisation de l'infrastructure est facturée séparément par Google Cloud.

Les coûts de gestion, y compris le déploiement, le réglage, la rémunération du personnel et les temps d'arrêt, sont pris en charge par le client.

Pour en savoir plus, consultez la page Tarifs du logiciel Redis Enterprise.

Pas de frais de service ni de frais de licence. L'utilisation de l'infrastructure est facturée par Google Cloud.

Les coûts de gestion, y compris le déploiement, le réglage, la rémunération du personnel et les temps d'arrêt, sont pris en charge par le client.

SLA
  • Redis version standard : temps d'activité de 99,9 % ; temps d'arrêt inférieur ou égal à 43,2 min/mois
  • Redis Cluster : temps d'activité de 99,99 % avec haute disponibilité par réplication multi-AZ ; temps d'arrêt inférieur ou égal à 4,38 min/mois

Pour en savoir plus, consultez le contrat de niveau de service de Memorystore.

  • Redis version standard : temps d'activité de 99,9 % ; temps d'arrêt inférieur ou égal à 43,2 min/mois
  • Redis Cluster : temps d'activité de 99,99 % avec haute disponibilité par réplication multi-AZ ; temps d'arrêt inférieur ou égal à 4,38 min/mois
  • Haute disponibilité avec réplication active-active multirégionale : temps d'activité de 99,999 % ; temps d'arrêt inférieur ou égal à 26,3 min/mois

Pour en savoir plus, consultez le contrat de niveau de service du cloud Redis.

Non applicable.

Vous êtes responsable du temps d'activité.

Non applicable.

Vous êtes responsable du temps d'activité.

Niveau sans frais Non Oui Essai gratuit de 30 jours Non applicable
Hiérarchisation des données Non Hiérarchisation automatique Hiérarchisation automatique Non
Multicloud Non Oui Manuellement Possible, mais demande beaucoup d'efforts
Réplication active-active multirégionale Non Yes Manuellement Possible, mais demande beaucoup d'efforts
Modules
Conformité Compatibilité native avec les différents régimes de conformité. Pour en savoir plus, consultez la section Offres de conformité. Compatibilité native avec les différents régimes de conformité. Pour en savoir plus, accédez au Centre de confiance Redis. Compatibilité native avec les différents régimes de conformité. Pour en savoir plus, accédez au Centre de confiance Redis. Vous devez gérer la conformité manuellement. Pour en savoir plus, consultez la section Offres de conformité.
Application d'un scaling sur les écritures de cluster Scaling vertical et horizontal Scaling vertical et horizontal Scaling horizontal. Le scaling vertical nécessite une intervention manuelle. Autogérée, nécessite une intervention manuelle.
Rééquilibrage automatique Oui Oui Autogéré, nécessite une intervention manuelle Autogéré, nécessite une intervention manuelle
Ajout de la haute disponibilité Transparent, aucun redéploiement requis Transparent, aucun redéploiement requis Aucun redéploiement requis, mais nécessite une intervention manuelle Nécessite une intervention manuelle conséquente ; un redéploiement peut être nécessaire selon votre architecture d'origine
Ajout d'instances répliquées avec accès en lecture Transparent, aucun redéploiement requis Transparent, aucun redéploiement requis Nécessite une intervention manuelle conséquente ; un redéploiement peut être nécessaire selon votre architecture d'origine Autogéré, nécessite une intervention manuelle
Passage à un cluster Redis Cluster avec segmentation des données, en cas de saturation du débit d'écriture Nécessite un redéploiement, mais des outils sont fournis pour faciliter les démarches. Les clients doivent être refactorisés pour être compatibles avec l'API Redis Cluster. Transparent, aucun redéploiement requis Transparent, aucun redéploiement requis Autogéré, nécessite une intervention manuelle