exam questions

Exam AWS DevOps Engineer Professional All Questions

View all questions & answers for the AWS DevOps Engineer Professional exam

Exam AWS DevOps Engineer Professional topic 1 question 21 discussion

Exam question from Amazon's AWS DevOps Engineer Professional
Question #: 21
Topic #: 1
[All AWS DevOps Engineer Professional Questions]

A DevOps engineer wants to find a solution to migrate an application from on premises to AWS. The application is running on Linux and needs to run on specific versions of Apache Tomcat, HAProxy, and Varnish Cache to function properly. The application's operating system-level parameters require tuning. The solution must include a way to automate the deployment of new application versions. The infrastructure should be scalable and faulty servers should be replaced automatically.
Which solution should the DevOps engineer use?

  • A. Upload the application as a Docker image that contains all the necessary software to Amazon ECR. Create an Amazon ECS cluster using an AWS Fargate launch type and an Auto Scaling group. Create an AWS CodePipeline pipeline that uses Amazon ECR as a source and Amazon ECS as a deployment provider.
  • B. Upload the application code to an AWS CodeCommit repository with a saved configuration file to configure and install the software. Create an AWS Elastic Beanstalk web server tier and a load balanced-type environment that uses the Tomcat solution stack. Create an AWS CodePipeline pipeline that uses CodeCommit as a source and Elastic Beanstalk as a deployment provider.
  • C. Upload the application code to an AWS CodeCommit repository with a set of .ebextensions files to configure and install the software. Create an AWS Elastic Beanstalk worker tier environment that uses the Tomcat solution stack. Create an AWS CodePipeline pipeline that uses CodeCommit as a source and Elastic Beanstalk as a deployment provider.
  • D. Upload the application code to an AWS CodeCommit repository with an appspec.yml file to configure and install the necessary software. Create an AWS CodeDeploy deployment group associated with an Amazon EC2 Auto Scaling group. Create an AWS CodePipeline pipeline that uses CodeCommit as a source and CodeDeploy as a deployment provider.
