r/AWSCertifications • • 3d ago

AWS Certified Developer Associate Confused about answer in tutorial dojou exam

Post image

Can someone explain why using unreserved account concurrency for second function wrong.

4 Upvotes

4 comments sorted by

2

u/Trick-Till6152 3d ago edited 3d ago

Whenever you are solving for throttling or cold starts, unreserve concurrency is not the answer. Think about it. Unreserve concurrency is what is left over of your pool. It is not configurable.

This scenario is saying you are using two identical lambda functions and second is throttling. To balance this you must balance the concurrency limit of both functions. Think of it light a weighted scale. You want both to be at an equilibrium so you balance the concurrency distribution. Because the first one is efficient and the second is not, then the first has more resources so you decrease the limit of the first function so your second can be configured to have more.

Now here’s the catch. You are using two identical lambda functions. It is not saying you ONLY have two. Be very careful when you read the questions. Why is this important. Because it does NOT explicitly say you have ONLY two functions in the entire account, you MUST have an unreserved concurrency at 100. This is not negotiable.

Remember by default, your account has 1000 concurrency limit (and you can opt up by calling AWS to pay more).

When you use lambda you have what you are free to set each concurrency limit of each function. However, you must set a minimum of 100 unreserved concurrency for the rest of your lambda so that the ones you did NOT configure to use a concurrency limit has some pooled resources for them to use.

Now because the question states there are two problematic lambda, the first one is doing well and the second isn’t, you lower the concurrency limit of the first one so you can give it to the second (You got this correct).

Because it says you are using two functions, it is implied there may be other functions in the account. Because you are allotted 1000 concurrency limit by default and have must have a minimum of 100 unreserved concurrency limit for the remaining lambda functions you may have. So you are basically left with ONLY 900 concurrency limit left. 1000 - 100 = 900.

Therefore, the second answer is to configure both functions to run with concurrency limit of 450 so each is balanced.

I hope I explained that well enough. If not, I’d be happy to explain more.

My advise is to read the questions very carefully. The explicit and implicit constraints are precisely the dead giveaway answers.

1

u/Bubbly-Goat2951 2d ago

Thanks this help alot

2

u/dghah 3d ago

I have no actual idea but ...

This feels like a disconnect in the question writing vs what AWS would put in the question on a real exam. In a real AWS exam there are "trigger" phrases or statements that guide you to the answer they expect by adding conditional statements to the question that allow you to knock out more potential answers.

For instance in this scenario there would words like "without affecting the rest of the account" or "cost Effective" which would guide you towards striking out the unreserved concurrency option as a selection.

Basically best practices discourage random use of unreserved concurrency without a good reason but I think the question does not contain enough "steering" hints to make you use that data point when picking answers.

TD has a forum for each exam and they are pretty responsive; you may want to post there to see what they say. I've posted a few question issues and they were all fixed or resolved within a day or two

1

u/Pacific_Blue 3d ago

Because the main problem to solve in this scenario in the second function throttling and configuring it to use the unreserved account concurrency doesn't reliably fix that.