A national election committee is launching a web portal to broadcast live election results. The portal is expected to experience a sudden surge in traffic, scaling from a baseline of concurrent users to over concurrent users within a few minutes as soon as poll results are announced. The portal's current architecture consists of a web application running on Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer (ALB), and a backend Amazon RDS for PostgreSQL Multi-AZ DB instance. The workload is heavily read-intensive, with users constantly fetching the latest precinct counts. Which solution should a solutions architect recommend to ensure the application scales to meet this demand while maintaining high performance and availability?
- Place an Amazon CloudFront distribution in front of the ALB to cache the election results. Request AWS Support to pre-warm the ALB prior to the election, and deploy RDS Read Replicas to offload the read query volume from the primary DB instance.Cevap
- BConfigure an Amazon CloudFront distribution in front of the ALB. Allow the ALB to scale dynamically, and configure the application to route read queries to the standby DB instance of the RDS Multi-AZ deployment to offload the primary DB instance.
- CDeploy Amazon ElastiCache for Memcached with multi-AZ replication enabled to cache database queries. Contact AWS Support to pre-warm the ALB before the event, and route read queries to the replication nodes.
- DConfigure the ALB with dynamic target tracking scaling policies. Set the Auto Scaling group cooldown period to to launch EC2 instances rapidly, and migrate the database to Amazon Aurora MySQL with reader auto-scaling configured.