• 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 09/03/2023

Découvrez le stockage en mémoire (RAM)

On effectue souvent les mêmes requêtes sur un site web, ce qui implique que le back-end exécute plusieurs fois la même requête dans le même laps de temps. Il serait sûrement plus judicieux de stocker une fois le résultat de la requête et de le fournir à d’autres si nécessaire. Or, un ordinateur a deux types de stockage : un espace disque et une mémoire vive. Cette dernière est dédiée à du stockage transitoire et fournit des temps de réponse très rapides. C’est ce qui vous permet notamment d’avoir une navigation fluide sur Internet ! 😉

Amazon ElastiCache

Amazon ElastiCache est un service entièrement géré de mise en cache en mémoire qui vous permet d’accéder aux données avec une latence de quelques microsecondes. ElastiCache est compatible avec Redis et Memcached.

Il s’utilise en complément d’une base de données relationnelle ou non relationnelle. En revanche, son utilisation implique de lourdes modifications du code d'application.

ElastiCache propose trois modèles de cache :

  • Chargement différé (lazy loading) ;

  • Écriture simultanée (write through) ;

  • TTL (Time to Live). 

Application est relié par les flèches “cache hit” (1), “cache miss” (2) et “écriture de cache” (4) avec ClusterElastiCache, et par une flèche “lecture en base de données” avec Cluster RDS (3).
Fonctionnement d’un cluster ElastiCache avec chargement différé.

1 - L’application (par exemple le serveur d’API) cherche et trouve une correspondance avec le cache (cache hit) pour sa requête.

2 - L’application cherche et ne trouve pas une correspondance avec le cache, c’est une absence de données dans le cache (cache miss) pour sa requête.

3 - Alors l’application envoie la même requête directement dans RDS et lit les données retournées par RDS.

4 - L’application écrit dans le cache le résultat pour des requêtes similaires dans le futur.

Application est relié par les flèches “cache hit” (2), “cache miss” (3) et “écriture de cache” (5) avec ClusterElastiCache, par une flèche “lecture en base de données” avec Cluster RDS (4). Une flèche “écriture en base et en cache
Fonctionnement d’un cluster ElastiCache avec écriture simultanée

1 - L’application (par exemple le serveur d’API) écrit simultanément une nouvelle donnée en base et en cache.(2) à (5) C’est le même principe que le modèle chargement différé. 

Site web est relié par une flèche à double sens avec le bloc “application distribuée”, d’où une flèche “écrit les données de session” (1) va vers Cluster ElastiCache. Deux autres flèches “Récupère les données de session” (2) revi
Principe de la fonctionnalité TTL dans un cluster ElastiCache

1 - L’utilisateur se connecte et renseigne ses identifiants sur le site (ex. : Facebook). Il reçoit des données de session temporaire (avec TTL) qui sont également écrites en base par une instance de l’application.

2 - Lorsque l’utilisateur est traité par une autre instance de l’application, cette dernière vérifie ses données de session en base pour l’identifier plus rapidement.

Un chemin mène des joueurs vers Cluster ElastiCache for Redis puis vers Classement en temps réel.
Les ensembles triés Redis

Contrairement aux bases de données étudiées, un rôle IAM n’est utilisé que pour l’autorisation d’actions sur ElastiCache, mais pas pour l’authentification qui n’est pas supportée. Voici les options pour l’authentification :

  • Redis AUTH est une méthode qui exige un identifiant et un jeton/mot de passe pour se connecter à ElastiCache for Redis. Vous pouvez ajouter un groupe de sécurité et du chiffrement SSL/TLS pour sécuriser les communications avec Redis.

  • ElastiCache for Memcached utilise le protocole SASL (Simple Authentication and Security Layer).

 

Redis

Memcached

Multi-AZ (haute disponibilité)

🟢

🔴

Multi-Noeuds pour partitionner (sharding) les données

🔴

🟢

Réplicas (scalabilité)

🟢

🔴

Persistance des données

🟢

🔴

Sauvegardes et restauration

🟢

🔴

Multi-thread

🔴

🟢

Question types de l'examen

Voici un exemple de question sur les sujets vus dans ce chapitre que vous pourriez avoir à l'examen. Essayez d'y réfléchir vous-même avant de vérifier la réponse.

Votre entreprise commence à utiliser AWS pour héberger de nouvelles applications web. Une nouvelle application à deux niveaux sera déployée pour permettre aux clients d'accéder aux enregistrements de données. Il est important que l'application soit très réactive et que les temps de récupération soient optimisés. Vous recherchez une base de données persistante capable de fournir les performances requises. Dans la liste ci-dessous, quel service AWS recommanderiez-vous pour cette exigence ?

  • ElastiCache for Memcached

  • ElastiCache for Redis

  • RDS (Multi-AZ activé)

  • OpenSearch

En résumé

  • Amazon ElastiCache est un service entièrement géré de mise en cache en mémoire.

  • ElastiCache est compatible avec Redis et Memcached.

  • Redis AUTH est une méthode d’authentification pour ElastiCache for Redis.

  • ElastiCache for Memcached utilise le protocole SASL.

Maintenant, voyons comment stocker les pages de notre site web dans un compartiment S3 !

Exemple de certificat de réussite
Exemple de certificat de réussite