Question

Difficulty: MediumHigh-Performing Content Delivery and Caching Solutions

A company hosts a global online training platform on AWS. The platform serves static video lectures stored in an Amazon S3 bucket, and a daily course catalog and real-time student enrollment dashboard stored in an Amazon DynamoDB table. During peak registration periods, the application experiences high read latency when retrieving the course catalog, and origin S3 traffic is causing high data egress costs. Which combination of actions should the solutions architect take to deliver the content and queries with the lowest latency possible? (Select TWO.)

  1. Deploy an Amazon CloudFront distribution with the Amazon S3 bucket as the origin, and configure a cache behavior for video assets with a long Time to Live (TTL).Answer
  2. Implement Amazon DynamoDB Accelerator (DAX) to cache read queries for the daily course catalog.Answer
  3. C
    Configure an Amazon CloudFront distribution with the Amazon S3 bucket as the origin, and set the Default TTL and Max TTL to 0 for the video files cache behavior to ensure that updates to video content are immediately available.
  4. D
    Design the DynamoDB table with a partition key based on a monotonically increasing timestamp to ensure that parallel queries for the course catalog are distributed evenly across partitions.
  5. E
    Store the daily course catalog in an Amazon S3 Standard-Infrequent Access (S3 Standard-IA) bucket and configure the application to overwrite the catalog file every few hours to reduce storage costs.

Answer

The correct actions are deploying an Amazon CloudFront distribution with the S3 bucket as the origin and a long cache TTL for video assets, and implementing Amazon DynamoDB Accelerator (DAX) to cache read queries for the daily course catalog.
Deploying Amazon CloudFront in front of Amazon S3 allows caching of static video assets at the edge, reducing latency and egress costs. Implementing Amazon DynamoDB Accelerator (DAX) provides an in-memory cache that reduces query latency to microseconds for read-heavy tables.

Step-by-Step Solution

1
Analyze the access patterns and latency requirements for static video content.
Determine that static assets should be cached at edge locations.
Caching videos at CloudFront edge locations with a non-zero TTL minimizes latency and avoids recurring S3 data transfer out costs.
2
Analyze the access patterns and latency requirements for the database queries.
Identify that the daily course catalog is a read-heavy workload.
Implementing an in-memory cache like DAX for DynamoDB queries resolves read latency issues without changing database schemas.
3
Evaluate and eliminate sub-optimal options such as setting TTL to 0, using hot keys, or using S3 Standard-IA with high churn.
Confirm that the selected options are the only high-performing and cost-effective designs.
This ensures optimal caching configuration and prevents performance degradation or unexpected cost penalties.

Key Concept

Caching and Content Delivery Optimization for High-Performing Architectures
Estimated Time:2m 0s
Rate this question