AWS Certified Solutions Architect Associate SAA-C03 Practice Question
A media company wants to build an application that processes user-uploaded videos. The videos need to be transcoded into multiple formats, and the processing should scale automatically based on the number of uploads. The application must ensure that each video is processed exactly once and handle failures without losing any data.
Which solution will meet these requirements most effectively?
Use Amazon SQS to decouple processing tasks, with AWS Lambda functions triggered by queue events to transcode videos.
Deploy a monolithic application on a single Amazon EC2 instance to process video uploads.
Use an Auto Scaling group of Amazon EC2 instances that poll a database for new video uploads and process them.
Set up an Elastic Load Balancer in front of Amazon EC2 instances that process video uploads synchronously as they are received.
Using Amazon SQS to decouple the processing tasks allows the application to handle video uploads asynchronously. AWS Lambda function can be triggered by queue events to transcode videos, providing automatic scaling and ensuring each video is processed exactly once. This architecture is resilient to failures because messages remain in the queue until processed successfully.
Continuously polling a database is inefficient and does not guarantee exactly-once processing or fault tolerance. Processing uploads synchronously can lead to bottlenecks and does not decouple the components for better scalability. Using a single Amazon EC2 instance is not scalable and introduces a single point of failure.
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 work?
Open an interactive chat with Bash
What are AWS Lambda functions and how are they triggered?
Open an interactive chat with Bash
How does exactly-once processing work in SQS and Lambda?