Google Professional Cloud Developer Question 299
Select 3Google Cloud PlatformYour team is deploying a critical microservices-based application on Google Kubernetes Engine (GKE). To ensure resilience, you decide to perform chaos engineering experiments. Which of the following steps are essential to implement failure testing effectively in this scenario?
- A
Define steady-state behavior of the application before running experiments.
- B
Deploy experiments to randomly delete resources in production without prior planning.
- C
Use tools like Chaos Monkey or LitmusChaos to inject faults into your application in a controlled manner.
- D
Monitor application performance metrics and error rates during and after the experiments.
- E
Run chaos experiments only in your local development environment to avoid impacting production.
Show answer and explanation
Correct answers: A, C, D
Explanation
To perform failure testing or chaos engineering effectively, it is essential to define the application's steady-state behavior, use fault injection tools to simulate failures in a controlled environment, and monitor key metrics to analyze the impact. Random or unplanned tests and limiting experiments to non-production environments can result in unreliable results or unnecessary risks. The goal is to build confidence in the system's resilience.
- A. Correct.
Defining the steady-state behavior is crucial as it establishes a baseline for normal application performance. This allows you to measure the impact of chaos experiments and identify anomalies.
- B. Incorrect.
Randomly deleting resources in production without planning can cause unnecessary outages and affect users. Chaos experiments should always be controlled and based on thoughtful hypotheses.
- C. Correct.
Using fault injection tools like Chaos Monkey or LitmusChaos enables you to simulate failures in a controlled and repeatable way, which is central to chaos engineering.
- D. Correct.
Monitoring metrics such as latency, throughput, and error rates is essential to understand how the application behaves under failure conditions and to identify areas of improvement.
- E. Incorrect.
Running chaos experiments only in a local development environment does not provide realistic insights into how the application performs in production-like scenarios. Controlled testing in staging or production is more effective.