exam questions

Exam AWS Certified Solutions Architect - Professional All Questions

View all questions & answers for the AWS Certified Solutions Architect - Professional exam

Exam AWS Certified Solutions Architect - Professional topic 1 question 826 discussion

A company is developing a messaging application that is based on a microservices architecture. A separate team develops each microservice by using Amazon
Elastic Container Service (Amazon ECS). The teams deploy the microservices multiple times daily by using AWS CloudFormation and AWS CodePipeline.
The application recently grew in size and complexity. Each service operates correctly on its own during development, but each service produces error messages when it has to interact with other services in production. A solutions architect must improve the application's availability.
Which solution will meet these requirements with the LEAST amount of operational overhead?

  • A. Add an extra stage to CodePipeline for each service. Use the extra stage to deploy each service to a test environment. Test each service after deployment to make sure that no error messages occur.
  • B. Add an AWS::CodeDeployBlueGreen Transform section and Hook section to the template to enable blue/green deployments by using AWS CodeDeploy in CloudFormation. Configure the template to perform ECS blue/green deployments in production.
  • C. Add an extra stage to CodePipeline for each service. Use the extra stage to deploy each service to a test environment. Write integration tests for each service. Run the tests automatically after deployment.
  • D. Use an ECS DeploymentConfiguration parameter in the template to configure AWS CodeDeploy to perform a rolling update of the service. Use a CircuitBreaker property to roll back the deployment if any error occurs during deployment.
Show Suggested Answer Hide Answer
Suggested Answer: B 🗳️

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
AzureDP900
Highly Voted 2 years, 11 months ago
B is right and easy to revert back incase of any issues with deployment
upvoted 7 times
...
frankzeng
Highly Voted 2 years, 11 months ago
C "each service functions successfully on its own during development" means each service works individually, but "when it must communicate with other services in production, each service generates error messages" means getting error with integration. Need to integration test in the pipeline
upvoted 7 times
GeniusMikeLiu
2 years, 10 months ago
B is more better. Question is care more about avalabiliy.
upvoted 2 times
...
...
devilman222
Most Recent 3 months, 2 weeks ago
So this is a really stupid question. With that limited amount of information, you wouldn't solution this. Works in Dev, not all the time in Prod. What's different, data, its being run hundreds of times , etc. The best answer is C running automated tests,
upvoted 1 times
...
rsn
1 year, 3 months ago
Selected Answer: C
I will go with C. Option B does not talk about integration testing. Unless integration test is performed, the actual problem is not going to be resolved
upvoted 1 times
...
hobokabobo
1 year, 8 months ago
Selected Answer: C
Individual Components work but integration fails. We need an integration test which. In CI/CD best practice to use an integration environment aka stage or test environment. dev->stage(int/test)->prod. Best practice solution seems C (in the integration environment we need integration test and not component test: thats why not A) Blue/Green will roll back but only after the error occurs. Not bad but can not replace proper integration.
upvoted 2 times
...
ggrodskiy
1 year, 11 months ago
Correct C
upvoted 2 times
...
wassb
2 years, 1 month ago
Selected Answer: B
Answer is B. A : a service can fail when interacting with other service > No availability C : you need to write the integration test > operational overhead D : if the whole deployments fails and you do the rollback it's too late > no availability
upvoted 1 times
...
JohnPi
2 years, 2 months ago
Selected Answer: C
Add an extra stage to CodePipeline for each service. Use the extra stage to deploy each service to a test environment. Write integration tests for each service. Run the tests automatically after deployment.
upvoted 3 times
JohnPi
2 years, 1 month ago
"C" is a better option
upvoted 3 times
JohnPi
2 years, 1 month ago
B is more better. Question is care more about avalabiliy.
upvoted 1 times
hobokabobo
1 year, 8 months ago
can tell you so much : if anyone does integration experiments on productive service instead going to a separate environment is the single one reason such a someone may become a real problem with me. Production is no playground and blue/green is not for experiments that may fail. Rollout to Prod only after successfull staging test.
upvoted 1 times
...
...
...
...
Rocketeer
2 years, 3 months ago
I think A is right as it specifies tests to be run after the deployment of services. There is no mention of tests in the blue/green deployment option.
upvoted 1 times
Rocketeer
2 years, 3 months ago
After reading the questions again, "C" is a better option than A as the tests are automaticaly run.
upvoted 2 times
...
...
asfsdfsdf
2 years, 4 months ago
Selected Answer: B
B will work efficiently: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html
upvoted 4 times
...
pankajrawat
2 years, 7 months ago
Selected Answer: B
B looks good
upvoted 3 times
...
notabot2
2 years, 11 months ago
I go with B
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 ...