AWS Certified Solutions Architect - Associate SAA-C03 Exam QuestionsBrowse all questions from this exam

AWS Certified Solutions Architect - Associate SAA-C03 Exam - Question 236


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?

Show Answer
Correct Answer: D

To achieve scalability and high availability with minimal changes to the application, using load-balanced Multi-AZ AWS Elastic Beanstalk environments for the front-end and application layers is the best approach. This setup ensures automatic handling of deployments, capacity provisioning, load balancing, and monitoring without significant modifications to the existing application architecture. Moving the database to an Amazon RDS Multi-AZ DB instance ensures database high availability and failover capabilities. Additionally, using Amazon S3 to store and serve users’ images provides a scalable and performant solution for handling static content. This approach maximizes efficiency and minimizes required changes to the application.

Discussion

19 comments
Sign in to comment
PDROption: B
Jul 28, 2023

B and D very similar with D being the 'best' solution but it is not the one that requires the least amount of development changes as the application would need to be changed to store images in S3 instead of DB

pentium75
Jun 28, 2024

B is wrong because single "RDS DB instance" is not HA. No one says that the images are currently stored in S3. Also the requirement is "least amount of change [not "no change"] to the application".

AnininaOption: D
Jul 14, 2023

for "Highly available": Multi-AZ & for "least amount of changes to the application": Elastic Beanstalk automatically handles the deployment, from capacity provisioning, load balancing, auto-scaling to application health monitoring

MorinatorOption: D
Jul 13, 2023

https://www.examtopics.com/discussions/amazon/view/24840-exam-aws-certified-solutions-architect-associate-saa-c02/ Please ExamTopics, review your own answers

cookieMrOption: D
Dec 28, 2023

By using load-balanced Multi-AZ AWS EBS, you achieve scalability and high availability for both layers without requiring significant changes to the application. Moving the DB to an RDS Multi-AZ DB ensures high availability and automatic failover. Storing and serving users' images through S3 provides a scalable and highly available solution. A is incorrect because using S3 for the front-end layer and Lambda for the application layer would require significant changes to the application architecture. Moving the DB to DynamoDB would require rewriting the DB-related code. B is incorrect because using load-balanced Multi-AZ AWS EBS environments and an RDS DB with read replicas for serving images would be a more suitable solution. RDS with read replicas can handle the image-serving workload more efficiently than using S3 for this purpose. C is incorrect because using S3 for the front-end layer and an ASG of EC2 for the application layer would require modifying the application architecture. Storing and serving images from a memory-optimized EC2 type may not be the most efficient and scalable approach compared to using S3.

markw92
Dec 19, 2023

"least amount of change to the application." - A has lots of changes, completely revamping the application and lots of new pieces. D is closest with only addition of s3 to store images which is right move. You do not want images to store in any database anyway.

aaroncelestin
Feb 20, 2024

Thats what I was thinking, but the question doesn't mention anything about storing users' images anywhere. Are we supposed to just assume that they wanted to store the images in a DB even though that is a bad idea?

Guru4CloudOption: D
Mar 11, 2024

Use Elastic Beanstalk load-balanced environments for the web and app tiers. This provides auto scaling and high availability with minimal effort. Move the database to RDS Multi-AZ. This handles scaling reads and storage, and provides HA with automated failover. Use S3 for serving user images. S3 is highly scalable and durable storage. The application code remains unchanged using this approach.

awsgeek75Option: D
Jul 1, 2024

A: Requires changing EC2 application to Lambda. Seems like a big change B: RDS DB is not best option for serve images and also single instance isn't HA C: Memory optimised instance is not HA D: Multi-AZ EBS is lift and shift for EC2 front-end and app later. RDS Multi AZ is HA. S3 for static images is best performance/scalability/availability.

mhmt4438Option: D
Jul 15, 2023

Correct answer is D

wmp7039Option: D
Jul 16, 2023

D is correct as application changes needs to me minimal

focus_23Option: D
Jul 28, 2023

RDS multi AZ.

Grace83
Sep 20, 2023

D is correct

TariqKipkemeiOption: D
Mar 25, 2024

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

BmarodiOption: D
Nov 30, 2023

Option D meets the requirements.

rlamberti
Apr 23, 2024

Option B - DB is not a good option to store images. Read replicas won't improve HA for write, only scalates reading IO. Therefore no true HA achieved. D is the goal for me.

Ruffyit
May 22, 2024

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

ansagrOption: D
Jun 11, 2024

Using Amazon RDS for serving images might not be the optimal solution, as RDS is more suitable for storing structured data in a relational database rather than BLOBs like images. Storing and serving images can be more efficiently handled by object storage services like Amazon S3.

Mia2009687Option: A
Dec 29, 2023

AWS Elastic Beanstalk makes it even easier for developers to quickly deploy and manage applications in the AWS Cloud. Developers simply upload their application, and Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring. I don't quite understand why people choose D.

satyaammmOption: D
Feb 19, 2025

D is the most suitable option here.

SirDNSOption: D
Mar 22, 2025

When we are talking about sharing static content and options have S3 why would I select any other option.