Which combination of actions should a solutions architect take to ensure image processing can scale to handle the load?
(Choose three.)
Upload files from the mobile software directly to Amazon S3. Use S3 event notifications to create a message in an Amazon MQ queue.
Upload files from the mobile software directly to Amazon S3. Use S3 event notifications to create a message in an Amazon Simple Queue Service (Amazon SQS) standard queue.
Invoke an AWS Lambda function to perform image processing when a message is available in the queue.
Invoke an S3 Batch Operations job to perform image processing when a message is available in the queue.
Send a push notification to the mobile app by using Amazon Simple Notification Service (Amazon SNS) when processing is complete.
Send a push notification to the mobile app by using Amazon Simple Email Service (Amazon SES) when processing is complete.
Explanations:
While uploading files to Amazon S3 and using event notifications is a valid approach, Amazon MQ is not necessary for this use case. Amazon SQS is a better fit for handling high throughput with minimal operational overhead.
This option is appropriate as it utilizes S3 for storage and SQS for messaging, allowing for efficient processing of the uploaded images. SQS can handle thousands of messages per minute and integrates well with AWS Lambda for processing.
Invoking an AWS Lambda function to process images upon receiving a message from SQS allows for a serverless and scalable approach. Lambda can automatically scale with demand, making it suitable for processing thousands of images efficiently.
S3 Batch Operations is designed for large-scale operations on S3 objects but is not suitable for real-time image processing as needed here. It does not integrate with queues in the same manner as SQS and Lambda, making it less suitable for this scenario.
Sending a push notification via Amazon SNS when processing is complete ensures that users are informed in real-time. SNS is a highly scalable service that allows for notifications to mobile devices efficiently.
While SES can be used to send emails, it is not ideal for real-time notifications for mobile app users. SNS is specifically designed for push notifications to mobile devices, making it a better choice in this context.