Burst concurrency constraint!

0

Hello, I am currently managing an account with a concurrency of 20,000 and a burst concurrency of 3,000 for a web-based application. In the context of an AWS Step Function, I have implemented a Lambda function within a distributed map. When a user uses the application, the map generates approximately 25,000 requests for the Lambda at the same time (I am avoiding batching due to its adverse impact on the running time of the Lambda function). Considering the operational context where the web application is utilized approximately 5-6 times a day per their need (no specific time).

My question is how to avoid throttling while burst concurrency represents a constraint. Is there a way to ask AWS to increase the burst concurrency? I have also read about provisioned concurrency but it seems that it is expensive for my application. Thanks in advance!

1 Answer
0
Accepted Answer

First, we just announced a new scaling behavior for Lambda: Each function now starts with a limit of 1000 and gets an additional 1000 every 10 seconds.

Saying that, it will not solve your issue, as you still need 25K at the same time. What you need to do is catch the throttling errors in the state machine and retry. Alternatively, if your use case allows this, you cam invoke your functions asynchronously (only if your state machine does not need the functions' response).

Regarding Provisioned Concurrency, as you said, it will be costly, but if you know when you will need it, you can enable it before, let the state machine run, and then disable it. But, it will take longer the overall process.

profile pictureAWS
EXPERT
Uri
answered 4 months ago
  • Thank you. I will learn about these two alternatives.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions