Assistez à notre démo produit mensuelle

Inscrivez-vous ici!

Redis Enterprise pour les microservices

Élaborez des microservices résilient et hautement disponibles avec Redis Enterprise

Choisissez une couche de données en temps réel pour votre architecture de microservices

Les architectures de microservices permettent de lancer de nouveaux produits plus rapidement, de les aider à évoluer plus facilement et de mieux répondre aux demandes des clients. Avec ses nombreux modèles de données, la tolérance aux erreurs indépendamment du scénario, la multilocation pour l’isolation et la souplesse de déploiement dans de multiples environnements, Redis Enterprise permet aux développeurs et aux opérateurs d’optimiser leur couche de données pour une architecture en microservices.

https://www.youtube.com/embed/1ybaY27uZA0?si=c2lCcSDcipPAbety

C’est quoi l’architecture microservice ?

Selon la définition de Chris Richardson, expert reconnu en microservices, l’architecture microservices est un style architectural permettant de structurer les applications sous la forme d’une collection de services faiblement couplés, hautement maintenables et testables, déployables de manière indépendante, limités à des domaines d’activité spécifiques et détenus par de petites équipes. Une architecture de microservices permet la livraison rapide, fréquente et fiable d’applications complexes et de grande envergure.

Monolith versus microservices architecture

Pourquoi les microservices sont importants

Les applications basées sur les microservices permettent des initiatives stratégiques de transformation numérique et de migration vers le cloud

Les microservices sont un style d’architecture qui a aidé les équipes de développement à créer de meilleurs logiciels, plus rapidement et à minimiser les coûts et la complexité de la modernisation des applications. Par conséquent, des architectures de microservices ont été adoptées dans tous les secteurs, pour des projets qui peuvent à juste titre être étiquetés « initiatives de transformation numérique » ainsi que pour des tâches plus banales mais importantes telles que le démarrage de déploiements cloud.

Ce style d’architecture et sa culture de développement logiciel associée permettent aux équipes de développement de microservices d’opérer sur leurs propres cycles de publication, d’adopter la propriété de produits de bout en bout et d’adopter un cadre DevOps basé sur une intégration continue/livraison continue. Le résultat est que les entreprises peuvent réduire le délai de mise sur le marché pour le développement de nouveaux services, souvent à partir de projets mesurés en mois ou en jours.

Les microservices accélèrent les migrations de données vers le cloud. C’est parce qu’ils s’appuient principalement sur des bases de données NoSQL natives du cloud. Selon une enquête IDC InfoBrief 2021, les bases de données NoSQL remplacent les bases de données relationnelles sur site qui n’ont pas été construites pour le cloud ni pour les cycles de publication indépendants.
En outre, certaines organisations ne peuvent pas migrer leurs applications monolithes héritées vers le cloud natif en même temps. Les microservices permettent la migration incrémentielle des sous-domaines d’une architecture monolithique vers des piles technologiques modernes.

Redis Enterprise : le partenaire parfait pour les microservices

Performance à l’échelle des microservices

Dans un environnement de microservices, les services devant s’exécuter en temps réel doivent compenser les frais de mise en réseau. Redis Enterprise offre une latence inférieure à la milliseconde pour tous les types et modèles de données Redis. De plus, il s’adapte instantanément et linéairement à presque tous les débits nécessaires.

Performance à l’échelle des microservices
Conçu pour la tolérance et la résilience aux erreurs

Conçu pour la tolérance et la résilience aux erreurs

Pour garantir que vos applications sont résilientes aux erreurs, Redis Enterprise utilise une architecture en cluster sans partage. Elle est tolérante aux pannes à tous les niveaux : avec un basculement automatisé au niveau du processus, pour les nœuds individuels et dans les zones de disponibilité de l’infrastructure.

Réduire la complexité grâce à des modèles de données rapides et flexibles

Redis Enterprise permet aux développeurs de choisir le modèle de données le mieux adapté à leurs exigences de performance et d’accès aux données pour leur architecture de microservices et leur conception axée sur le domaine, tout en conservant l’isolation avec un déploiement multi-locataire sur une seule plateforme de données.

Réduire la complexité grâce à des modèles de données rapides et flexibles
Simplifiez les opérations grâce au déploiement Kubernetes natif

Simplifiez les opérations grâce au déploiement Kubernetes natif

Redis Enterprise fournit une interface opérationnelle unifiée qui réduit la prolifération technologique, simplifie les opérations et réduit la latence du service. L’opérateur Redis Enterprise pour Kubernetes vous offre des déploiements cohérents et automatisés pour réduire les risques. Cela permet aux équipes de développement de se concentrer sur l’innovation et la valeur commerciale.

