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:
Uploading files to Amazon S3 and using S3 event notifications to trigger a message in an Amazon SQS queue ensures that files are uploaded and queued for processing. SQS is highly scalable and supports large volumes of messages, making it ideal for this use case.
Using an AWS Lambda function to process images when a message is available in the SQS queue allows for automatic, serverless image processing that scales with the load. Lambda can handle multiple concurrent invocations, making it a good fit for processing large volumes of images during peak usage times.
Sending a push notification using Amazon SNS when processing is complete ensures users are notified promptly once the image processing is done. SNS is scalable and can handle the peak load of notifications.
While Amazon MQ could be used in some cases, it is less appropriate here compared to SQS. SQS provides better scalability and ease of integration with Lambda for handling thousands of messages per minute.
S3 Batch Operations are designed for bulk processing of S3 objects. This is not suitable for the real-time processing required by this use case. Using Lambda with SQS is a more flexible and scalable solution.
While SES can send email notifications, it is not suitable for real-time push notifications. SNS is better suited for sending real-time push notifications to mobile apps.