-3

the lambda functions can be invoked till the concurrency limits are reached. There is a provision to increase this limit by submitting a request to AWS.

Reference -

https://docs.aws.amazon.com/lambda/latest/dg/scaling.html

But if the limit is reached, additional requests fail with a throttling error (429 status code).

I am working on IoT use case, wherein, I need to handle events from thousands of devices, simultaneously. So obviously this solution, of calling Lambda function for every IoT event ( MQTT message -> IoT Rule -> Lambda invocation) will not scale, beyond few thousand devices.

Is there any better alternative for this use case?

Similarly if I want to scale my web application, which uses lambda and API gateway in the backend, what is the better option?

Dattatray
  • 1,745
  • 1
  • 21
  • 49
  • You can create your own, non-serverless consumer/backend. It is definitely less vendor-locked solution but whether it is a better solution, well, that is opinion based and it will probably cost more. – Matus Dubrava Aug 12 '19 at 07:15
  • I am thinking to use SQS to store these events. From SQS lambda functions will be triggered. I think with this approach, we will not loose any events or avoid throttling, as these events will be processed asynchronously. – Dattatray Aug 12 '19 at 07:28

1 Answers1

0

Lambda is perfect for your use-case.

"So obviously this solution, of calling Lambda function for every IoT event ( MQTT message -> IoT Rule -> Lambda invocation) will not scale, beyond few thousand devices."

Says who and how is it obvious? You mentioned yourself that increasing the limit is possible, why don't you just do that?

Gergely Szabo
  • 870
  • 6
  • 15