AWS Certified Solutions Architect – Associate (SAA-C03) — Question 208
A company has a three-tier application for image sharing. The application uses an Amazon EC2 instance for the front-end layer, another EC2 instance for the application layer, and a third EC2 instance for a MySQL database. A solutions architect must design a scalable and highly available solution that requires the least amount of change to the application.
Which solution meets these requirements?
Answer options
- A. Use Amazon S3 to host the front-end layer. Use AWS Lambda functions for the application layer. Move the database to an Amazon DynamoDB table. Use Amazon S3 to store and serve users’ images.
- B. Use load-balanced Multi-AZ AWS Elastic Beanstalk environments for the front-end layer and the application layer. Move the database to an Amazon RDS DB instance with multiple read replicas to serve users’ images.
- C. Use Amazon S3 to host the front-end layer. Use a fleet of EC2 instances in an Auto Scaling group for the application layer. Move the database to a memory optimized instance type to store and serve users’ images.
- D. Use load-balanced Multi-AZ AWS Elastic Beanstalk environments for the front-end layer and the application layer. Move the database to an Amazon RDS Multi-AZ DB instance. Use Amazon S3 to store and serve users’ images.
Correct answer: D
Explanation
Option D is correct as it offers a scalable and highly available architecture while keeping the application structure mostly intact. It uses load-balanced Multi-AZ AWS Elastic Beanstalk for redundancy and an Amazon RDS Multi-AZ DB instance for database availability. The other options involve more significant changes to the application architecture, such as moving away from EC2 for the application layer or changing database types, which may not meet the requirement of minimal changes.