The correct answer is C. Host the web application in Amazon S3. Store the uploaded videos in Amazon S3. Use S3 event notification to publish events to the SQS queue. Process the SQS queue with an AWS Lambda function that calls the Amazon Rekognition API to categorize the videos.
Here's why:
- Hosting the web application in S3 reduces operational overhead and removes dependencies on third-party software.
- Storing uploaded videos in S3 allows for scalable and durable storage.
- Using S3 event notification to publish events to the SQS queue decouples the web application from the processing workflow.
- Processing the SQS queue with an AWS Lambda function reduces operational overhead and allows for serverless video categorization using Amazon Rekognition.
This solution meets all the requirements:
- Reduces operational overhead using AWS managed services (S3, Lambda, SQS, Rekognition)
- Removes dependencies on third-party software (custom recognition software)
- Scales with variable traffic and peaks in certain months (S3, Lambda, SQS)