Question

Difficulty: HardPerformance and Scalability Optimization

A company is launching a global online ticket booking platform. The architecture consists of an Application Load Balancer (ALB) routing requests to an Amazon Elastic Container Service (Amazon ECS) cluster running on AWS Fargate. The application stores ticket availability and booking details in an Amazon Aurora PostgreSQL database. During major ticket release events, traffic is expected to scale instantly from a baseline of 1,0001,000 requests per second to a peak of 150,000150,000 requests per second. During testing, the rapid surge in traffic caused the ALB to return HTTP 503 Service Unavailable errors. Additionally, the primary database instance suffered from high CPU utilization due to a massive volume of read-only queries from users searching for available seats. The solutions architect must optimize the platform's performance and scalability to handle the flash traffic without dropping requests or degrading the user experience. Which two recommendations should the Solutions Architect make to scale the platform and prevent performance degradation?

  1. Request AWS Support to pre-warm the Application Load Balancer to the expected capacity prior to the ticket release events, to prevent dropped connections from the instantaneous traffic burst.Answer
  2. Deploy Amazon Aurora Replicas in multiple Availability Zones and configure Aurora Auto Scaling to dynamically scale the read capacity based on reader CPU utilization.Answer
  3. C
    Rely on the Application Load Balancer's automatic scaling policies to scale out in response to the traffic surge, as pre-warming is handled natively without prior request.
  4. D
    Configure the application to route search queries to the Amazon RDS Multi-AZ standby instance to offload the primary database instance and scale query capacity.
  5. E
    Deploy an Amazon ElastiCache for Memcached cluster to cache search results and replicate session state with multi-AZ persistence.

Answer

The correct recommendations are to request AWS Support to pre-warm the Application Load Balancer to the expected capacity, and to deploy Amazon Aurora Replicas with Aurora Auto Scaling to handle the read query spikes.
Requesting AWS Support to pre-warm the Application Load Balancer ensures that it is provisioned with sufficient capacity to handle the immediate burst to 150,000 requests per second without dropping connections. Deploying Aurora Replicas and configuring Aurora Auto Scaling allows the platform to dynamically scale the read capacity in response to the spike in search queries, preventing CPU exhaustion on the primary writer node.

Step-by-Step Solution

1
Analyze the load balancer performance characteristics under flash traffic.
Determine that the ALB needs to be pre-warmed to prevent HTTP 503 errors from sudden traffic bursts.
Standard ALB auto-scaling takes time to respond to traffic spikes, making pre-warming necessary for instant spikes.
2
Evaluate the database layer to address high CPU usage caused by read-only queries.
Identify that horizontal scaling of the database reads using Aurora Replicas is required.
Aurora Replicas allow read workloads to be distributed across multiple reader nodes, which can scale dynamically using Aurora Auto Scaling.

Key Concept

Handling flash traffic through ELB pre-warming and database read replica auto-scaling.
Rate this question