AWS Certified Solutions Architect Associate SAA-C03 Practice Question
A media company wants to build an application that processes user-uploaded videos. The videos must be transcoded into multiple formats, and the processing layer should scale automatically based on the number of uploads. The architecture must guarantee that no video is lost and that every video is eventually processed, even if retries are required. Duplicate processing must be prevented or safely handled.
Use Amazon SQS to decouple processing tasks, with AWS Lambda functions triggered by queue events to transcode videos and built-in idempotency to handle possible duplicate deliveries.
Deploy a monolithic application on a single Amazon EC2 instance to process video uploads.
Set up an Elastic Load Balancer in front of Amazon EC2 instances that process video uploads synchronously as they are received.
Use an Auto Scaling group of Amazon EC2 instances that poll a database for new video uploads and process them.
Using Amazon SQS to decouple the processing tasks allows the application to handle video uploads asynchronously. An AWS Lambda function can be triggered by queue events to start the transcoding workflow, and Lambda scales automatically with the queue depth. Because Lambda deletes a message from the queue only after the function finishes successfully, the design provides at-least-once delivery with no data loss. By using a FIFO queue or by adding idempotency controls, the solution prevents a video from being transcoded more than once if a duplicate delivery occurs.
Continuously polling a database is inefficient and adds operational overhead while still requiring custom retry logic. Processing uploads synchronously behind an Elastic Load Balancer introduces tight coupling and limits throughput. A single Amazon EC2 instance is neither scalable nor fault tolerant.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is Amazon SQS and how does it help in decoupling tasks?
Open an interactive chat with Bash
What is AWS Lambda idempotency, and why is it important in this architecture?
Open an interactive chat with Bash
How does the at-least-once delivery guarantee in Amazon SQS work?