Serverless Functions

Two meters.
The whole bill.

Memory and active CPU, that's it. Free egress, a spend cap on by default, and no memory or timeout ceilings to design around. See your exact cost before you deploy, then run your real app for as long as it needs.

100k GB-s + 10k vCPU-s free / moSpend cap on by default
main.py
Editing main.py
 
 
 
 
 
 
 
Draftsave to deploy
HTTPlive URL
Long runup to 24h
Cron scheduletimezone-aware
Every 5 minutes*/5 * * * *
Daily at 09:000 9 * * *
Mondays 08:000 8 * * 1

Write in Python, Node.js, TypeScript, Go, or any language.

Deploy the standard handler. No proprietary format to learn.

PythonFastAPI / ASGI
Node.jsstandard http
TypeScripttype-safe
JavaScriptWeb Fetch
Gonet/http
Any languageDockerfile
PythonFastAPI / ASGI
Node.jsstandard http
TypeScripttype-safe
JavaScriptWeb Fetch
Gonet/http
Any languageDockerfile
Serverless pricing

The same workload. 88% smaller bill.

Per-request fees, egress, and a hard 15-minute cap make most serverless bills impossible to predict. Raff bills two meters, memory and active CPU, with requests and egress free and a spend cap on by default.

Typical FaaS invoiceJun 2026
Compute · GB-s
$14.20
Requests · 42M
hard to forecast
$8.40
Egress · 1.4 TB
hard to forecast
$126.00
Total$148.60
The same run on Raff88% lower
Memory · 1.9M GB-s$6.65
Active CPU · 540k vCPU-s$10.80
RequestsFree
EgressFree
Total / mo$17.45
Memory $0.0000035 / GB-sActive CPU $0.000020 / vCPU-sRequests & egress freeSpend cap on by default
Cost calculator

Estimate your cost before you deploy.

Set invocations, duration, memory and average response size. Raff bills two meters; requests and egress are free. We estimate the same run on Lambda, Cloud Run, Cloudflare and Vercel beside it.

3M / mo
180ms
128 MB
64 KB
Free tier included
100k GB-s + 10k vCPU-s / mo
Raff Functions95% vs Lambda
Memory · 67,500 GB-s$0.24
Active CPU · 33,750 vCPU-s$0.68
RequestsFree
Egress · 192 GBFree
Estimated / mo$0.91
Same run, other providers
AWS Lambda$19.01incl. $17.28 egress
Cloud Run$26.03incl. $23.04 egress
Cloudflare$9.80
Vercelest.$32.00incl. $28.80 egress

Competitor figures use each provider's published on-demand pricing (US), free tiers excluded, gathered Jul 2026. Cloudflare and Vercel bill on different models; Cloudflare caps at 128 MB / 30s CPU. Vercel figures are estimates. Verify before relying on them.

Standard handlers

Your standard handler, no rewrite to arrive or leave.

FastAPI, Node's http, the Web Fetch API, Go's net/http. There's no proprietary format to learn on the way in, and nothing to unwind if you ever leave.

  • No Raff-specific signature, just the framework handler you already write
  • Runs identically on your laptop and in production
  • A Dockerfile escape hatch covers anything else
my-functionLive
1from fastapi import FastAPI
 
3app = FastAPI()
 
5@app.get("/thumb")
6def thumb(url: str):
7 img = resize(fetch(url))
8 return Response(img)
Standard handler. No Raff-specific types or imports.
RuntimePython · ASGIMemory256MBTimeout300sScale0 → 10
Lambda import

Bring your AWS Lambda, leave the format behind.

Upload or paste your function. Raff maps it deterministically, rewrites the proprietary bits with AI, and shows you the diff. Review, then deploy a clean, portable handler.

Functions/New function
Start from a templateImport your codeλ Migrate from AWS
λ Paste your Lambda handleryou get a portable standard handler back, no lock-in, ours or theirs
Lambda · Python 3.12handler (optional)memory MBtimeout s
Paste lambda_function.py here (the full Lambda handler file)
Environment variables (optional): KEY=value, one per line
Convert to portable handlerRun as-is (no AI)

AI rewrite: 5 of 5 free this month · then $0.30 each from your balance · run-as-is always free

