AWS Certified DevOps Engineer – ProfessionalIncident and Event ResponseEasy
A media company uses Amazon S3 to store large volumes of user-uploaded video content. They need to implement an automated workflow to process these videos (e.g., transcoding, thumbnail generation) as soon as they are uploaded to a specific S3 bucket. The processing should be serverless and scale automatically with the upload volume. Which AWS service combination is most appropriate for initiating this event-driven workflow?
- AAmazon SQS and Amazon ECS
- BAmazon S3 Event Notifications and AWS Lambda
- CAWS Data Pipeline and Amazon Kinesis
- DAWS Step Functions and Amazon EC2
Show answer & explanationAnswer & explanation
Correct answer: B. Amazon S3 Event Notifications and AWS Lambda
Amazon S3 Event Notifications can be configured to trigger an AWS Lambda function whenever a new object is created in a specified S3 bucket. AWS Lambda is a serverless compute service that can execute the video processing logic (transcoding, thumbnail generation) and scale automatically based on the incoming event volume, making this a highly efficient and scalable solution.
Why the other options are wrong
- A. Amazon SQS is a message queue; while it could be part of a larger workflow, S3 Event Notifications directly trigger Lambda without an intermediate queue for this specific use case. Amazon ECS requires managing containers, which is less 'serverless' than Lambda.
- C. AWS Data Pipeline is for scheduled data movement and transformation, not real-time event-driven processing. Amazon Kinesis is for streaming data, which is less direct for S3 object-creation events.
- D. AWS Step Functions orchestrates workflows, but needs an event source. Amazon EC2 is not serverless and would require managing servers for processing.
S3 Event-Driven Processing with Lambda
This pattern leverages Amazon S3 Event Notifications to trigger AWS Lambda functions in response to S3 object-level events, enabling serverless and scalable processing workflows.
- S3 events (e.g., object creation) trigger Lambda.
- Lambda performs custom processing (e.g., transcoding, indexing).
- Provides a highly scalable and cost-effective serverless architecture.
Memory trick: Upload to S3, Lambda gets the call to transform for you and me.