Question

Difficulty: MediumPerformance and Scalability Optimization

A company is designing a high-throughput IoT telemetry ingestion platform on AWS. The platform must process HTTPS data payloads from 500,000 IoT devices sending data every 10 seconds. The ingestion layer must handle sudden, unpredictable 10x spikes in traffic during device registration events without dropping messages. Additionally, the reporting interface requires real-time read access to consolidated sensor status. Which two actions should the solutions architect take to optimize the performance and scalability of this solution? (Select TWO.)

  1. Deploy an Amazon SQS queue to buffer incoming telemetry payloads, allowing backend worker instances to process messages at a controlled rate and protect the database from write exhaustion.Answer
  2. Use an Amazon Aurora DB cluster for the database and configure Aurora Auto Scaling to dynamically scale the number of Aurora Replicas to handle read traffic from the reporting interface.Answer
  3. C
    Deploy an Application Load Balancer (ALB) at the ingestion layer and rely on standard target tracking scaling policies to dynamically scale the load balancer to absorb the instantaneous 10x registration spikes.
  4. D
    Configure the reporting interface to query the secondary standby DB instance of an Amazon RDS Multi-AZ PostgreSQL deployment to offload read traffic during peaks.
  5. E
    Implement Amazon ElastiCache for Memcached to store session data with multi-AZ replication enabled to guarantee persistence during cluster failovers.

Answer

Deploying an Amazon SQS queue to buffer incoming writes, and using an Amazon Aurora DB cluster with Aurora Auto Scaling for replicas to handle read scaling.
To handle sudden write spikes without dropping messages, write workloads should be decoupled and buffered using a message queue like Amazon SQS. To scale reads for the reporting interface, Amazon Aurora's read replicas can be dynamically scaled using Aurora Auto Scaling.

Step-by-Step Solution

1
Address the write scalability and spike protection requirement.
Introduce a message queue (Amazon SQS) to decouple the ingestion layer and buffer the sudden 10x write spikes, shielding the backend database.
Sudden 10x spikes cannot be absorbed immediately by scaling load balancers or databases without buffering, which prevents request loss.
2
Address the read scaling requirement for the reporting interface.
Use Amazon Aurora DB cluster and enable Aurora Auto Scaling for the replicas.
Aurora Auto Scaling automatically adjusts the number of read replicas to handle reporting queries, offloading read traffic from the primary instance.

Key Concept

Decoupling write workloads with message queues and dynamically scaling read capacity using database replicas.
Rate this question