No configuration required. Buildpacks detects your language and builds the image. No Dockerfile, no YAML. Memory, timeout and scaling are editable after creation.
The result: a clean, portable handler you own.
AWS Lambda
lambda_function.py
1def lambda_handler(event, context):
2 q = event["queryStringParameters"]
3 return {
4 "statusCode": 200,
5 "body": greet(q)
6 }
Raff · portable
main.py
1@app.get("/")
2def handler(name: str) -> str:
3 return greet(name)
No 15-minute ceiling

Long-running serverless functions, up to 24 hours.

Timeouts run up to 1 hour by default and 24 hours on request. Long AI inference, batch processing, ETL and streaming don't get exiled to a second, heavier product. They run as functions, on the same two meters.

Long AI inferenceBatch & ETLStreaming
AWS Lambdacut at 15:00
15m
Raff Functionsup to 24h
24h
Fast starts, honest idle

Scale to zero. Pay only while code runs.

Sub-second cold starts, and autoscaling that follows load. When you're idle you pay nothing. Active CPU is billed only while your code is on-CPU, never while it's waiting on I/O. Add optional warm instances at 30% of the memory rate for latency-critical paths.

instances · following loadautoscaling
idle · 0 · $0peak · autoscaledidle · 0 · $0
Triggers

One function. HTTP, cron, events, one-off.

Write one standard handler and one deploy. Wire it to any trigger. No separate services, no duplicated code.

{ }HTTPLive URL with automatic TLS
CronSchedules with timezones
One-offA single future run
Storage eventsBucket uploads, prefix filters
Your function· one handler · one deploy
Everything in the box

No add-on shopping. It's all included.

Runtimes, deploy tooling, bindings, observability and cost control. One product, one bill.

Runtimes

  • Python, Node.js, TypeScript, JavaScript, Go
  • Dockerfile escape hatch for any language
  • Standard signatures only, no proprietary format

Deploy your way

  • Console upload or in-dashboard editor
  • Git push-to-deploy · CLI: raff deploy
  • Immutable revisions + one-click rollback

Run model

  • Scale to zero, autoscale on load
  • Sub-second cold starts
  • Response streaming, SSE and chunked

Bindings

  • Managed Database, scoped per-function credential
  • Object Storage, scoped S3 key per bucket
  • Rotate anytime; main credentials untouched

Developer tools

  • Built-in invoke console for every trigger
  • Env vars and masked secrets
  • Lambda import with reviewable diff

Cost control

  • Per-account spend cap on by default, functions pause, not surprise
  • Near-real-time usage in 5-minute windows
  • Sandboxed per-tenant isolation (gVisor)
Observability, included free

Logs and metrics for every invocation, no second bill.

Live log tail with search and level filters, 14-day retention. Count, p50, p95 and error rate per function. Every recent request correlates to its own logs, all in the dashboard, nothing to install.

1.2M
Count
78ms
p50
210ms
p95
0.02%
Errors
image-resize · logslive tail
12:00:14INFOGET /thumb?url=… 200 · 84ms
12:01:14INFOresize 1280×720 → 320×180
12:02:14WARNupstream slow · 412ms
12:03:14INFOGET /thumb?url=… 200 · 71ms
12:04:14INFOcold start · 0.8s
How it compares

How Raff compares to Lambda, Cloudflare, Cloud Run and Vercel.

RaffBestLambdaCloudflareCloud RunVercel
Handler formatStandardProprietaryWorkers APIContainerFramework-tied
Per-request feeNone$0.20/M$0.30/MPer-requestMetered
EgressFreeMeteredMeteredMeteredMetered
Max duration1h → 24h15 min30s CPU60 min~60s
Scale to zeroYesYesYesYesYes
CPU billed while idleNeverYesPartialYesNo
Cold startSub-second100ms–1s~0msSeconds100ms–1s
Move your codeNo rewriteRewriteRewritePortableRewrite
Logs & metricsIncludedCloudWatch $Add-onCloud $Add-on

Competitor figures reflect each provider's published consumption pricing and default limits; Cloudflare Workers durations are CPU-time limits. Figures gathered Jul 2026.

Pricing

Serverless functions pricing, on one screen.

