Does the ~7 minutes get amortized over sustained load (due to container reuse)? I feel like the article doesn’t consider the shape of the traffic and workloads in its analysis of why lambda is not a good fit.
Not as far as I can tell. Web Functions let you configure concurrency, maximum environment count, and request rate limits, but there's no setting for how long an environment stays alive after its last request. The configurable timeout applies to individual requests, not the environment itself.
I measured between 5 and 7 minutes of idle time (after the last request had ended) across six environments. I was able to cut this short by exiting the process myself, but AWS records this as a runtime error so IMO it's not suitable to rely on in production.
Here's the AWS scaling documentation. I'm happy to be corrected if I missed anything.
Hmm. Are you sure? The article says AWS documents the behavior, but there is no way to configure it. They tried forcing an early shutdown, but that caused AWS to record an error event.
You can configure teardown and minimum workers, and with a busy site, most of the time requests aren’t going to stop enough for this to matter.
Also: afaict idle time before teardown is not configurable.
I measured between 5 and 7 minutes of idle time (after the last request had ended) across six environments. I was able to cut this short by exiting the process myself, but AWS records this as a runtime error so IMO it's not suitable to rely on in production.
Here's the AWS scaling documentation. I'm happy to be corrected if I missed anything.
https://docs.aws.amazon.com/lambda/latest/dg/web-functions-s...
This is marketing for a Lambda competitor.