Adaptable sur plusieurs cloud et sites géographiques

Choisissez l’emplacement d’exécution de votre base de données. Redis Enterprise peut être déployé sur n’importe quelle plateforme basée sur le cloud, sur site et dans une architecture multi-Cloud ou mixte.

Adaptable sur plusieurs cloud et sites géographiques

Schémas de conception pour les architectures de microservices

Mise en cache des requêtes de microservice

L’isolation ou le contexte délimité est une caractéristique importante d’une architecture de microservice. Dans le cadre du Domain Driven Design (DDD), chaque service peut avoir une base de données dédiée avec son propre modèle de données et ses propres objectifs de performance de niveau de service. La mise en cache des requêtes, un modèle de cache couramment utilisé pour réduire les temps de réponse des microservices, fonctionne en déployant un cache Redis Enterprise à côté de chaque microservice pour fournir les données nécessaires dans un contexte commercial unique. (C’est-à-dire qu’il ne sert qu’un seul microservice.)

Le Redis Enterprise Smart Cache prend en charge plusieurs modèles de données qui peuvent être facilement déployés en multi-locataire, tout en restant isolés, le tout sans sacrifier les performances.

En savoir plus

Mise en cache des requêtes de microservice
La mise en cache cross-domain via CQRS

La mise en cache cross-domain via CQRS

Les microservices ont besoin d’un accès rapide aux données, mais cela peut être un défi lorsque des dizaines ou des centaines de microservices tentent de lire à partir de la même base de données lente sur disque. Les données interdomaines doivent être disponibles pour chaque microservice en temps réel, et ce, sans enfreindre la portée de son contexte commercial et de son objectif ciblés.

Command Query Responsibility Segregation (CQRS) est un modèle de cache de pré-extraction critique dans les architectures de microservice qui découple les lectures (requêtes) et les écritures (commandes). Cela permet à une application d’écrire des données dans une base de données SQL basée sur disque plus lente, tout en pré-récupérant et en mettant en cache ces données à l’aide de la fonctionnalité intégrée Change Data Capture (CDC) dans Redis Enterprise pour des lectures ultra-rapides. Cela rend ces données immédiatement accessibles aux autres microservices qui en ont besoin.

En savoir plus

Mise en cache de passerelle API pour les données mondiales

Les applications de microservices peuvent mettre en cache les données accessibles à l’échelle mondiale au niveau de la passerelle API pour distribuer et accélérer les données auxquelles tous les services accèdent. Généralement, il s’agit de données de session (telles que l’ID utilisateur et les préférences) et de données d’authentification (jetons, statut d’autorisation, autorisations). Cela permet à tous les services de disposer en temps réel des données fréquemment nécessaires. Le résultat ? Réduire la latence des applications sans dépasser les limites de chaque contexte commercial de microservices.

La limitation du débit, qui consiste à mesurer le nombre de demandes d’API dans un certain laps de temps, peut également être mise en œuvre au niveau de la passerelle API à l’aide de Redis Enterprise. Cela peut empêcher la surcharge du système et les attaques DDoS.

Mise en cache de passerelle API pour les données mondiales
Messagerie asynchrone pour la communication inter-services

Messagerie asynchrone pour la communication inter-services

Les microservices doivent communiquer l’état, les événements et les données entre eux sans rompre l’isolation, et ils doivent rester découplés. Une solution courante consiste à intégrer un courtier en messagerie de publication-abonnement dans l’architecture, c’est-à-dire à rendre la communication inter-services axée sur les événements et finalement cohérente, et à traiter chaque message entre les microservices comme un événement.

Redis Streams est une structure immuable de données de journal classées dans le temps qui permet à un service (producteur) de publier des messages asynchrones auxquels plusieurs consommateurs peuvent s’abonner. Il peut être configuré pour gérer différentes garanties de livraison, prendre en charge les groupes de consommateurs et appliquer d’autres fonctionnalités comparables aux partitions thématiques Apache Kafka. Mieux encore, Redis Streams aide à créer des rapports, des analyses, des audits et des analyses médico-légales sur le back-end.

En savoir plus

Fonctionnalités Redis Enterprise pour l’architecture de microservices

Réplication active-active

Une architecture microservices comporte de nombreux services connectés, mais elle est confrontée aux mêmes exigences de performance que les applications monolithiques. Pour minimiser la latence, les données doivent se trouver aussi près des services que possible. Vous devez également veiller à ce que les bases de données soient cohérentes les unes par rapport aux autres en cas de défaillances ou de mises à jour conflictuelles. Redis Enterprise peut être déployé comme base de données répliquée Active-Active, sans conflit pour traiter les mises à jour de plusieurs installations locales de vos services sans compromettre la latence ou la cohérence des données et en apportant la continuité en cas d’échecs.

