Redis géré par Azure

Azure Managed Redis est une refonte complète. S’appuyant sur le framework Redis Enterprise, ce service reprend ce que nous savons de la mise en cache et de la gestion des données et le fait passer à la vitesse supérieure. Les solutions de mise en cache traditionnelles, comme Azure Cache for Redis, sont des outils de travail fiables, mais leur architecture à un seul fil laisse des ressources de calcul sur la table. Managed Redis change tout en introduisant une architecture à deux nœuds où les deux nœuds gèrent un mélange de processus primaires et répliqués, ce qui permet d’exploiter au maximum les performances de vos machines virtuelles.

Ce changement concerne l’efficacité à grande échelle. En empilant plusieurs instances derrière un proxy Redis, Managed Redis maximise le potentiel de chaque unité centrale, en s’attaquant au regroupement des données et à la géo-réplication comme un pro. De telles améliorations permettent de réduire considérablement la consommation d’énergie des centres de données, une préoccupation de plus en plus pressante dans le monde d’aujourd’hui, où l’on est de plus en plus attentif à la consommation d’énergie. Annoncé à Ignite 2024, Managed Redis est la réponse de Microsoft à la demande d’applications distribuées à grande échelle qui ne plient pas sous la pression.

Politiques de regroupement flexibles

En matière de clustering, la flexibilité est une nécessité. Azure Managed Redis propose deux politiques distinctes pour répondre aux différents besoins des développeurs et des entreprises. L’option de mise en grappe OSS se connecte directement à des unités de stockage individuelles, ce qui permet une mise à l’échelle quasi linéaire. Cette approche est idéale si votre application est déjà conçue pour fonctionner avec Redis. D’autre part, la politique de clustering Enterprise simplifie la gestion des connexions par le biais d’un seul nœud proxy, réduisant ainsi la complexité des configurations côté client. Bien que cette simplification puisse avoir un léger impact sur les performances, le compromis en vaut la peine pour de nombreuses entreprises qui cherchent à rationaliser leurs opérations.

Ce cadre à double politique fournit aux développeurs les outils nécessaires pour adapter les performances et la simplicité en fonction de leur cas d’utilisation spécifique. Que vous souhaitiez augmenter ou réduire les performances, vous avez le choix.

Cas d’utilisation avancés

Redis a toujours été un outil puissant pour gérer les données fréquemment consultées, mais avec Azure Managed Redis, il va encore plus loin. Dans les environnements cloud-native, il est indispensable pour la gestion de l’état des sessions à travers les applications conteneurisées distribuées. La véritable star, cependant, est son rôle dans l’IA.

Pour les modèles d’IA à haute performance, Managed Redis agit comme un index vectoriel en mémoire, offrant des opérations de lecture et d’écriture à faible latence. Cette capacité est très importante pour les flux de travail de génération augmentée par récupération (RAG), où la vitesse est essentielle. Des outils tels que Semantic Kernel exploitent Redis comme mémoire sémantique, ce qui permet aux applications avancées en temps réel de fonctionner sans problème.

Options à plusieurs niveaux

Azure Managed Redis est conçu dans un souci de flexibilité et propose quatre niveaux distincts pour s’adapter aux différentes charges de travail :

  • Niveau optimisé pour la mémoire : Avec un ratio mémoire/vCPU de 8:1, ce niveau est parfait pour les environnements de développement et de test où vous avez besoin d’un accès rapide à des ensembles de données volumineux sans surcharge de traitement importante.
  • Niveau équilibré : Véritable cheval de bataille de la plupart des charges de travail de production, ce niveau offre un ratio mémoire-vCPU de 4:1, ce qui permet de trouver un équilibre entre les besoins de stockage et de traitement.
  • Niveau optimisé pour le calcul : Conçu pour les applications hautes performances, ce niveau augmente la puissance de traitement avec un ratio mémoire-vCPU de 2:1, ce qui le rend idéal pour les tâches informatiques intensives.
  • Niveau basé sur la flash NVMe : Solution économique pour le traitement d’ensembles de données massifs, ce niveau utilise la flash NVMe pour les données « froides » tout en conservant les clés actives dans la RAM. Il s’agit d’une conception intelligente qui permet d’équilibrer les performances et les coûts.

Ces options vous permettent d’adapter votre configuration à vos besoins exacts, en trouvant l’équilibre parfait entre mémoire et calcul.

Importance d’une configuration précise lors de l’installation

L’installation est importante. La configuration d’Azure Managed Redis nécessite une attention particulière aux détails. En utilisant le portail Azure, le CLI ou PowerShell, vous devrez sélectionner le bon SKU dès le départ, car l’interface utilise par défaut Azure Cache for Redis si vous n’effectuez pas le changement. Cette étape, petite mais essentielle, permet de débloquer les fonctionnalités avancées de Managed Redis, des politiques de clustering aux paramètres de géo-réplication.

Le problème est qu’une fois configurés, de nombreux paramètres sont verrouillés. Si vous avez besoin d’ajuster le clustering, la géo-réplication ou les modules, vous devrez reconstruire entièrement votre instance Redis. Bien que cela ne soit pas un casse-tête, c’est quelque chose qu’il faut prévoir, en particulier dans les environnements de production. Prendre le temps de tout configurer correctement lors de l’installation est un petit investissement pour une fiabilité à long terme.

Intégration avec les applications existantes basées sur Redis

La transition vers Azure Managed Redis se fait en douceur. Les bibliothèques client Redis existantes sont prêtes à l’emploi, vous n’avez donc pas besoin de remanier votre base de code. Pour les développeurs .NET, la bibliothèque StackExchange.Redis est la meilleure option. D’autres langages, dont Python et Java, sont couverts par la liste exhaustive des bibliothèques client Redis.

Il suffit de mettre à jour vos points d’extrémité pour qu’ils se connectent au nouveau service. Cette compatibilité simplifie la migration et accélère l’adoption, ce qui permet aux équipes d’exploiter facilement les capacités avancées de Managed Redis sans partir de zéro.

Vision et stratégie pour Azure Managed Redis

Mark Russinovich, directeur technique d’Azure, a une vision audacieuse : un écosystème Azure entièrement sans serveur. Azure Managed Redis est un élément clé de cette vision, en supprimant la complexité de la mise en cache des données et de la mise à l’échelle pour les applications cloud-natives. En s’alignant sur la stratégie plus large de Microsoft, ce service permet aux développeurs de se concentrer sur l’innovation plutôt que sur l’infrastructure.

Dans une perspective plus large, Managed Redis vise à repenser la façon dont nous construisons, mettons à l’échelle et exploitons les applications dans un marché sans serveur. C’est sur cet avenir que Microsoft mise, et c’est un avenir que les entreprises devraient prendre au sérieux.

Alexander Procter

janvier 6, 2025

6 Min