Compare / AWS Lambda

The AWS Lambda alternative that never times out

AWS Lambda is excellent at short, spiky, event-driven work and stops being excellent the moment the job takes longer than 15 minutes, needs a warm process, or wants a real filesystem. Lizard runs the same code as a long-lived process in its own container, with no invocation to end and no per-request charge.

Why developers look for a AWS Lambda alternative

Fifteen minutes is a hard ceiling

A Lambda invocation is terminated at 900 seconds. Video transcoding, large imports, model inference, and long ETL jobs all get split into a state machine to work around a limit that a process does not have.

Cold starts are structural

A function that has not run recently pays initialisation on the next request. Provisioned concurrency fixes it by paying for a warm instance — at which point you are paying for a server without getting one.

Nothing survives between invocations

No in-memory cache you can trust, no background thread, no open connection pool. Every concurrent invocation opens its own database connection, which is why RDS Proxy exists.

Always-warm gets expensive

A 1 GB function running continuously is about $43.80 a month of duration charges before requests. The same shape on Lizard is roughly $10 a month.

Lizard vs AWS Lambda

Every figure read off AWS Lambda’s published pricing and our own. Last verified: August 2026.

Compared byLizardAWS Lambda
Maximum run timeNone — the process stays up15 minutes per invocation
Memory ceilingScale to what the plan allows, up to 40 GB on Pro10 GB
Cold startsNone — the process is already runningOn first request, unless you pay for provisioned concurrency
FilesystemFull read-write root/tmp only, 512 MB by default
Compute price$0.0278 per vCPU-hour, $0.0139 per GB-hour, on measured use$0.0000166667 per GB-second on x86, $0.0000133334 on Arm
RequestsNot billed$0.20 per million
Always-warm 1 GB workloadAbout $10 a monthAbout $43.80 a month of duration, before requests
Free tier$5 of credit, no card1 million requests and 400,000 GB-seconds a month
WebSockets and streamingOrdinary long-lived connectionsAPI Gateway WebSockets, billed per message and per connection-minute
Database connectionsOne pool, in one processOne per concurrent invocation — RDS Proxy is the usual fix

When AWS Lambda is the better choice

Genuinely spiky, event-driven work: an S3 trigger, a Kinesis consumer, a cron that runs for four seconds a day, a webhook receiver that is idle 23 hours out of 24. Lambda scales to zero for real, the free tier of 1 million requests and 400,000 GB-seconds covers a lot, and the integration with the rest of AWS is something no third party matches. For that shape, a server you keep running is the wrong tool.

Moving from AWS Lambda

No Dockerfile required — lizardpack detects the stack and writes one on the build node. If your repo already has a Dockerfile, it is used as it stands.

$npm i -g @lizard-build/cli
$lizard up
$lizard add postgres redis
AWS App Runner 2026: maintenance mode, pricing, alternatives

Frequently asked questions

It depends on why you are leaving. For work that outgrew the 15-minute limit or needs a warm process, a platform that runs containers — Lizard, Railway, Render, or AWS Fargate. For staying serverless with fewer limits, Google Cloud Run. For edge-shaped request handling, Cloudflare Workers.

Usually because the function is effectively always running, or because provisioned concurrency is on. Duration is billed per GB-second, so a 1 GB function that never idles costs about $43.80 a month before the $0.20 per million requests — and at that point you are paying continuously for something billed as if it were occasional.

Inside AWS, you split it across Step Functions, move it to AWS Fargate, or run it on EC2. Outside AWS, you run it as an ordinary process: on Lizard a worker service has no time limit and no HTTP port, so a long import or a transcode job just runs to completion.

Yes. Wrap the handler in a small HTTP server or a worker loop, then run lizard up — lizardpack detects Node, Python, Go, Java, Ruby, or Rust and writes the Dockerfile. What changes is the shape: one process handling many requests instead of many invocations handling one each, which usually simplifies the connection pooling and the caching.

No. Lizard bills only for active resources — measured CPU, memory, and disk, by the second — with no per-request, per-invocation, or per-build charge. The trade is that a service bills every second it is up, where a Lambda that nobody calls costs nothing.

Build with AI. Ship with Lizard.

You don't need a platform team to go live. Your whole cloud, one CLI command away.

Try for free

No credit card required

We use cookies for essential site functionality and analytics. See our Cookie Policy.