Question

Difficulty: MediumApplication Caching and Session State Management

A developer is building a student portal for a Learning Management System (LMS) hosted on an Auto Scaling group of Amazon EC2 instances. The application has two primary requirements:

1. It must cache the course catalog metadata, which is read frequently but updated only once a week.
2. It must store active student quiz session states. These session states are updated frequently with every answered question and must persist even if individual EC2 instances or cache nodes fail.

Which TWO options represent the most suitable AWS services and configurations to meet these requirements?

  1. Use Amazon ElastiCache for Redis to store the active student quiz session states.Answer
  2. Use Amazon ElastiCache for Memcached to cache the course catalog metadata.Answer
  3. C
    Use Amazon ElastiCache for Memcached to store the active student quiz session states.
  4. D
    Use Amazon DynamoDB with a Scan operation to retrieve the course catalog metadata on every request.
  5. E
    Use Amazon Systems Manager Parameter Store to cache the weekly course catalog metadata.

Answer

To store active student quiz sessions with durability, use Amazon ElastiCache for Redis. To cache the static course catalog metadata where persistence is not required, use Amazon ElastiCache for Memcached.
Using Amazon ElastiCache for Redis to store active student quiz session states is correct because Redis provides persistence, replication, and multi-AZ support, ensuring data is not lost if a node fails. Using Amazon ElastiCache for Memcached to cache the course catalog metadata is correct because Memcached is a high-performance, multi-threaded cache engine designed for simple key-value lookups where persistence is not necessary.

Step-by-Step Solution

1
Identify the durability and replication requirements for the active student quiz session states.
Since session data must survive instance or cache node failures, a cache engine supporting replication and persistence (like Redis) is required.
To prevent loss of quiz state during node failure.
2
Identify the caching requirements for the infrequently updated course catalog.
Since the data is read-heavy but updated infrequently and does not require persistence, a simple key-value cache (like Memcached) is appropriate.
To reduce database load and latency efficiently.

Key Concept

ElastiCache engines (Redis vs Memcached) and session state durability requirements.
Estimated Time:1m 30s
Rate this question