AWS Certified Solutions Architect - Associate / Question #1180 of 1019

Question #1180

A company has a Python application that processes CSV files and stores the results in an on-premises MySQL database. The application runs several thousand times daily. The company wants to migrate the application to AWS Cloud, requiring a highly available solution that ensures maximum scalability and minimal operational overhead.

Which solution meets these requirements?

A

Store the CSV files in an Amazon S3 bucket. Deploy the Python code on multiple Amazon EC2 instances to process the files. Save the results in an Amazon Aurora DB cluster.

B

Store the CSV files in an Amazon S3 bucket. Configure an AWS Lambda function to execute the Python code and process the files upon upload to the S3 bucket. Save the results in an Amazon Aurora DB cluster.

C

Store the CSV files on an Amazon EBS volume with Multi-Attach enabled. Attach the volume to multiple EC2 instances running the Python code. Save the results in an Amazon RDS MySQL DB instance.

D

Upload the CSV files as messages to an Amazon SQS queue. Deploy the Python code in containers on an Amazon ECS cluster using the EC2 launch type. Process the messages and save the results in an Amazon RDS MySQL DB instance.

Explanation

Option B is correct because:
- AWS Lambda automatically scales with the number of CSV file uploads to S3, ensuring maximum scalability without manual intervention.
- Serverless architecture eliminates EC2 management, reducing operational overhead.
- Amazon Aurora offers MySQL compatibility with high availability and auto-scaling.

Other options are incorrect because:
- A & C rely on EC2 instances, which require manual scaling and increase operational effort.
- D uses ECS with EC2 launch type, which still involves managing infrastructure.
- C uses EBS Multi-Attach, which introduces complexity and is not inherently scalable.

Key Points: Use serverless services (Lambda, S3, Aurora) for scalability and reduced operational tasks in cloud migrations.

Answer

The correct answer is: B