AWS Lambda – Functions with Up to 10 GB of Memory and 6 VCPUs
aws.amazon.com
aws.amazon.com
However, I've seen many things that run a couple of times a day, or in response to a deployment, or things like that, which often need some compute behind them, but for which setting up a little server and hosting it somewhere just to call it once a day feels like so much unnecessary ceremony.
Does this have a maximum function duration? If so this could still rule out this approach.
- Chris Munns - Lead of Dev Advocacy - Serverless@AWS
If you're running a predictable process and you know how long it'll take in advance, an instance may make sense. If you're running an unpredictable process, where you won't know how long it'll take until it's done, and it might be quite fast, the low startup time and fine-granularity billing helps.
It's easy to develop for, it's easy to automate deployments, I don't have to worry about keeping anything up to date, and I can just focus on the small amount of code I want to write.
The most expensive thing is the Route 53 configuration at $0.50/month/domain.
I used StackPath's Serverless functions once before and they worked as advertised (but since moved to Cloudflare Workers).
Anyone with expertise likes to chime in?
Edit: They announced it today; see https://aws.amazon.com/blogs/aws/new-for-aws-lambda-containe...
That said, it still isn't perfect. But it's much more predictable latency-wise, and AWS has managed to get cold starts down to a level where they're quite decent recently (~500ms would be a "bad" one these days).
Old benchmarks are dated these days. I wish there were some better ones.
Source: I build a Serverless hosting platform built on top of AWS Lambda. https://refinery.io
With this, you're only effectively paying this cold-start costs on first load of a new function (or whilst adding extra concurrency) and they're often kept around for 4-8 hours, even if they don't receive any requests.
We have used it successfully with both Tensorflow and Gorgonia