Modèles de données multiples

Redis Enterprise fournit plusieurs structures de données (hashes, chaînes, flux, listes, etc.) et modèles, y compris JSON, recherche, séries temporelles et graphiques, qui vous permettent de choisir le modèle de données le mieux adapté à votre domaine de microservice, aux performances et aux exigences d’accès aux données. Et tout cela dans une seule plateforme de données.

Bases de données mutualisée

Au sein d’une architecture en microservices, une seule grappe de Redis Enterprise peut fournir des bases de données à un grand nombre de services différents, chacun avec sa propre instance isolée et adaptée à la charge de travail donnée. Chaque instance de la base de données est déployée, adaptée en taille et modelée indépendamment des autres mais utilise le même environnement de grappes en isolant les données entre les services sans augmenter la complexité opérationnelle.

La flexibilité du Cloud

Les microservices offrent une grande flexibilité technologique, et le choix de l’emplacement de votre base de données ne devrait pas faire exception. Redis Enterprise peut être déployé n’importe où: sur n’importe quelle plateforme basée sur le cloud, sur site, ou dans une architecture multicloud ou hybride. Il est également disponible sur Kubernetes, Pivotal Kubernetes Service (PKS) et Red Hat OpenShift.

Orchestration et gestion des conteneurs Kubernetes natifs

Les conteneurs sont étroitement alignés sur les applications de microservices et aident les entreprises à les mettre en œuvre. Kubernetes est la plateforme standard de facto pour le déploiement, la planification et l’orchestration des conteneurs. Redis est la technologie de base de données top exécutée sur des conteneurs, avec plus de deux milliards de lancements de hub Docker. Redis Enterprise Operator for Kubernetes offre : évolutivité automatique, volumes de stockage persistants, gestion simplifiée des points de terminaison de la base de données et mises à niveau sans interruption. Il est disponible sur plusieurs plateformes Kubernetes et services gérés dans le cloud, notamment RedHat OpenShift, VMware Tanzu Kubernetes Grid (anciennement Enterprise PKS), Kubernetes en amont et Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), ou Amazon Elastic Kubernetes Service (EKS).

FAQ

  • Les microservices, qu’est-ce que c’est ?
    • L’architecture microservices (souvent abrégée en microservices) désigne un style d’architecture pour le développement d’applications. Les microservices permettent de séparer une grande application en plusieurs parties indépendantes, chaque partie ayant son propre domaine de responsabilité. Pour répondre à une demande unique d’un utilisateur, une application basée sur les microservices peut faire appel à de nombreux microservices internes pour composer sa réponse.
  • Quelle est la différence entre l’architecture monolithique et l’architecture de microservices ?
    • Dans une architecture monolithique, les processus sont étroitement liés et s’exécutent comme un seul artefact déployable. Bien que cela soit relativement simple au départ, la mise à l’échelle ou la modification d’une partie de votre application microservice nécessite la mise à jour de l’ensemble du service, ce qui se traduit par une évolutivité inefficace et une complexité accrue au fur et à mesure que la taille de votre base de code augmente.
      • L’architecture microservices implique une collection de services faiblement couplés qui peuvent être mis à jour et mis à l’échelle de manière indépendante par des équipes plus petites. Comme les services individuels sont plus faciles à construire, à déployer et à gérer qu’une application monolithique, les microservices permettent des déploiements plus fréquents, l’autonomie du magasin de données et une plus grande flexibilité.
      • Les entreprises font passer l’ensemble de leurs applications à l’architecture microservices afin de réduire considérablement les délais de commercialisation, d’adopter plus facilement les nouvelles technologies et de répondre plus rapidement aux besoins des clients.
  • Qu’est-ce que Kubernetes ?
    • Kubernetes, également connu sous le nom de k8s, est un système d’orchestration open-source permettant d’automatiser le déploiement, la mise à l’échelle et la gestion d’applications conteneurisées, généralement utilisées dans le cadre d’architectures microservices et cloud native.
  • Que sont les conteneurs Docker ?
    • Les images des conteneurs Docker sont des paquets de logiciels légers, autonomes et exécutables qui comprennent tout ce qui est nécessaire à l’exécution d’une application.
  • Qu’est-ce qu’une passerelle API ?
    • Une passerelle API est une application logicielle de gestion des API qui se situe entre un client et un ensemble de backend microservices. La passerelle API sert de proxy inverse pour accepter les appels d’API de l’application cliente, en transmettant ce trafic au service approprié.

Étapes suivantes