exam questions

Exam 350-901 All Questions

View all questions & answers for the 350-901 exam

Exam 350-901 topic 1 question 61 discussion

Actual exam question from Cisco's 350-901
Question #: 61
Topic #: 1
[All 350-901 Questions]


Refer to the exhibit. The application follows a containerized microservices architecture that has one container per microservice. The microservices communicate with each other by using REST APIs. The double-headed arrows in the diagram display chains of synchronous HTTP calls needed for a single user request.
Which action ensures the resilience of the application in the scope of a single user request?

  • A. Implement retries with exponential backoff during HTTP API calls.
  • B. Set up multiple instances of each microservice in active/active mode by using the Orchestrator.
  • C. Redesign the application to be separated into these three layers: Presentation, API, and Data.
  • D. Create two virtual machines that each host an instance of the application and set up a cluster.
Show Suggested Answer Hide Answer
Suggested Answer: A 🗳️

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
designated
Highly Voted 1 year, 4 months ago
Selected Answer: A
The correct answer is A. Resilience is the ability to provide and maintain an acceptable level of service in the face of unexpected faults and challenges to a normal operation. In summary, resilience tries to live through the failure with error handling and error correction, while high availability’s goal is to detect and work around the failure by replacing a broken component. Key: Retries: Used to repeat the same operation a few times in the hope of working around a temporary network or systems problem. There are a few things to consider with retries: if the problem is resource utilization, retries can add more stress, so it’s a good idea to use exponential backoff or a circuit breaker. Also, sometimes requests may actually go through, so calls should be idempotent (for example, “delete X” rather than “delete the last item”).
upvoted 7 times
designated
1 year, 4 months ago
The following methods make applications more resilient: - Parameter checking: Complete parameter checking in functions and objects is used to protect from broken or malicious calls and return values. - Timeouts: Used to avoid waiting for a response forever to preserve application responsiveness. Timeouts require some tuning: they should be high enough to allow slower responses but low enough to stop waiting for a response that is never going to arrive. - Asynchronous communication: Used to decouple the sender from the receiver and prevent failures dues to failing/slow resources. - Fan out and use the quickest response: Used to send many requests. The first, quickest reply is used, and all other responses are discarded to reduce latency impact (but the tradeoff is a waste of resources).
upvoted 2 times
designated
1 year, 4 months ago
- Fail fast: “If you know you’re going to fail, do it fast.” Fail fast is used to avoid foreseeable failures; add checks before costly actions. - Circuit breaker: If calls fail multiple times, a circuit breaker takes the resource offline and returns an error right away on the next attempts (this is a variant of “fail fast”). - Retries: Used to repeat the same operation a few times in the hope of working around a temporary network or systems problem. There are a few things to consider with retries: if the problem is resource utilization, retries can add more stress, so it’s a good idea to use exponential backoff or a circuit breaker. Also, sometimes requests may actually go through, so calls should be idempotent (for example, “delete X” rather than “delete the last item”). - Fallback mechanisms: Used to continue the execution using the default value in case of a failed request to another service. The value can be predefined or use cached data. This method is not always possible (for example, should we assume a credit card is valid when online verification request timed out?).
upvoted 2 times
...
...
...
samael666
Most Recent 3 weeks ago
Selected Answer: A
it would have been B if it hadn't said this " in the scope of a single user request"
upvoted 1 times
...
isaacmejia
2 months ago
Selected Answer: A
The correct answer is A.
upvoted 1 times
...
NetGirl
1 year, 3 months ago
I agree with A The question is about resilience, not uptime.
upvoted 1 times
...
QuiShong
1 year, 7 months ago
Selected Answer: A
I'm torn between A and B. A seems more likely as it's within a single request. Multiple instances in A/A do nothing for the resiliency of a single request. They do make the environment more available, but don't help when there is an error in the application. In case of an error or intermittent failure, you need to retry, not have the environment be HA.
upvoted 1 times
...
enough98
1 year, 8 months ago
Selected Answer: A
I'm for A
upvoted 1 times
enough98
1 year, 8 months ago
This technique embraces the fact that cloud resources might intermittently be unavailable for more than a few seconds for any reason.
upvoted 1 times
...
...
CiscoRider
1 year, 8 months ago
Guys, I believe the correct answer is A for the following reasons. quoting from the devcor study guide "resiliences tries to live through the failure with error handling and error correction, while high availability's goal is to detect and work around the failure by replacing a broken component". Having redundancy in active active, is more related with high availability, at the contrary, retries and Fallback mechanisms are methods of Resilience.
upvoted 2 times
...
__al__
1 year, 9 months ago
As it is usual with cisco certs, more than 1 possible answer. Both B and C look good, as they both provide increased resilience. I would go with C, because the question says "... in the scope of a single request". From a single request's POV, having another active replica of whatever service it is requesting does not make things more resilient. Having the next layer of the service abstracted away (as it is with the presentation/app/data paradigm) is.
upvoted 1 times
...
mairo3000
1 year, 10 months ago
Selected Answer: B
I think B is correct as it provides resiliency capabilities, redesigning this for the 3-layer not necessary adds resiliency.
upvoted 1 times
...
dexilec82
1 year, 11 months ago
The premise is the application follows a containerized microservices architecture that has one container per microservice and the question is asking how to make the application resilient so how do you make it resilient, create redundancy by setting up multiple instances of each microservice in active/active mode by using the Orchestrator so that if a container fails it is redundant. Answer is B.
upvoted 3 times
...
duracell
2 years ago
IMO C is correct.
upvoted 2 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