Cyber Monday 2024! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

Salesforce Exam MuleSoft Platform Architect I Topic 5 Question 19 Discussion

Actual exam question for Salesforce's MuleSoft Platform Architect I exam
Question #: 19
Topic #: 5
[All MuleSoft Platform Architect I Questions]

A retail company is using an Order API to accept new orders. The Order API uses a JMS queue to submit orders to a backend order management service. The normal load for orders is being handled using two (2) CloudHub workers, each configured with 0.2 vCore. The CPU load of each CloudHub worker normally runs well below 70%. However, several times during the year the Order API gets four times (4x) the average number of orders. This causes the CloudHub worker CPU load to exceed 90% and the order submission time to exceed 30 seconds. The cause, however, is NOT the backend order management service, which still responds fast enough to meet the response SLA for the Order API. What is the MOST resource-efficient way to configure the Mule application's CloudHub deployment to help the company cope with this performance challenge?

Show Suggested Answer Hide Answer
Suggested Answer: D

Correct Answer : Use a horizontal CloudHub autoscaling policy that triggers on CPU utilization greater than 70%

*****************************************

The scenario in the question is very clearly stating that the usual traffic in the year is pretty well handled by the existing worker configuration with CPU running well below 70%. The problem occurs only 'sometimes' occasionally when there is spike in the number of orders coming in.

So, based on above, We neither need to permanently increase the size of each worker nor need to permanently increase the number of workers. This is unnecessary as other than those 'occasional' times the resources are idle and wasted.

We have two options left now. Either to use horizontal Cloudhub autoscaling policy to automatically increase the number of workers or to use vertical Cloudhub autoscaling policy to automatically increase the vCore size of each worker.

Here, we need to take two things into consideration:

1. CPU

2. Order Submission Rate to JMS Queue

>> From CPU perspective, both the options (horizontal and vertical scaling) solves the issue. Both helps to bring down the usage below 90%.

>> However, If we go with Vertical Scaling, then from Order Submission Rate perspective, as the application is still being load balanced with two workers only, there may not be much improvement in the incoming request processing rate and order submission rate to JMS queue. The throughput would be same as before. Only CPU utilization comes down.

>> But, if we go with Horizontal Scaling, it will spawn new workers and adds extra hand to increase the throughput as more workers are being load balanced now. This way we can address both CPU and Order Submission rate.

Hence, Horizontal CloudHub Autoscaling policy is the right and best answer.


Contribute your Thoughts:

Francoise
2 months ago
Haha, this is like playing Tetris with infrastructure! I'd go for option D and let the system scale up and down as needed. Why waste resources when you don't have to?
upvoted 0 times
Mozelle
1 months ago
Definitely, it's like having a smart infrastructure that adapts to the workload. Option D is the way to go.
upvoted 0 times
...
Jannette
2 months ago
Yeah, it's like having a self-adjusting system. No need to manually increase resources all the time.
upvoted 0 times
...
Miss
2 months ago
I agree, option D seems like the most efficient choice. Let the system handle the scaling automatically.
upvoted 0 times
...
...
Paulene
2 months ago
I'm not sure, I'm leaning towards option B. Vertical autoscaling might be a good compromise between the two extremes.
upvoted 0 times
...
Selma
2 months ago
But increasing the number of workers in option C could also help distribute the load better.
upvoted 0 times
...
Jimmie
2 months ago
I'm with Ivory on this one. Horizontal autoscaling makes the most sense to me. Permanently increasing the resources seems like overkill for those few peak times.
upvoted 0 times
Micaela
1 months ago
Horizontal autoscaling would definitely help optimize resource usage during peak times.
upvoted 0 times
...
Kathrine
2 months ago
Permanently increasing resources does seem like overkill for occasional spikes in orders.
upvoted 0 times
...
Ula
2 months ago
I agree, it seems like the most efficient solution for handling peak times.
upvoted 0 times
...
Julianna
2 months ago
I think using horizontal autoscaling is the way to go.
upvoted 0 times
...
...
Beula
2 months ago
I disagree, I believe option D would be more efficient.
upvoted 0 times
...
Selma
3 months ago
I think option A is the best choice.
upvoted 0 times
...
Ivory
3 months ago
Hmm, this seems like a tricky question. I'm thinking option D might be the best way to go. Autoscaling horizontally seems more resource-efficient than just permanently increasing the worker size or number.
upvoted 0 times
Mauricio
1 months ago
I see your point. It's definitely a tough decision to make.
upvoted 0 times
...
Casie
2 months ago
That's true, but horizontal autoscaling might be more cost-effective in the long run.
upvoted 0 times
...
Lavonna
2 months ago
But wouldn't option C with increasing the number of workers also help distribute the load?
upvoted 0 times
...
Fredric
2 months ago
I agree, option D with horizontal autoscaling sounds like a good solution.
upvoted 0 times
...
...

Save Cancel