Professional Cloud Architect Exam QuestionsBrowse all questions from this exam

Professional Cloud Architect Exam - Question 23


Your solution is producing performance bugs in production that you did not see in staging and test environments. You want to adjust your test and deployment procedures to avoid this problem in the future.

What should you do?

Show Answer
Correct Answer: CD

To address performance bugs that appear in production but not in staging and test environments, it is crucial to make the test and staging environments as similar to production as possible. Increasing the load on test and staging environments helps simulate the real-world conditions your application will face, revealing performance issues that may not surface under lighter or less varied loads. This approach targets the root cause of the issue by ensuring your tests are as robust and realistic as the production environment. Deploying smaller changes or fewer changes to production does not directly address the testing environment discrepancies. While canary deployments can help catch some issues with a smaller user base, they may not fully replicate the performance stress seen in full production, making them insufficient for this specific problem.

Discussion

17 comments
Sign in to comment
ghiteshOption: C
Jan 14, 2020

Question Statement: You want to adjust your test and deployment procedures to avoid this problem in the future So based on this, I think the option "C" is correct, since it is the only one talking about doing changes in the test environment.

VedaSW
Sep 26, 2020

C. Increase the load on your test and staging environments. As you have pointed out in "Question Statement", I do not see C covering "deployment procedures". Test and Staging environment is more on testing, but not about deployment procedure to production. So, the only option that cover test and deployment is D. (Yes, kind of unacceptable to have the users to do "testing", but we make it "ok" by calling it "canary deployment")

francescogugliottagm
Oct 15, 2023

With canary deployment we expose the new version to a small portion of users. With this approach maybe we don't see performance bugs in the canary release, since we don't have the 100% of traffic on the canary. But when we migrate the 100% of traffic to the new release (previous canary) we can see performance bugs.

Urban_Life
Dec 6, 2021

The answer is D

RegisFTM
Dec 30, 2021

"Your solution is producing performance bugs in production..." - I don't see how "D" would help to detect performance bugs. - "C" looks more adequate.

Sephethus
Jun 12, 2024

There is no indication given anywhere that the load is the problem or that the bugs are a result of load and not some other issue encountered when using a specific feature.

ErocOption: D
Oct 24, 2019

A wouldn't prevent the bugs, it would just avoid them. B would help with root-cause analysis because it'd be a smaller change to review. C would test the performance of the system at its peak processing rates, so this assumes the bugs in production only occur because of usage. D would allow you to test the new code against smaller user sets to see if it occurs then, and if it still does you know it is not because of more user responses. So it's a tossup between C and D, D would be the cheaper/quicker answer so I'd choose D first then C if it's because of usage.

Sreekey
Aug 6, 2020

The question is about the performance of the existing Code that they did not detect in Test environments . This is not about new API release . In order to test the performance they should increase the load in test environment and hence answer C.

nitinz
Mar 4, 2021

D, canary rollout

michael_m
Aug 13, 2022

It has nothing to do with the "performance bugs"

michael_m
Aug 13, 2022

According to the question, [Your solution is producing "performance" bugs in production], so I think it is about the load. Plus canary test will not reproduce the bugs related to high load, I vote for C

AzureDP900
Oct 16, 2022

C is the best

MahAliOption: C
Dec 7, 2023

Canary deployment is perfect to test new feature but to do stress testing, I do development for 25 years, when we want to resolve performance and scalability issues we do stress and load testing in pre prod environment, something you can't do by exposing the new feature to subset of users.

jrisl1991Option: D
Sep 25, 2023

I'm going for D. According to ChatGPT: D. The best approach to avoid performance bugs in production that weren't detected in staging and test environments is to gradually roll out changes to a small subset of users before deploying them to production. This way, you can identify and address any issues that may arise in a controlled environment before affecting all users. Why not C: Increasing the load on your test and staging environments, as suggested in option C, can be a valuable strategy for detecting certain types of performance issues related to scalability and load handling. However, it may not address all types of performance bugs or issues that are specific to the production environment. A and B seem a bit obviously wrong. A is incorrect because it would be incompatible with CI/CD, and deploying fewer changes may still introduce bugs regardless of the low frequency. B would help root causing, but may also introduce new bugs that are exclusive to production.

HaigkOption: D
Jun 24, 2024

Without overthinking the wording, canary (and similar) deployment methodologies are often recommended in Google documentation, whereas increasing load in dev environments aren't. (My $0.02...)

Johnny_K35Option: D
Aug 29, 2023

It says bugs "that you did not see in staging and test environments" so should be D

GregwawOption: D
Sep 24, 2023

From the question we don't know anything about reasons of performance problems in production environemnt. We also don't know anything about tests that were performed in test in staging environments. There is no reason to believe that load in test environment is not sufficient. It is always possible that some performance problems occurs only in production environment. It is also not economically reasonable to reproduce full production load in test environemnt. Taking all of this into account I am incling to answer D.

Patrick2708Option: C
Dec 11, 2023

C looks good to me

DA95Option: D
Jul 2, 2023

Answer is D https://www.devopsdigest.com/bugs-in-production-how-to-avoid-unpleasant-surprises

rescolarOption: C
Aug 10, 2023

Bard says it's C so everyone saying D back off inmediately.

duzapoOption: C
Sep 8, 2023

C if you test with a subset group of users you cant test the performance properly

yilexarOption: D
Sep 26, 2023

It is really about Canary deployment

PrakzzOption: D
Oct 3, 2023

It talks about test and deployment Procedures NOT Environment. Answer is D

MarekPLOption: D
Dec 5, 2023

as for C: synthetic load may not cover all scenarios. For D obviously we need to have monitoring in place to see if e.g. system load or response times increased after canary deployment

santoshchauhanOption: D
Mar 12, 2024

D. Deploy changes to a small subset of users before rolling out to production. This approach, known as canary releasing or canary deployment, involves rolling out changes to a small group of users before deploying them to the entire user base. It is a very effective way to catch performance issues that might not have been apparent during testing. C. Increase the load on your test and staging environments: This is definitely a good practice, as it can help simulate production-like conditions more closely. However, it may still not capture all real-world scenarios and user behaviors that can lead to performance issues.

Robert0Option: C
May 25, 2024

Although all answers can be good practices, I think only option C address the problem described.

a2leOption: C
Jun 5, 2024

Me too! I can't see how a "performance bug" might be mitigated via a canary deployment. However, I see that C doesn't cover the "deployment" part of the question, then I deduce that the question is ambiguously formulated.