Question

Difficulty: Very hardPerformance and Scalability Optimization

A digital publishing company is preparing to launch a new global subscription portal. The company expects an immediate and massive influx of traffic—growing from a baseline of 2,0002,000 requests per second to over 800,000800,000 requests per second within a 33-minute window—during a live national broadcast.

The proposed architecture consists of:
- An Application Load Balancer (ALB) acting as the entry point.
- An Auto Scaling group of Amazon EC2 instances running a containerized, stateless application.
- A single-primary Amazon RDS for PostgreSQL database deployed across multiple Availability Zones (Multi-AZ) to handle user profiles and subscriptions. Database analysis indicates that the workload during peak traffic will be highly read-intensive, with a 10:110:1 ratio of read operations to write operations.

Which two actions should the solutions architect take to meet the performance and scalability requirements of this launch?

  1. Open a support ticket to pre-provision capacity on the Application Load Balancer, specifying the expected peak rate of 800,000800,000 requests per second and the 33-minute ramp-up timeline.Answer
  2. Migrate the backend database to Amazon Aurora PostgreSQL, and configure Aurora Auto Scaling to dynamically provision Aurora Replicas based on reader instance CPU utilization.Answer
  3. C
    Enable cross-zone load balancing and rely on the Application Load Balancer's automatic scaling to dynamically provision new IP addresses in response to sudden connection failures.
  4. D
    Configure the application to route read queries to the standby instance of the Multi-AZ Amazon RDS PostgreSQL deployment to distribute the read load.
  5. E
    Deploy an Amazon ElastiCache for Memcached cluster to cache database queries, enabling multi-AZ replication to ensure session data is preserved if a cache node fails.

Answer

To ensure the application scales and performs under sudden peak load, the solutions architect must open a support ticket to pre-provision Application Load Balancer capacity, and migrate the database to Amazon Aurora PostgreSQL to utilize dynamically scaled Aurora Replicas for the heavy read workload.
To scale for an immediate spike from 2,0002,000 to 800,000800,000 requests per second, the Application Load Balancer must be pre-warmed by AWS Support to ensure the underlying nodes can handle the initial volume without dropping packets. Furthermore, offloading read queries to dynamically scaled Aurora Replicas on Amazon Aurora PostgreSQL effectively handles the 10:110:1 read-to-write ratio, ensuring the primary database instance is not overwhelmed.

Step-by-Step Solution

1
Analyze the traffic profile and load balancer capability.
Identify that a traffic jump from 2,0002,000 to 800,000800,000 requests per second in 33 minutes exceeds the automatic scaling rate of the Application Load Balancer.
The Application Load Balancer scales in response to steady increases, but extreme, near-instantaneous spikes require pre-warming (pre-provisioning) by AWS Support to prevent connection drops.
2
Evaluate the database read scaling requirements.
Determine that a 10:110:1 read-to-write ratio requires a database engine that supports horizontal read scaling.
Amazon RDS Multi-AZ deployments use a passive standby that cannot serve read requests. Migrating to Amazon Aurora PostgreSQL allows the use of up to 1515 Aurora Replicas to offload read traffic.
3
Configure dynamic scaling for the read replicas.
Implement Aurora Auto Scaling based on CPU utilization to handle dynamic read request volume changes.
This ensures that as the read load increases during the national broadcast, new read replicas are automatically created, and as traffic subsides, they are removed to control costs.

Key Concept

Scaling load balancers for instant traffic surges and horizontal database read scaling.
Rate this question