Welcome to ExamTopics
ExamTopics Logo
- Expert Verified, Online, Free.

Unlimited Access

Get Unlimited Contributor Access to the all ExamTopics Exams!
Take advantage of PDF Files for 1000+ Exams along with community discussions and pass IT Certification Exams Easily.

Exam AWS Certified Solutions Architect - Associate SAA-C03 topic 1 question 145 discussion

A company hosts a website analytics application on a single Amazon EC2 On-Demand Instance. The analytics software is written in PHP and uses a MySQL database. The analytics software, the web server that provides PHP, and the database server are all hosted on the EC2 instance. The application is showing signs of performance degradation during busy times and is presenting 5xx errors. The company needs to make the application scale seamlessly.
Which solution will meet these requirements MOST cost-effectively?

  • A. Migrate the database to an Amazon RDS for MySQL DB instance. Create an AMI of the web application. Use the AMI to launch a second EC2 On-Demand Instance. Use an Application Load Balancer to distribute the load to each EC2 instance.
  • B. Migrate the database to an Amazon RDS for MySQL DB instance. Create an AMI of the web application. Use the AMI to launch a second EC2 On-Demand Instance. Use Amazon Route 53 weighted routing to distribute the load across the two EC2 instances.
  • C. Migrate the database to an Amazon Aurora MySQL DB instance. Create an AWS Lambda function to stop the EC2 instance and change the instance type. Create an Amazon CloudWatch alarm to invoke the Lambda function when CPU utilization surpasses 75%.
  • D. Migrate the database to an Amazon Aurora MySQL DB instance. Create an AMI of the web application. Apply the AMI to a launch template. Create an Auto Scaling group with the launch template Configure the launch template to use a Spot Fleet. Attach an Application Load Balancer to the Auto Scaling group.
Show Suggested Answer Hide Answer
Suggested Answer: D 🗳️

Comments

