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.)
- 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
- 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
- CDeploy 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.
- DConfigure the reporting interface to query the secondary standby DB instance of an Amazon RDS Multi-AZ PostgreSQL deployment to offload read traffic during peaks.
- EImplement 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
Key Concept
Decoupling write workloads with message queues and dynamically scaling read capacity using database replicas.