A global sports streaming platform is launching a new interactive live-betting feature for an upcoming championship event. The platform expects an instantaneous surge in traffic, growing from a baseline of requests per second to over concurrent write-heavy API requests per second within a -minute window whenever a critical game event occurs. The backend architecture must process these bets with sub-10 millisecond database write latencies and support real-time read queries for live odds updates, which scale dynamically based on active viewers. The current design draft proposes using an Application Load Balancer (ALB) backed by an Amazon Auto Scaling group of Amazon EC2 instances, with Amazon Aurora PostgreSQL as the primary database.
Which architecture optimization strategy will meet these performance and scalability requirements with the least operational overhead?
- AConfigure the Application Load Balancer (ALB) to rely on its default automatic scaling behaviors to absorb the traffic burst. Deploy an Amazon Aurora PostgreSQL DB cluster, configure Aurora Serverless v2 to automatically scale the writer node, and implement Aurora Auto Scaling to dynamically add read replicas to handle live odds query spikes.
- BContact AWS Support to pre-warm the Application Load Balancer (ALB) for the target transaction volume. To manage database scaling, deploy a primary Amazon RDS for PostgreSQL DB instance with a Multi-AZ standby replica, and configure the application to route read queries for live odds directly to the standby replica.
- Contact AWS Support to pre-warm the Application Load Balancer (ALB) for the anticipated traffic volume. Migrate the ingestion tier to Amazon DynamoDB with pre-split partitions and provisioned capacity to handle the write burst, and deploy Amazon DynamoDB Accelerator (DAX) to deliver sub-millisecond read latency for live odds.Answer
- DUtilize Amazon Route 53 latency routing to distribute the traffic across multiple Application Load Balancers (ALBs) without pre-warming. Deploy Amazon Aurora PostgreSQL and configure an Amazon ElastiCache for Memcached cluster to act as a database cache, relying on the application to dynamically write updates to Memcached and database standby instances simultaneously.