Question

Difficulty: MediumPerformance and Scalability Optimization

A SaaS company is launching a real-time reservation platform for dental clinics. The platform must handle a high volume of appointment searches and bookings. During a nationwide promotional campaign, search traffic is expected to scale instantly from a baseline of 500500 requests per second to over 60,00060,000 requests per second. The application runs on Amazon ECS container instances behind an Application Load Balancer (ALB). The primary database is a Multi-AZ Amazon RDS for PostgreSQL DB instance. The application requires highly available, replicated caching of session states and search results, and must scale to meet the demand without dropping requests or overloading the database. Which set of actions should the Solutions Architect take to optimize the performance and scalability of the platform?

  1. Request AWS Support to pre-warm the Application Load Balancer to handle the sudden surge. Deploy an Amazon ElastiCache for Redis cluster with Multi-AZ enabled to cache search results and sessions. Create RDS Read Replicas and configure the application to route read queries to the replicas instead of the primary DB instance.Answer
  2. B
    Rely on the Application Load Balancer's automatic scaling to adjust to the traffic volume. Configure the application to route read queries to the RDS standby DB instance in the secondary Availability Zone to distribute database load. Deploy an Amazon ElastiCache for Memcached cluster to cache search results.
  3. C
    Request AWS Support to pre-warm the Application Load Balancer. Deploy an Amazon ElastiCache for Memcached cluster with automatic failover to cache session states and search results. Route all read queries to the primary RDS DB instance while enabling automatic storage scaling to handle the database load.
  4. D
    Configure the Application Load Balancer with target tracking scaling policies to handle the sudden traffic surge. Deploy an Amazon ElastiCache for Redis cluster to cache search results. Configure the application to route write queries to the primary DB instance and read queries to the RDS standby DB instance.

Answer

Request AWS Support to pre-warm the Application Load Balancer to handle the sudden surge. Deploy an Amazon ElastiCache for Redis cluster with Multi-AZ enabled to cache search results and sessions. Create RDS Read Replicas and configure the application to route read queries to the replicas instead of the primary DB instance.
The correct solution addresses scalability bottlenecks at every tier. First, because the traffic spike is instant (scaling from 500500 to over 60,00060,000 requests per second), the Application Load Balancer must be pre-warmed by contacting AWS Support to prevent connection timeouts and HTTP 502502 or 503503 errors. Second, scaling database read capacity for Amazon RDS PostgreSQL requires the creation of RDS Read Replicas, as Multi-AZ standby instances are passive and cannot serve read traffic. Third, session and search caching requires a highly available, replicated cache. Amazon ElastiCache for Redis supports replication, Multi-AZ, and automatic failover, whereas Amazon ElastiCache for Memcached does not.

Step-by-Step Solution

1
Address the load balancer layer scaling limitation for instant spikes.
Identify that the ALB needs to be pre-warmed by contacting AWS Support, as normal auto-scaling cannot react fast enough to a sudden surge from 500500 to 60,00060,000 requests per second.
Gradual scaling of the ALB under standard conditions will cause connection drops and HTTP 502502 or 503503 errors during the initial minutes of the surge.
2
Select the correct caching engine for replication and high availability.
Choose Amazon ElastiCache for Redis with Multi-AZ enabled rather than Memcached.
The requirement specifies highly available, replicated caching. Memcached does not support replication, Multi-AZ, or automatic failover, whereas Redis does.
3
Select the appropriate mechanism to scale read queries on Amazon RDS.
Deploy RDS Read Replicas and modify the application to point read traffic to their endpoints.
Amazon RDS Multi-AZ deployments use a passive standby DB instance that cannot accept read or write traffic. To scale read operations horizontally, RDS Read Replicas must be provisioned.

Key Concept

Multi-tier scalability design for sudden flash traffic, involving load balancer pre-warming, caching selection (Redis vs. Memcached), and horizontal read-scaling for relational databases.
Estimated Time:2m 0s
Rate this question