Chosen Answer:
This is a voting comment (?) , you can switch to a simple comment.
Switch to a voting comment New
Konb
Highly Voted 1 year, 2 months ago
Selected Answer: D
I was tempted to pick A but then I realized there are two key requirements: - scale seamlessly - cost-effectively None of A-C give seamless scalability. A and B are about adding second instance (which I assume does not match to "scale seamlessly"). C is about changing instance type. Therefore D is only workable solution to the scalability requirement
upvoted 18 times
pbpally
1 year, 2 months ago
Yup. Got me too. I picked A, saw D, and then reread the "scale seamlessly" part. D is correct.
upvoted 5 times
...
NayeraB
4 months, 3 weeks ago
But wouldn't RDS scale as well? Also Spot instances seems like a bit of a risky decision
upvoted 2 times
...
...
genny
Highly Voted 1 year, 2 months ago
Selected Answer: A
I wouldn't run my website on spot instances. Spot instances might be terminated at any time, and since I need to run analytics application it's not an option for me. And using route 53 for load balancing of 2 instances is an overkill. I go with A.
upvoted 11 times
AZ_Master
7 months, 2 weeks ago
It is spot fleet - not spot instances. They can include On-Demand instances and can also maintain the target capacity automatically. ---- A Spot Fleet is a set of Spot Instances and optionally On-Demand Instances that is launched based on criteria that you specify. The Spot Fleet selects the Spot capacity pools that meet your needs and launches Spot Instances to meet the target capacity for the fleet. By default, Spot Fleets are set to maintain target capacity by launching replacement instances after Spot Instances in the fleet are terminated. Ref: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html
upvoted 11 times
eb7be10
2 months, 1 week ago
While Spot Fleet is temporary, the Auto-Scaling Group builds it back again and again. D is the best answer.
upvoted 1 times
...
...
...
gt520490aws
Most Recent 1 week, 2 days ago
PHP....
upvoted 1 times
...
awsgeek75
5 months, 3 weeks ago
Selected Answer: D
I'll pick D because it sounds fun :)
upvoted 1 times
...
pentium75
6 months, 1 week ago
Selected Answer: D
"Scale seamlessly", none of A-C include scaling at all.
upvoted 1 times
...
xdkonorek2
8 months ago
Selected Answer: D
spot instance receives 2 minutes interruption notice, it should be enough for requests to finish, it's quite unusal for app to run longer requests only option D allow for seamless scaling with autoscaling group
upvoted 1 times
...
BrijMohan08
9 months, 3 weeks ago
Selected Answer: B
Option B is a cost-effective choice that combines the benefits of database migration to RDS, horizontal scaling with EC2 instances, and control over traffic distribution with Route 53 weighted routing, making it the best solution for the given requirements.
upvoted 2 times
pentium75
6 months, 1 week ago
But there's no scaling at all in B.
upvoted 4 times
...
...
TariqKipkemei
10 months ago
Selected Answer: D
Scale seamlessly = Autoscaling group, Amazon Aurora MySQL DB instance Cost effective = Spot Fleet
upvoted 4 times
...
Guru4Cloud
10 months, 3 weeks ago
Selected Answer: D
The key reasons are: Migrating the database to Amazon Aurora MySQL provides a scalable, high performance database to support the application. Creating an AMI of the web application and using it in an Auto Scaling group with Spot instances allows cheap and efficient scaling of the web tier. The Application Load Balancer distributes traffic across the Auto Scaling group. Spot instances in an Auto Scaling group allow cost-optimized automatic scaling based on demand. This approach provides high availability and seamless scaling without manual intervention.
upvoted 4 times
...
cookieMr
1 year ago
D is correct because migrating the database to Amazon Aurora provides better scalability and performance compared to Amazon RDS for MySQL. Creating an AMI of the web application allows for easy replication of the application on multiple instances. Using a launch template and Auto Scaling group with Spot Fleet provides cost optimization by leveraging spot instances. Adding an Application Load Balancer ensures the load is distributed across the instances for seamless scaling. A is incorrect because using an Application Load Balancer with multiple EC2 instances is a better approach for scalability compared to relying on a single instance. B is incorrect because weighted routing in Amazon Route 53 distributes traffic based on fixed weights, which may not dynamically adjust to the changing load. C is incorrect because using AWS Lambda to stop and change the instance type based on CPU utilization is not an efficient way to handle scaling for a web application. Auto Scaling is a better approach for dynamic scaling.
upvoted 3 times
...
jdr75
1 year, 3 months ago
Selected Answer: D
the options that said "launch a second EC2", have no sense ... why 2?, why not 3 or 4 or 5? so options A and B drop. C is no sense (Lambda doing this like a Scaling Group?, absurd) Has to be D. Little extrange cos' Aurora is a very good solution, but NOT CHEAP (remember: cost-effectively). To be honest, the most cost-effectively is B je je
upvoted 2 times
...
SuketuKohli
1 year, 3 months ago
A Spot Fleet is a set of Spot Instances and optionally On-Demand Instances that is launched based on criteria that you specify. The Spot Fleet selects the Spot capacity pools that meet your needs and launches Spot Instances to meet the target capacity for the fleet. By default, Spot Fleets are set to maintain target capacity by launching replacement instances after Spot Instances in the fleet are terminated. You can submit a Spot Fleet as a one-time request, which does not persist after the instances have been terminated. You can include On-Demand Instance requests in a Spot Fleet request.
upvoted 2 times
...
KZM
1 year, 4 months ago
Ans: D Both Amazon RDS for MySQL and Amazon Aurora MySQL are designed to provide customers with fully managed relational database services, but Amazon Aurora MySQL is designed to provide better performance, scalability, and reliability, making it a better option for customers who need high-performance database services.
upvoted 1 times
...
bullrem
1 year, 5 months ago
Selected Answer: D
Using an Auto Scaling group with a launch template and a Spot Fleet allows the company to scale the application seamlessly and cost-effectively, by automatically adding or removing instances based on the demand, and using Spot instances which are spare compute capacity available in the AWS region at a lower price than On-Demand instances. And also by migrating the database to Amazon Aurora MySQL DB instance, it provides higher scalability, availability, and performance than traditional MySQL databases.
upvoted 2 times
...
BakedBacon
1 year, 5 months ago
Selected Answer: D
The answer is D: Migrate the database to Amazon Aurora MySQL - this will let the DB scale on it's own; it'll scale automatically without needing adjustment. Create AMI of the web app and using a launch template - this will make the creating of any future instances of the app seamless. They can then be added to the auto scaling group which will save them money as it will scale up and down based on demand. Using a spot fleet to launch instances- This solves the "MOST cost-effective" portion of the question as spot instances come at a huge discount at the cost of being terminated at any time Amazon deems fit. I think this is why there's a bit of disagreement on this. While it's the most cost effective, it would be a terrible choice if amazon were to terminate that spot instance during a busy period.
upvoted 1 times
...
gustavtd
1 year, 6 months ago
But I have a question, For Spot instance, is it possible that at some time there is no spot resources available at all? because it is not guaranteed, right?
upvoted 4 times
Rupak10
1 year, 4 months ago
Spot fleet not spot instance mentioned over there. Spot fleet = Spot instance + on-demand instance. If we cannot manage the spot instance then we can use an on-demand instance.
upvoted 6 times
RupeC
11 months, 2 weeks ago
Super bit of info. Thanks
upvoted 1 times
...
...
...
Zerotn3
1 year, 6 months ago
Selected Answer: D
Option D is the most cost-effective solution that meets the requirements. Migrating the database to Amazon Aurora MySQL will allow the database to scale automatically, so it can handle an increase in traffic without manual intervention. Creating an AMI of the web application and using a launch template will allow the company to quickly and easily launch new instances of the application, which can then be added to an Auto Scaling group. This will allow the application to automatically scale up and down based on demand, ensuring that there are enough resources to handle busy times without incurring the cost of running idle resources. Using a Spot Fleet to launch the instances will allow the company to take advantage of Amazon's spare capacity and get a discount on their EC2 instances. Attaching an Application Load Balancer to the Auto Scaling group will allow the load to be distributed across all of the available instances, improving the performance and reliability of the application.
upvoted 3 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...
ex Want to SAVE BIG on Certification Exam Prep?
close
ex Unlock All Exams with ExamTopics Pro 75% Off
  • arrow Choose From 1000+ Exams
  • arrow Access to 10 Exams per Month
  • arrow PDF Format Available
  • arrow Inline Discussions
  • arrow No Captcha/Robot Checks
Limited Time Offer
Ends in