Question

Difficulty: Very hardHigh-Performing Content Delivery and Caching Solutions

A gaming company hosts a global multiplayer game. The backend architecture consists of an Application Load Balancer (ALB) routing player requests to Amazon EC2 instances in an Auto Scaling group, with Amazon DynamoDB storing player profiles and leaderboards. Static game assets are stored in Amazon S3. During peak gaming events, the EC2 instances experience high CPU utilization due to the overhead of retrieving static assets and querying player profiles. The DynamoDB table also experiences throttling. A solutions architect must design a high-performing architecture that minimizes latency for players globally and reduces load on both the EC2 instances and the database. Which architecture should the solutions architect recommend to meet these requirements?

  1. Deploy an Amazon CloudFront distribution with Amazon S3 as the origin for static game assets. Provision an Amazon DynamoDB Accelerator (DAX) cluster to cache read queries, and configure the application to direct database requests to the DAX endpoint.Answer
  2. B
    Deploy an Amazon CloudFront distribution with Amazon S3 as the origin for static game assets, setting the Default, Minimum, and Maximum TTL to 00 on the cache behavior. Provision an Amazon DynamoDB Accelerator (DAX) cluster to cache database read queries.
  3. C
    Deploy an Amazon CloudFront distribution with Amazon S3 as the origin for static game assets. To handle the database read spikes, configure the Amazon DynamoDB table in Provisioned Capacity mode with a high threshold of read capacity units (RCUs) and enable Auto Scaling.
  4. D
    Store game assets in Amazon S3 and have EC2 instances in private subnets download them via a NAT Gateway to serve them to players. Provision an Amazon DynamoDB Accelerator (DAX) cluster to cache database read queries.

Answer

Deploy an Amazon CloudFront distribution with Amazon S3 as the origin for static game assets, and provision an Amazon DynamoDB Accelerator (DAX) cluster to cache database read queries.
The correct architecture leverages Amazon CloudFront to deliver static assets directly from Amazon S3 to the edge locations nearest to players. This drastically reduces the load on EC2 instances. Furthermore, implementing Amazon DynamoDB Accelerator (DAX) adds a high-performance, in-memory cache for player profiles and leaderboards, delivering microsecond response times and shielding the DynamoDB table from read spikes and throttling.

Step-by-Step Solution

1
Analyze the architecture requirements for static game assets.
Determine that static assets should be served via a Content Delivery Network (CDN) directly to clients, bypassing EC2 and reducing origin load.
Amazon S3 combined with Amazon CloudFront provides low-latency edge caching for static assets.
2
Analyze the database access patterns and latency requirements.
Identify that DynamoDB is experiencing read throttling and needs microsecond-level response times for repetitive read queries.
Amazon DynamoDB Accelerator (DAX) is a fully managed in-memory cache for DynamoDB that delivers up to a 10x10\text{x} performance improvement.
3
Evaluate the integration of the caching layers.
Select the architecture that combines CloudFront for edge asset caching and DAX for database query caching.
This design resolves both EC2 CPU exhaustion and database read bottlenecks while minimizing overall latency.

Key Concept

Multi-tier caching using Amazon CloudFront for static edge delivery and Amazon DynamoDB Accelerator (DAX) for in-memory database query caching.
Estimated Time:3m 0s
Rate this question