AWS Certified Solutions Architect – Associate (SAA-C02) — Question 729
A company has a three-tier image-sharing application. 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 and AWS Lambda functions for the application layer. Move the database to an Amazon DynamoDB table and use Amazon S3 to store and serve users' images.
- B. Use load-balanced Multi-AZ AWS Elastic Beanstalk environments for the front-end and the application layer. Move the database to an Amazon RDS instance with multiple read replicas to serve users' images.
- C. Use Amazon S3 to host the front-end layer and a fleet of Amazon 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
AWS Elastic Beanstalk provides an easy way to deploy and scale applications on EC2 without requiring significant code changes, making it ideal for the front-end and application layers. Moving the database to an Amazon RDS Multi-AZ DB instance introduces high availability and automated failover with minimal migration effort compared to refactoring to NoSQL. Finally, offloading image storage to Amazon S3 ensures durable, highly available, and scalable object storage, which is the recommended architectural pattern for media files.