AWS Certified Solutions Architect – Professional — Question 287
A company has a photo sharing social networking application. To provide a consistent experience for users, the company performs some image processing on the photos uploaded by users before publishing on the application. The image processing is implemented using a set of Python libraries.
The current architecture is as follows:
✑ The image processing Python code runs in a single Amazon EC2 instance and stores the processed images in an Amazon S3 bucket named ImageBucket.
✑ The front-end application, hosted in another bucket, loads the images from ImageBucket to display to users.
With plans for global expansion, the company wants to implement changes in its existing architecture to be able to scale for increased demand on the application and reduce management complexity as the application scales.
Which combination of changes should a solutions architect make? (Choose two.)
Answer options
- A. Place the image processing EC2 instance into an Auto Scaling group.
- B. Use AWS Lambda to run the image processing tasks.
- C. Use Amazon Rekognition for image processing.
- D. Use Amazon CloudFront in front of ImageBucket.
- E. Deploy the applications in an Amazon ECS cluster and apply Service Auto Scaling.
Correct answer: B, D
Explanation
AWS Lambda is the ideal choice for image processing because it is serverless, eliminating server management complexity while automatically scaling in response to S3 upload events. Implementing Amazon CloudFront in front of the ImageBucket caches the processed images at edge locations worldwide, which significantly reduces latency for global users and lowers load on the S3 bucket. Other options like EC2 Auto Scaling or ECS still require managing underlying container or server infrastructure, and Amazon Rekognition is used for image analysis rather than custom image processing.