Two metered numbers. Everything else is free or included.

Memory
$0.0000035/ GB-second

Provisioned memory over the wall-clock lifetime of your instance.

Active CPU
$0.000020/ vCPU-second

Billed only while your code is on-CPU, never while idle on I/O.

Included free
Free tier every month: 100k GB-s + 10k vCPU-s. Warm instances optional at 30% of the memory rate.
RequestsEgressCron schedulingLogs & metrics
Secure by default

Enterprise-grade, without the checklist.

Isolation, encryption and audit trails are on from the first deploy, nothing to configure.

ISO 27001Certified
EncryptionIn transit & at rest
Audit logsEvery action, exportable
gVisor isolationSandboxed per tenant
GDPR-readyDPA available
FAQ

Questions, answered.

Two meters, and that's the whole bill. Memory at $0.0000035 per GB-second and active CPU at $0.000020 per vCPU-second. Requests and egress are free. Billing is balance-based, so it's predictable and invoiceable, and a per-account spend cap is on by default. See the full breakdown on the pricing section.

Yes. Every account gets 100,000 GB-seconds and 10,000 vCPU-seconds free each month, plus free requests and free egress on top. The free tier is permanent, not a trial, and it never bills you.

One setup note: Functions and the free tier switch on after a one-time $5 top-up, which stays in your balance as usable credit — a light anti-abuse gate, covered in the funding question below.

No. A per-account spend cap is on by default, so functions pause instead of running up a runaway bill. A near-real-time usage panel updates in 5-minute windows, and because requests and egress are free, the only two numbers that move are memory and active CPU.

Correct. Timeouts run up to 1 hour by default and 24 hours on request. Long AI inference, batch processing, ETL and streaming run as functions on the same two meters, instead of being pushed onto a second, heavier product.

No. You write your framework's standard HTTP handler: FastAPI/ASGI, Node's http, the Web Fetch API, or Go's net/http. There's no proprietary signature, so the same file runs on your laptop, on Raff, and on other platforms. A Dockerfile escape hatch covers anything else.

Yes. Paste or upload your Lambda and Raff maps it deterministically, rewrites the proprietary parts with AI assistance, and shows you the diff. Review it, then deploy a clean, portable handler with no lock-in. Prefer no AI? Run it as-is instead. No Dockerfile or YAML required, Buildpacks detects your language and builds the image.

Python, Node.js, TypeScript, JavaScript and Go, using each one's standard handler. For anything else, a Dockerfile escape hatch lets you run any language or runtime. See the runtime guides for details.

It scales to zero and you pay nothing. Cold starts are sub-second, and autoscaling follows load. Active CPU is billed only while your code is on-CPU, never while it's idle waiting on I/O. For latency-critical paths, you can add optional warm instances at 30% of the memory rate.

Write one standard handler, deploy once, and wire it to any trigger: an HTTP URL with automatic TLS, a timezone-aware cron schedule, a single one-off future run, or object-storage events like bucket uploads with prefix filters. No separate services and no duplicated code.

A binding injects scoped, per-function credentials for a Raff Managed Database or an Object Storage bucket, so there are no secrets to copy around. Rotate any binding at any time and your main credentials are never touched.

No. Observability is included free. You get a live log tail with search and level filters and 14-day retention, plus count, p50, p95 and error rate per function. Every recent request correlates to its own logs, all in the dashboard with nothing to install and no second bill.

Every function runs in per-tenant gVisor sandbox isolation. Traffic is encrypted in transit and at rest, every action is captured in exportable audit logs, and the platform is ISO 27001 certified and GDPR-ready with a DPA. It's all on from the first deploy, with nothing to configure.

A one-time top-up of $5 or more unlocks Functions, and that includes the free tier. It's a light anti-abuse gate for a product that runs your code on demand, not a fee: the money stays in your balance and you spend it on normal usage. It counts the moment your lifetime paid reaches $5, whether that's a deposit or spend on any other paid Raff product.

Brand-new accounts also run with lower concurrency and scale limits until $10 lifetime paid, then those lift automatically.

A bill you can predict before you deploy.

Two meters, free requests and egress, a spend cap on by default. Start on the free tier and see for yourself.