exam questions

Exam Professional Cloud Architect All Questions

View all questions & answers for the Professional Cloud Architect exam

Exam Professional Cloud Architect topic 1 question 135 discussion

Actual exam question from Google's Professional Cloud Architect
Question #: 135
Topic #: 1
[All Professional Cloud Architect Questions]

You are developing your microservices application on Google Kubernetes Engine. During testing, you want to validate the behavior of your application in case a specific microservice should suddenly crash. What should you do?

  • A. Add a taint to one of the nodes of the Kubernetes cluster. For the specific microservice, configure a pod anti-affinity label that has the name of the tainted node as a value.
  • B. Use Istio's fault injection on the particular microservice whose faulty behavior you want to simulate.
  • C. Destroy one of the nodes of the Kubernetes cluster to observe the behavior.
  • D. Configure Istio's traffic management features to steer the traffic away from a crashing microservice.
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
TotoroChina
Highly Voted 3 years, 3 months ago
Answer is B. application crash, not node.
upvoted 45 times
XDevX
3 years, 3 months ago
I see it the same way - it is b)
upvoted 5 times
...
...
XDevX
Highly Voted 3 years, 3 months ago
I think that c) is not the correct answer. I am not a GKE or Kubernetes expert, so maybe I am wrong. My understanding is, that in Kubernetes a microservice can run on pods on different nodes and one node can contain pods running differend microservices - so to kill one node will not kill a microservice but several pods running on that node. Please correct me if I am wrong.
upvoted 22 times
...
plumbig11
Most Recent 3 months, 3 weeks ago
Selected Answer: B
in this case Istio's fault injection on the particular microservice
upvoted 1 times
...
de1001c
4 months, 2 weeks ago
Selected Answer: B
Between B and C. C is the wrong answer as the microservice may very well be running in one of the other nodes that were not destroyed.
upvoted 2 times
...
hzaoui
9 months ago
Selected Answer: B
Fault injection is a technique used in chaos engineering to deliberately introduce errors into a system to test its resilience and observe its behavior under failure conditions. Istio is a service mesh that can manage the traffic between microservices. It includes fault injection capabilities that enable you to simulate failures such as delays or crashed services without actually stopping the service or damaging the environment. This allows you to validate how the rest of your application reacts to the failure of a specific microservice.
upvoted 5 times
...
ammonia_free
9 months, 2 weeks ago
Selected Answer: B
Testing Objective: The choice between options B and C depends on the testing objectives. If the goal is to understand the behavior of the system when a specific microservice fails (this is how the question is formulated), then a targeted approach (Option B) is more appropriate. If the goal is to understand the broader resiliency of the system to node failures, then Option C would be more relevant. Microservice Focus: Given the question's focus on a specific microservice, Istio's fault injection (Option B) provides a more direct and controlled way to simulate the failure of that microservice and observe the system's response, aligning better with the scenario described.
upvoted 1 times
...
spuyol
9 months, 3 weeks ago
Selected Answer: B Kill one randomly selected k8s cluster node doesn't guarantee you kill pods of the microservice. The node could or colud not have microservices of that app running on it.
upvoted 1 times
...
JoeJoe
11 months, 1 week ago
IMHO the right answer is C. This link clearly explains why (remember that we are in a testing environment, so what's the problem in generating a cras of an entire node of the cluster?): https://www.linkedin.com/pulse/google-cloud-architect-case-study-5-biswa-prakash-nayak/
upvoted 1 times
Gino17m
6 months ago
The problem is that according to the question: "During testing, you want to validate the behavior of your application in case a specific micsoservice should suddenly crash"....Even on testing environment specific microservice can run on more then one node and not on the one you destroyed.....moreover you should not affect other parts o the application (other microservices running on the destroyed node)
upvoted 1 times
...
...
MiguelMiguel
12 months ago
B is the correct option, if you deleted a node you will deleted more than the microservices that you wanted to eliminated.
upvoted 1 times
...
someone2011
1 year, 1 month ago
https://istiobyexample.dev/fault-injection/ In a Kubernetes environment, you can approach chaos testing at different layers - for instance, by deleting pods at random, or shutting off entire nodes. But failures also happen at the application layer. Infinite loops, broken client libraries - application code can fail in an infinite number of ways! This is where Istio fault injection comes in. You can use Istio VirtualServices to do chaos testing at the application layer, by injecting timeouts or HTTP errors into your services, without actually updating your app code. Let’s see how. So both C and B work.
upvoted 2 times
someone2011
1 year, 1 month ago
Probably C is the best to simulate the entire microservice crashing.
upvoted 2 times
...
...
rakp
1 year, 1 month ago
B seems correct. Istio's fault injection is right way to introduce fault.
upvoted 2 times
...
BiddlyBdoyng
1 year, 4 months ago
I think perhaps C is correct due to the very specific test scenario. Chaos testing would be great for generally resilience test but it wants to test the behaviour of the app when the microservice crashed. Shutting down the microservice seems the simplest way to test this scenario.
upvoted 1 times
JoeJoe
11 months, 1 week ago
I agree, mostly because we are in a testing environment, so a node crash is not a great disaster even if there are other microservices running in thst node's pods.
upvoted 1 times
...
...
BeCalm
1 year, 7 months ago
Isn’t Istio used in the context of Anthos vs. GKE?
upvoted 1 times
...
roaming_panda
1 year, 9 months ago
Selected Answer: B
Istio fault injection :https://istiobyexample.dev/fault-injection/
upvoted 2 times
...
surajkrishnamurthy
1 year, 10 months ago
Selected Answer: B
B is the correct answer
upvoted 1 times
...
ale_brd_111
1 year, 10 months ago
Selected Answer: B
Istio is replicated and replaced by Anthos service mesh, please update the answer.
upvoted 2 times
...
megumin
1 year, 11 months ago
Selected Answer: B
B is ok
upvoted 1 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