A logistics company is deploying a telemetry system that ingests location data from 500,000 connected devices. The devices send data via HTTPS POST requests to a REST API hosted behind an Application Load Balancer (ALB). During scheduled shift changes, the system experiences instantaneous traffic surges, jumping from 5,000 requests per second to 300,000 requests per second within seconds. The data must be ingested reliably without loss and stored in an Amazon Aurora PostgreSQL database. Read operations for real-time dashboards must be scaled dynamically to handle peak periods. Which two configurations should a Solutions Architect implement to optimize the performance and scalability of this system?
- Deploy Aurora Replicas in the Aurora PostgreSQL cluster and configure Aurora Auto Scaling to dynamically adjust the number of reader nodes based on target tracking metrics.Answer
- Submit a support ticket to AWS to pre-warm the Application Load Balancer before the scheduled shift changes to handle the instantaneous load increase.Answer
- CConfigure target tracking scaling policies directly on the Application Load Balancer to automatically scale the load balancer's internal resources during the traffic spikes.
- DDeploy the Aurora PostgreSQL database in a Multi-AZ configuration and configure the dashboard application to query the standby database instance to distribute the read load.
- EDeploy an Amazon ElastiCache for Memcached cluster with multi-AZ replication enabled to cache dashboard query results and minimize database reads.
Answer
To optimize performance and scalability, the Solutions Architect should deploy Aurora Replicas with Aurora Auto Scaling to dynamically handle dashboard reads, and submit a support ticket to AWS to pre-warm the Application Load Balancer to prevent dropped requests from the scheduled traffic spikes.
Pre-warming the Application Load Balancer ensures that the underlying resources are scaled out ahead of the scheduled surge, preventing connections from being dropped. Using Aurora Replicas with Aurora Auto Scaling dynamically provisions reader instances in response to database read demand, offloading the primary write instance.
Step-by-Step Solution
Key Concept
Handling sudden flash traffic on load balancers via pre-warming, and scaling database read workloads using Aurora Replicas and Aurora Auto Scaling.