Show Suggested Answer Hide Answer
Suggested Answer: D 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
twanc
Highly Voted 3 years, 6 months ago
D - there is nothing like Fargate AutoScaling group - this is serverless approach
upvoted 15 times
JohnnieWalker
3 years, 6 months ago
It should be A. I think none of the other options really address the tunning issues properly. There is a "Service Auto Scaling" on Fargate, but not an "Auto Scaling Group", the wording on this question must be wrong. -> https://aws.amazon.com/premiumsupport/knowledge-center/ecs-fargate-service-auto-scaling/
upvoted 5 times
...
...
WhyIronMan
Highly Voted 3 years, 6 months ago
I'll go with A) Creating a Docker image of these very customized applications is always a good idea Creating a docker image with all necessary apps, data e customizations attend the requirements B, C and D doesn't mention the required customizations of app versions or OS changes. None of them mention an AMI creation
upvoted 12 times
shammous
3 years, 5 months ago
I upvoted but then checked the other comments. MBJames: "Fargate does not allow for OS-level access which means OS parameter tuning would not be an option." So option A is ruled out. With option D, EC2 instances are accessible and can be tuned.
upvoted 3 times
...
notabot2
3 years, 6 months ago
How do you address this case with Fargate? "The applicationג€™s operating system-level parameters require tuning"
upvoted 2 times
beznika
1 year ago
you can address it with a task definition
upvoted 1 times
mikaelaseraph8
8 months, 4 weeks ago
Not always, it depends on the os parameters we'll need to define. Since Fargate's infra is managed by aws, there's very limited freedom when configuring the OS (u can t for example schedule a cronjob in a fargate) so might as well not choose A. Then by elimination, D looked like the best option. It had me at Autoscaling group, and the qst wants a scalable fault tolerant solution
upvoted 1 times
...
...
...
[Removed]
3 years, 5 months ago
Having Apache Tomcat + Varnish + HAProxy on a single Docker image is a container-level suicide. Hence D is the best option here.
upvoted 13 times
Mobasher
2 years, 1 month ago
I don't believe it makes sense to put a web server and a cache and a load balancer all on the same instance or image. We're talking separate instances/containers for each function. The Apache would have it's own container, Varnish fronts the server for caching and HAProxy fronts them all for load balancing. Have separate containers and task definitions for each function and scale accordingly. You wouldn't want to scale the load balancer nodes the same way you do the web servers.
upvoted 3 times
...
...
...
xdkonorek2
Most Recent 1 year, 3 months ago
Selected Answer: A
can't be D because if you install system dependencies using appspec.yml they won't be present when new instance is added to ASG target group B is maybe technically possible to reinstall major dependencies using .ebextensions but it's terrible A is great option, but there is a typo i guess with auto scaling group
upvoted 1 times
...
z_inderjot
1 year, 4 months ago
Selected Answer: A
Only ECS , follow all the conditional laid in the question
upvoted 1 times
...
DZ_Ben
1 year, 6 months ago
I will go with D since Fargate wont give you much more flexibility to configure those OS level params
upvoted 1 times
...
TryH4rd
1 year, 6 months ago
Selected Answer: A
It is A, for those questioning how to do parameter tuning for OS, you can do it via the task definition for ECS Fargate, also about Autoscaling you create an Autoscaling group and associate it with your managed Fargate service.
upvoted 2 times
...
m4r0ck
1 year, 10 months ago
Selected Answer: A
A is the correct answer. As the apps require specific versions fof Tomcat, HAProxy and Varnish Cache, a devops engineer can create docker images based on specific version of their respective images from dockerhub or any other repo then configure environment variables / CMDs that need to be run at the startup of every container. Fargate can be used to launch those containers in a serverless way and any failing container for the above servers can be replaced automatically.
upvoted 1 times
bugincloud
1 year, 7 months ago
what about the OS-level tuning ?
upvoted 1 times
...
...
hp298
2 years, 1 month ago
Selected Answer: D
D looks like correct
upvoted 2 times
...
okm1997_2
2 years, 1 month ago
Selected Answer: D
A is incorrect since OS level parameters can not be done in ECS Fargate, If it was EC2 ECS then we could change the parameters
upvoted 2 times
...
hoomaan
2 years, 2 months ago
I will go with A, when we have different application ECS is the best solution
upvoted 2 times
...
DevOpsJagadGuru
2 years, 2 months ago
B. Upload the application code to an AWS CodeCommit repository with a saved configuration file to configure and install the software. Create an AWS Elastic Beanstalk web server tier and a load-balanced type environment that uses the Tomcat solution stack. Create an AWS CodePipeline pipeline that uses CodeCommit as a source and Elastic Beanstalk as a deployment provider. This solution provides the necessary level of control to configure the application's operating system-level parameters, as well as the ability to use specific versions of Apache Tomcat, HAProxy, and Varnish Cache. The solution also includes automated deployment of new versions through the use of AWS CodePipeline and scalability through the use of AWS Elastic Beanstalk and its ability to automatically replace faulty instances.
upvoted 2 times
...
f3d3x15c0
2 years, 2 months ago
Selected Answer: D
I'll go with D
upvoted 1 times
...
Piccaso
2 years, 2 months ago
Selected Answer: D
A is excluded, AWS Fargate launch does not meet requirement, because the application will be migrated from on premises to AWS B and C highlight only Tomcat solution stack. I do not understand why.
upvoted 1 times
Piccaso
2 years, 2 months ago
I changed my answer from D to A after I read through https://docs.aws.amazon.com/AmazonECS/latest/userguide/what-is-fargate.html
upvoted 1 times
...
...
Bulti
2 years, 3 months ago
Correct answer is D. Key is automated scaling and ability to replace faulty instances with a new one. Only a combination of CodeDeploy and Autoscaling group for EC2 as the target will satisfy this requirement.
upvoted 2 times
...
saeidp
2 years, 4 months ago
D for sure
upvoted 1 times
...
developer_404
2 years, 5 months ago
Selected Answer: D
A - Not good to contain all software in one container. B - Not supporting all servers. C - Same as above. D - Can configure multiple servers including OS level tuning, ASG, Code Deploy. Fulfilling all key requirements.
upvoted 4 times
...
MikeyJ
2 years, 7 months ago
Selected Answer: D
The application's operating system-level parameters require tuning. >EC2 The solution must include a way to automate the deployment of new application versions. >CodePipeline The infrastructure should be scalable and faulty servers should be replaced automatically. >ASG
upvoted 7 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 ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago