Question

Difficulty: MediumPerformance and Scalability Optimization

A telematics system processes telemetry data from a large fleet of commercial delivery vehicles. The architecture consists of an Application Load Balancer (ALB) routing traffic to an Auto Scaling group of EC2 instances, which perform write operations and heavy lookup queries against an Amazon Aurora PostgreSQL database. Every morning at 08:00 UTC, the fleet boots up simultaneously, causing telemetry traffic to spike instantly from 100100 requests per second to 150,000150,000 requests per second. During this time, database read latency increases significantly, causing API request timeouts. Which TWO steps should the solutions architect take to optimize the performance and scalability of this solution? (Select TWO.)

  1. Contact AWS Support to pre-warm the Application Load Balancer to handle the scheduled daily volume of 150,000150,000 requests per second.Answer
  2. Deploy Aurora Replicas to offload read traffic, configure the application to use the reader endpoint for lookup queries, and apply an Aurora Auto Scaling policy.Answer
  3. C
    Allow the Application Load Balancer to scale automatically using its default behavior, and set the Auto Scaling group cooldown period to 1010 seconds to accelerate backend instance launching.
  4. D
    Configure the application to redirect lookup queries to the Amazon RDS Multi-AZ secondary standby instance during peak traffic hours.
  5. E
    Deploy Amazon ElastiCache for Memcached with multi-AZ replication enabled to cache the lookup results and maintain session state persistence.

Answer

To optimize the performance and scalability, the solutions architect should contact AWS Support to pre-warm the Application Load Balancer to handle the sudden morning spike, and deploy Aurora Replicas with Aurora Auto Scaling while directing lookup queries to the reader endpoint.
To successfully handle the sudden daily telemetry spike, two key bottlenecks must be addressed: the load balancer capacity and the database read load. First, the Application Load Balancer must be pre-warmed by contacting AWS Support, as the default scaling algorithm cannot scale up fast enough to handle an instantaneous 1,500-fold1,500\text{-fold} increase in requests. Second, lookup query performance must be scaled by using Aurora Replicas. By configuring the application to target the Aurora reader endpoint and applying an Aurora Auto Scaling policy, the database tier can handle the read-heavy morning traffic without degrading the performance of the write operations on the primary instance.

Step-by-Step Solution

1
Analyze the load balancer scaling characteristics for flash traffic.
The traffic spikes from 100100 to 150,000150,000 requests per second instantaneously, which is a 1,500-fold1,500\text{-fold} increase. The default ALB scaling mechanism is gradual and cannot keep pace, resulting in connection timeouts and dropped packets unless the ALB is pre-warmed.
Pre-warming the load balancer configures the underlying resources in advance to handle the expected spike volume.
2
Analyze the database performance bottleneck under heavy lookup queries.
Read operations against the primary instance increase query latency and cause API timeouts. Moving the lookup queries to read-only instances scales read operations horizontally.
Aurora Replicas allow the reader capacity to scale dynamically through the reader endpoint without impacting the primary writer instance.
3
Identify best practices for scaling read-heavy database architectures in AWS.
Configuring Aurora Auto Scaling to dynamically provision Aurora Replicas based on CPU utilization or connection count ensures performance during peak demand while managing cost during off-peak hours.
This provides automated scalability that matches the load profile of the morning spike.

Key Concept

Load Balancer Pre-warming and Database Read Scaling
Rate this question