
Answer-first summary for fast verification
Answer: Use AWS Lambda to process the photos. Store the photos in Amazon S3. Retain DynamoDB to store the metadata.
## Explanation **Option C is the correct answer** because it provides the most scalable and cost-effective solution: 1. **AWS Lambda** provides serverless compute that automatically scales with demand, handling the varying concurrent users throughout the day/week without manual intervention. 2. **Amazon S3** is ideal for storing photos (binary objects) as it offers unlimited scalability, high durability, and cost-effectiveness for object storage. 3. **Retaining DynamoDB** for metadata makes sense because DynamoDB is a NoSQL database that can scale automatically and handle the structured metadata efficiently. **Why other options are incorrect:** - **Option A**: Storing photos in DynamoDB is inefficient and expensive. DynamoDB is designed for structured data, not large binary objects like photos. This would lead to high costs and performance issues. - **Option B**: Amazon Kinesis Data Firehose is designed for streaming data ingestion and delivery to destinations like S3, Redshift, or Elasticsearch. It's not suitable for processing photos with complex image manipulation logic. - **Option D**: Simply increasing EC2 instances to three doesn't provide automatic scaling. The solution still relies on manual scaling and uses EBS volumes which don't scale well for object storage and create single points of failure. **Key AWS services used in the correct solution:** - **AWS Lambda**: Serverless compute for automatic scaling - **Amazon S3**: Scalable object storage for photos - **Amazon DynamoDB**: Scalable NoSQL database for metadata This architecture provides a fully serverless, auto-scaling solution that can handle varying loads efficiently.
Author: LeetQuiz Editorial Team
Ultimate access to all questions.
No comments yet.
A company has created an image analysis application in which users can upload photos and add photo frames to their images. The users upload images and metadata to indicate which photo frames they want to add to their images. The application uses a single Amazon EC2 instance and Amazon DynamoDB to store the metadata.
The application is becoming more popular, and the number of users is increasing. The company expects the number of concurrent users to vary significantly depending on the time of day and day of week. The company must ensure that the application can scale to meet the needs of the growing user base.
Which solution meets these requirements?
A
Use AWS Lambda to process the photos. Store the photos and metadata in DynamoDB.
B
Use Amazon Kinesis Data Firehose to process the photos and to store the photos and metadata.
C
Use AWS Lambda to process the photos. Store the photos in Amazon S3. Retain DynamoDB to store the metadata.
D
Increase the number of EC2 instances to three. Use Provisioned IOPS SSD (io2) Amazon Elastic Block Store (Amazon EBS) volumes to store the photos and metadata.