AWS Certified Solutions Architect – Associate (SAA-C03) — Question 655
A company is building a shopping application on AWS. The application offers a catalog that changes once each month and needs to scale with traffic volume. The company wants the lowest possible latency from the application. Data from each user's shopping cart needs to be highly available. User session data must be available even if the user is disconnected and reconnects.
What should a solutions architect do to ensure that the shopping cart data is preserved at all times?
Answer options
- A. Configure an Application Load Balancer to enable the sticky sessions feature (session affinity) for access to the catalog in Amazon Aurora.
- B. Configure Amazon ElastiCache for Redis to cache catalog data from Amazon DynamoDB and shopping cart data from the user's session.
- C. Configure Amazon OpenSearch Service to cache catalog data from Amazon DynamoDB and shopping cart data from the user's session.
- D. Configure an Amazon EC2 instance with Amazon Elastic Block Store (Amazon EBS) storage for the catalog and shopping cart. Configure automated snapshots.
Correct answer: B
Explanation
Amazon ElastiCache for Redis is an in-memory data store that provides sub-millisecond latency and supports data replication, making it ideal for maintaining highly available, persistent user session and shopping cart data. Amazon DynamoDB serves as a highly scalable database for the monthly-changing catalog, which can be cached in Redis to further reduce latency. Other options, such as using sticky sessions on an ALB (Option A), OpenSearch (Option C), or EBS-backed EC2 instances (Option D), do not provide the combined benefits of high availability, sub-millisecond performance, and robust session persistence across disconnections.