Question

Difficulty: Very hardHigh-Performing Content Delivery and Caching Solutions

A software-as-a-service (SaaS) company hosts a global collaborative mapping platform. The application requires low-latency access to base map tiles (static assets) stored in an Amazon S3 bucket, as well as real-time custom map annotations and metadata (dynamic, read-heavy queries) stored in an Amazon DynamoDB table. During peak geographic events, the application experiences massive, unpredictable spikes in read traffic for both data types. The company wants to optimize the architecture to achieve the lowest possible read latency globally, prevent database throttling, and maintain cost-efficiency. Which two solutions should the Solutions Architect implement to meet these requirements? (Select TWO.)

  1. Deploy an Amazon CloudFront distribution with the Amazon S3 bucket configured as the origin, and configure a cache policy with a default TTL of 86400 seconds for static map assets. Use CloudFront invalidations to update assets when styling changes occur.Answer
  2. B
    Configure an Amazon CloudFront distribution for the Amazon S3 bucket, and set both the Minimum TTL and Default TTL to 0 seconds in the cache behavior to ensure that users always retrieve the latest map tiles directly from the origin.
  3. Enable Amazon DynamoDB Accelerator (DAX) to cache the read queries for custom map annotations, providing microsecond response times and shielding the database table from read spikes.Answer
  4. D
    Configure the Amazon DynamoDB table in Provisioned Capacity Mode with high Read Capacity Units (RCUs) and enable Auto Scaling to dynamically scale to handle the spikes in dynamic read queries.
  5. E
    Set up Amazon API Gateway with API caching enabled in front of the Amazon DynamoDB table, and configure Amazon CloudFront to cache the API Gateway endpoint responses with a TTL of 0 seconds.
  6. F
    Deploy an Amazon ElastiCache for Memcached cluster in each region, and modify the application code to implement a write-through caching strategy for the static S3 map tiles.

Answer

Deploying an Amazon CloudFront distribution with the Amazon S3 bucket configured as the origin, along with enabling Amazon DynamoDB Accelerator (DAX) for dynamic database queries.
To optimize global performance and cost, the architecture must cache assets at appropriate layers. Caching static S3 assets at the edge using Amazon CloudFront with an appropriate TTL reduces origin load and latency. For dynamic reads on DynamoDB, Amazon DynamoDB Accelerator (DAX) provides microsecond read performance and prevents throttling from spiky workloads.

Step-by-Step Solution

1
Analyze the static content delivery requirements.
Identified that static base map tiles are stored in Amazon S3 and require global low-latency access and cost efficiency.
Amazon CloudFront acts as a content delivery network (CDN) to cache static S3 assets closer to users at edge locations, reducing origin load and latency.
2
Evaluate caching policies for static content.
A high Default TTL (e.g., 86400 seconds) should be configured, using manual cache invalidations for occasional styling updates.
Setting the TTL to 0 seconds would defeat the purpose of caching, causing CloudFront to forward all requests back to the S3 origin.
3
Analyze the dynamic content access requirements.
Identified that custom map annotations and metadata are read-heavy, spiky, and stored in Amazon DynamoDB.
Dynamic reads require microsecond-level latency and protection against hot partitions and throttle events during usage spikes.
4
Select the optimal database caching technology.
Amazon DynamoDB Accelerator (DAX) is chosen to cache DynamoDB queries directly.
DAX provides API-compatible, in-memory caching that scales to handle extreme read volumes without modification to query logic or relying on expensive provisioned capacity units.

Key Concept

Multi-tier caching using Amazon CloudFront for static objects and Amazon DynamoDB Accelerator (DAX) for dynamic, low-latency database queries.
Estimated Time:3m 0s
Rate this question