What should a solutions architect do to implement this change MOST cost-effectively?
Use S3 events to invoke an AWS Lambda function to process the images.
Use S3 events to launch an EC2 Reserved instance to process the images.
Use S3 events to launch a container in AWS Fargate to process the images.
Use S3 events to deploy an AWS Elastic Beanstalk application to process the images.
Explanations:
AWS Lambda is a serverless compute service that can be triggered by S3 events. It is cost-effective because you only pay for the actual compute time, and since each image takes less than 5 minutes to process, Lambda is a highly cost-efficient solution for this use case.
EC2 Reserved instances are a cost-effective option for consistent, long-term workloads, but they are not suitable for event-driven, on-demand image processing due to the overhead of managing EC2 instances. Additionally, it would be more expensive than serverless solutions like Lambda.
AWS Fargate is a serverless compute engine for containers, but it is more suited for larger, containerized applications. While it could technically process images, it is more expensive and involves more management overhead compared to Lambda for this specific use case.
AWS Elastic Beanstalk is a platform-as-a-service (PaaS) for deploying applications, but it introduces unnecessary complexity and cost for this scenario. Lambda would be simpler and more cost-effective for processing small image files in real-time.