Question

Difficulty: MediumHigh-Performing Content Delivery and Caching Solutions

A company hosts a global car-sharing application on AWS. The application consists of a frontend static website hosted in an Amazon S3 bucket, and a backend REST API hosted on Amazon EC2 instances behind an Application Load Balancer (ALB). The API queries a primary Amazon RDS for MySQL database. Users report slow load times for both the static images of cars and the dynamic vehicle search results. Which two actions should a solutions architect take to improve application performance and reduce latency? (Select TWO.)

  1. Deploy an Amazon CloudFront distribution in front of the Amazon S3 bucket to cache and serve the static vehicle images closer to users.Answer
  2. Implement an Amazon ElastiCache cluster to store and retrieve frequent database query results for vehicle availability.Answer
  3. C
    Configure the Amazon CloudFront distribution with a cache behavior that sets the Minimum TTL, Maximum TTL, and Default TTL to 0 seconds for all static assets.
  4. D
    Route all static media download traffic from the Amazon S3 bucket to the private EC2 instances through a NAT Gateway to speed up internal data processing.
  5. E
    Transition the static vehicle images to Amazon S3 Glacier Flexible Retrieval and configure the application to retrieve them in real-time when a user loads a page.

Answer

Deploying an Amazon CloudFront distribution in front of the S3 bucket to cache static assets, and implementing an Amazon ElastiCache cluster to cache database query results.
Deploying an Amazon CloudFront distribution in front of the S3 bucket caches static vehicle images at edge locations close to global users, reducing load times. Implementing an Amazon ElastiCache cluster caches read-heavy database queries, offloading work from the primary RDS MySQL database and resolving latency issues for the dynamic search REST API.

Step-by-Step Solution

1
Analyze the application components and identify performance bottlenecks for both static assets (vehicle images in S3) and dynamic content (RDS MySQL queries via REST API).
Identified that static assets need caching at the edge and database queries need caching near the application tier.
This establishes a clear optimization plan targeting both frontend and backend layers.
2
Introduce Amazon CloudFront to serve the static assets from the S3 bucket.
Static assets are cached at edge locations, dramatically reducing latency for global users.
CloudFront is the standard AWS global CDN service designed for low-latency distribution of static files.
3
Introduce Amazon ElastiCache in front of the Amazon RDS MySQL database.
Frequent and repetitive SQL queries are cached, offloading read traffic from RDS and providing sub-millisecond response times.
ElastiCache is standard for dynamic read-heavy database caching in high-performing architectures.

Key Concept

Multi-tier caching using Amazon CloudFront for edge content delivery and Amazon ElastiCache for database query acceleration.
Rate this question