A media company is launching a live voting application for a popular television show finale. During the -minute voting window, concurrent user connections are expected to spike instantaneously from a baseline of requests per second to requests per second. The application must perform a read-heavy database query to verify a voter's eligibility before recording their vote. The application runs on Amazon ECS with Amazon Aurora MySQL as the database. Which architectural design will meet these scalability requirements with the lowest latency?
- ARely on the default Application Load Balancer auto-scaling to dynamically handle the traffic spike. Configure the Amazon Aurora database with Multi-AZ deployment and route the eligibility checks to the standby instance to distribute the load.
- BRely on the default Application Load Balancer auto-scaling to scale out as traffic increases. Pre-provision the required number of Aurora Replicas before the voting window opens and configure the application to query the reader endpoint.
- Submit a support request to AWS to pre-warm the Application Load Balancers (ALBs) to the expected traffic volume before the event. Manually provision the required number of Aurora Replicas prior to the voting window and use the reader endpoint for eligibility checks.Answer
- DSubmit a support request to AWS to pre-warm the Application Load Balancers (ALBs) to the expected traffic volume before the event. Route eligibility checks to the Aurora primary instance and rely on Multi-AZ standby instances to dynamically scale read capacity during peak load.
Answer
Submit a support request to AWS to pre-warm the Application Load Balancers (ALBs) to the expected traffic volume before the event. Manually provision the required number of Aurora Replicas prior to the voting window and use the reader endpoint for eligibility checks.
The correct answer recommends pre-warming the Application Load Balancers (ALBs) and manually pre-provisioning Aurora Replicas. An instantaneous traffic spike from to requests per second exceeds the default scaling rate of ALBs, leading to dropped requests unless they are pre-warmed by AWS Support. Furthermore, database auto-scaling is too slow to react to an instantaneous surge, meaning database replicas must be manually provisioned in advance. Using the reader endpoint properly distributes the read-heavy query load across these replicas.
Step-by-Step Solution
Key Concept
Handling flash traffic surges and scaling database read capacity in AWS require pre-provisioning and pre-warming because automated scaling mechanisms have a startup latency.