What should a solutions architect recommend?
Use AWS Snowball Edge devices to process and store the images.
Upload the images to Amazon Simple Queue Service (Amazon SQS) during intermittent connectivity to EC2 instances.
Configure Amazon Kinesis Data Firehose to create multiple delivery streams aimed separately at the S3 buckets for storage and the EC2 instances for processing the images.
Use AWS Storage Gateway pre-installed on a hardware appliance to cache the images locally for Amazon S3 to process the images when connectivity becomes available.
Explanations:
AWS Snowball Edge devices can be used to collect and process data locally, providing both storage and compute capacity. This is ideal for environments with intermittent connectivity, as the data can be processed on the device before being transferred to AWS S3 when connectivity is available.
Amazon SQS is a message queuing service and does not provide direct storage or processing capabilities. While it can help manage messages between services, it won’t solve the problem of processing images directly or provide storage for them during connectivity issues.
Amazon Kinesis Data Firehose is designed for real-time streaming data but may not be the best fit for handling large image files that require processing. Additionally, intermittent connectivity could lead to data loss or incomplete uploads, making this option less reliable in this scenario.
AWS Storage Gateway provides a way to connect on-premises environments to AWS cloud storage but does not inherently provide local processing capabilities for the images. While it can cache data, it does not directly address the need for immediate image processing due to unreliable connectivity.