Utilisation de Redis et de PostgreSQL via OCI pour votre application de commerce électronique

Résolvez les défis de vos applications de commerce électronique liés à la vitesse, à la synchronisation des données en temps réel, à l'intégrité des données, à l'évolutivité, à la synchronisation de la base de données cache et au traitement et à l'analyse complets des transactions avec Redis et PostgreSQL gérés par OCI.

Cette architecture de référence illustre une configuration d'application cloud native moderne utilisant Oracle Cloud Infrastructure (OCI) qui exploite à la fois Redis pour la mise en cache et PostgreSQL pour les données transactionnelles. L'architecture montre comment les entreprises peuvent créer des applications évolutives et efficaces en utilisant Redis en tant que banque de données en mémoire pour améliorer les performances et PostgreSQL en tant que base de données robuste et polyvalente pour gérer un large éventail de charges de travail de données.

Une telle approche à double base de données est courante dans le secteur, permettant l'extraction de données à grande vitesse via Redis, tout en garantissant la persistance des données et la gestion complexe des requêtes avec PostgreSQL. Cette configuration est complétée par la suite complète de services OCI qui simplifient la gestion, améliorent la sécurité et améliorent la productivité. Il s'agit d'une architecture typique pour une session de commerce électronique et la gestion des stocks.

Dans une application de commerce électronique, Redis est utilisé pour sa gestion rapide des données afin de gérer les sessions utilisateur et fournit des mises à jour d'inventaire en temps réel. Les sessions utilisateur, y compris les données du panier, sont stockées dans Redis pour un accès rapide pendant l'expérience d'achat. Parallèlement, Redis sert de cache dynamique pour les niveaux de stock, qui sont ajustés instantanément lorsque les clients ajoutent ou suppriment des articles de leur panier pour s'assurer que des informations précises sur les stocks sont présentées. PostgreSQL sous-tend cette configuration en conservant les enregistrements de stock définitifs. Il traite les transactions et les détails des commandes, garantissant ainsi la cohérence et l'intégrité des données. Lorsqu'un achat est effectué, le cache d'inventaire de Redis est synchronisé et la transaction est enregistrée en permanence dans PostgreSQL, ce qui facilite le traitement des commandes et l'analyse des données historiques.

Architecture

Cette conception d'architecture est bien adaptée aux applications nécessitant un accès rapide aux données et des transactions complexes, telles que les plates-formes de commerce électronique.

L'architecture inclut un front-end de redimensionnement automatique pour gérer la charge de manière dynamique, un bastion pour un accès sécurisé et une surveillance intégrée pour maintenir les performances et la disponibilité. Les fonctionnalités de mise à l'échelle mises à disposition par le cloud, combinées aux services entièrement gérés OCI, rendent cette architecture idéale pour un site de commerce électronique.

Le schéma suivant illustre cette architecture de référence.



oci-redis-postgresql-diagram-oracle.zip

L'architecture comprend les composants suivants :

  • Service Bastion

    Oracle Cloud Infrastructure Bastion fournit un accès sécurisé limité et limité dans le temps aux ressources qui n'ont pas d'adresses publiques et qui nécessitent des contrôles stricts d'accès aux ressources, tels que les machines virtuelles et Bare Metal, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Cloud Infrastructure Kubernetes Engine (OKE), ainsi que toute autre ressource autorisant l'accès SSH (Secure Shell Protocol). Avec le service OCI Bastion, vous pouvez activer l'accès aux hôtes privés sans déployer et gérer un hôte de saut. En outre, vous bénéficiez d'une meilleure posture de sécurité avec des droits d'accès basés sur l'identité et une session SSH centralisée, auditée et limitée dans le temps. OCI Bastion élimine la nécessité d'une adresse IP publique pour l'accès au bastion, éliminant ainsi les tracas et la surface d'attaque potentielle lors de la fourniture d'un accès à distance.

  • Service PostgreSQL

    Oracle Cloud Infrastructure Database avec PostgreSQL est un service PostgreSQL géré qui libère votre équipe des tâches de routine, telles que l'application de patches et les sauvegardes. Sa caractéristique remarquable est le stockage optimisé OCI Database, qui améliore la résilience et les performances du système. En outre, cette architecture permet une évolutivité indépendante du calcul et du stockage. OCI Database avec PostgreSQL offre également une sécurité des données améliorée avec un cryptage de bout en bout.

  • Masquer

    Oracle Cloud Infrastructure Cache est une solution complète de mise en cache en mémoire gérée qui s'appuie sur Redis open source. Ce service entièrement géré accélère les lectures et écritures de données, améliorant considérablement les temps de réponse des applications et les performances de la base de données pour offrir une expérience client améliorée.

Recommandations

Utilisez les recommandations suivantes comme point de départ. Vos exigences peuvent différer de l'architecture décrite ici.
  • VCN

    Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez d'attacher à des sous-réseaux dans le VCN. Utilisez des blocs CIDR qui se trouvent dans l'espace d'adresse IP privée standard.

    Sélectionnez les blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur site ou un autre fournisseur cloud) auquel vous avez l'intention de configurer des connexions privées.

    Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.

    Lorsque vous concevez les sous-réseaux, tenez compte du flux de trafic et des exigences de sécurité. Attachez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, qui peut servir de limite de sécurité.

  • Cloud Guard

    Cloner et personnaliser les recettes par défaut fournies par Oracle afin de créer des recettes de détecteur et de répondeur personnalisées. Ces recettes vous permettent de spécifier le type de violation de sécurité qui génère un avertissement et les actions autorisées à y être exécutées. Par exemple, vous pouvez détecter les buckets Object Storage dont la visibilité est définie sur Public.

    Appliquez Cloud Guard au niveau de la location pour couvrir la portée la plus large et réduire la charge administrative liée à la maintenance de plusieurs configurations.

    Vous pouvez également utiliser la fonction Liste gérée pour appliquer certaines configurations aux détecteurs.

  • Security Zones

    Pour les ressources nécessitant une sécurité maximale, Oracle vous recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette de stratégies de sécurité définie par Oracle qui repose sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles à partir du réseau Internet public et doivent être cryptées à l'aide de clés gérées par le client. Lorsque vous créez et mettez à jour des ressources dans une zone de sécurité, Oracle Cloud Infrastructure valide les opérations par rapport aux stratégies de la recette de zone de sécurité et refuse les opérations qui enfreignent l'une des stratégies.

En savoir plus

En savoir plus sur PostgreSQL et Redis.

Consultez les ressources supplémentaires suivantes :

Accusés de réception

Authors: Julien Lehmann, Mike Sorolla

Contributors: John Sulyok