Question

Difficulty: Very hardPerformance and Scalability Optimization

A connected vehicle manufacturer is launching a real-time performance analytics platform for a global endurance racing event. The platform must ingest telemetry data from 50,00050,000 vehicles streaming 100 KB100\text{ KB} JSON payloads once per second, resulting in an aggregate write throughput of 5 GB/s5\text{ GB/s}. During the starting lap of the race, the traffic pattern exhibits an instantaneous flash spike, rising from a baseline of 100 requests/sec100\text{ requests/sec} to the peak load of 50,000 requests/sec50,000\text{ requests/sec} within a 30 second30\text{ second} window. The platform must ingest this telemetry with sub-100 ms100\text{ ms} latency, update real-time leaderboards, and archive all raw payloads for post-race batch analytics. Which three architectural actions should a Solutions Architect recommend to achieve the required performance and scalability under these conditions?

  1. Deploy a Network Load Balancer to distribute the incoming HTTPS traffic, as it scales to millions of requests per second instantly without pre-warming.Answer
  2. Ingest the telemetry stream into an Amazon Kinesis Data Stream in provisioned mode with 5,0005,000 shards, using the Amazon Kinesis Producer Library on the ingestion targets to aggregate and batch writes.Answer
  3. Maintain and update the real-time leaderboard statistics in Amazon ElastiCache for Redis configured with a replication group and Multi-AZ to support sub-millisecond query performance.Answer
  4. D
    Deploy an Application Load Balancer and configure target tracking scaling policies based on request count per target, relying on the Application Load Balancer's native scaling to absorb the starting-lap traffic spike.
  5. E
    Write incoming telemetry directly to an Amazon Aurora MySQL database cluster, and configure Aurora Auto Scaling to dynamically provision reader replicas to handle the initial write surge during the starting lap.
  6. F
    Configure an Auto Scaling group for the EC2-based ingestion layer with a step scaling policy, reducing the scaling cooldown period to 15 seconds to allow continuous instance launches during the 30-second traffic burst.

Answer

Deploy a Network Load Balancer to handle the sudden flash spike without pre-warming, ingest the stream into a provisioned Amazon Kinesis Data Stream with 5,000 shards using the Kinesis Producer Library, and maintain the real-time leaderboard in Amazon ElastiCache for Redis.
The correct architecture separates the load balancing, ingestion stream, and cache layers. A Network Load Balancer handles sudden, volatile spikes of millions of requests per second natively without requiring pre-warming. Scaling Kinesis Data Streams to 5,000 shards provides the necessary write capacity (5 GB/s5\text{ GB/s}) at the streaming ingestion layer, and using the Kinesis Producer Library optimizes performance via client-side batching. Real-time leaderboard updates require high-performance, low-latency data structures, which are best accommodated by Amazon ElastiCache for Redis.

Step-by-Step Solution

1
Analyze load balancing scaling characteristics for flash traffic.
Identify that Application Load Balancers require pre-warming for immediate 500x spikes, whereas Network Load Balancers route TCP/UDP traffic and handle sudden bursts natively.
Choosing the correct load balancer prevents dropped requests during the 30-second start-of-race spike.
2
Calculate Kinesis Data Streams capacity requirements.
50,000 vehicles×100 KB/s=5,000,000 KB/s=5 GB/s50,000 \text{ vehicles} \times 100 \text{ KB/s} = 5,000,000 \text{ KB/s} = 5 \text{ GB/s}. Since 1 shard supports 1 MB/s1 \text{ MB/s} write, 5,0005,000 shards are required.
Ensures the ingestion stream has sufficient partitioned throughput to handle the write volume without throttling.
3
Select high-throughput database layer for real-time leaderboard updates.
Choose Amazon ElastiCache for Redis over relational replicas.
In-memory data stores provide the sub-millisecond write and read performance required for real-time updates under heavy load, whereas relational read replicas do not scale writes.

Key Concept

Handling rapid flash-traffic spikes at the ingestion layer using Network Load Balancers, scaling decoupled stream ingestion using Provisioned Kinesis shards, and leveraging in-memory databases for high-velocity real-time metrics.
Rate this question