type: runbook
status: active
timestamp: 2026-06-23
tags: [runbook, hosting, free-tier, serverless, edge, cloudflare-workers, deno-deploy, aws-lambda, render, koyeb, hugging-face, modal, val-town]

Free hosting — serverless functions + edge (CF Workers, Deno Deploy, AWS Lambda EXCEPTION, Render, Koyeb, Val.town, HF Spaces, Modal — 2026-06-23 audit)

Serverless free tiers: CF Workers → Deno → Lambda → Render

Serverless functions + edge — free tiers (verified 2026-06-23)

Adversarially re-verified against the official pricing pages on 2026-06-23. Sources cited per row. AWS Lambda remains a user-approved exception to the no-card rule (see rules/infrastructure/aws-lambda-exception.md). GCP Cloud Run, Oracle Functions, Vercel Hobby (commercial-use ban), Cloudflare Containers (paid-plan-only), and Fly.io (free tier killed) are all DROP in 2026.

The 4-rail fallback chain (production order, 2026-06-23)

1. Cloudflare Worker    (primary;     100K req/day,   10 ms CPU,         edge,  no card)
2. Deno Deploy          (secondary;   1M req/mo,      15 CPU-h/mo,       edge,  no card)
3. AWS Lambda           (tertiary;    1M req/mo,      400K GB-sec/mo,    region, CARD REQ — exception)
4. Render Free          (quaternary;  750 inst-h/mo,  15-min cold sleep, region, no card)

Order updated 2026-06-23: Lambda promoted to rail 3 (was 4), Render demoted to rail 4 (was 3). Rationale: Lambda has the family’s biggest perpetual free quota, no cold-sleep penalty, and AWS infra is uncorrelated with CF/Deno. Render stays in chain as last-resort (its 15-min spin-down makes it strictly worse for user-facing paths).

A possible rail 5 (no-card alternative): Koyeb free instance (512 MB RAM, 0.1 vCPU, 2 GB SSD, no card) — replaces Fly.io which killed its free plan. Useful as a no-card fallback when the Lambda exception is unavailable for a given workload.

A possible rail 5 (prototype-only): Azure Functions under the user’s Azure Student account. NOT a production rail.

The verified table

#ProviderFree tier (verified 2026-06-23)Card req?Cold startCommercial OK?VerdictSource
1Cloudflare Workers100,000 requests/day, 10 ms CPU per invocation, no duration cap, includes Pages FunctionsNoNone (edge)YesKEEP (rail 1)pricing
2Deno Deploy1M req/mo, 20 GB egress, 15 CPU-h/mo, 350 GB-h memory, 50 custom domains, 1 GiB volume storage, 450K KV reads + 300K KV writes/moNoNone (edge)YesKEEP (rail 2)pricing
3AWS Lambda1M req/mo + 400K GB-sec/mo — listed under “30+ Always Free services”. AWS Free Plan accounts now close after 6 months / $200 credits; perpetual quota only survives on Paid Plan accountsYes (Free Plan AND Paid Plan both require valid payment method)Cold startYesKEEP-EXCEPTION (rail 3)Lambda pricing · Free Tier FAQ Q10
4Render Free750 instance-hours/mo across all free web services, 15-min idle spin-down (~1 min cold restart), 100 GB bandwidth/mo, custom domains + TLS, free Postgres 30-day expiry, free Key ValueNo15-min idle sleepYesKEEP (rail 4)docs/free · pricing
5Koyeb (free instance)1× free instance — 512 MB RAM, 0.1 vCPU, 2 GB SSD, scale-to-zero, no time limit on the instanceNoScale-to-zero cold startYesKEEP (rail 5 / no-card alt)docs intro
6Cloudflare Pages FunctionsShares Workers Free quota (100K req/day) — static asset requests free + unlimitedNoNone (edge)YesKEEP (bundled w/ Workers)pricing
7Cloudflare Cron TriggersShared with Workers Free request quota; cron invocations count as requestsNoNoneYesKEEP (rail-1 bundled)docs
8Cloudflare Workers AI10,000 Neurons/day free (well below user’s prior memory). Above that → Workers Paid requiredNoNoneYesKEEP-AI-ONLY (light use)pricing
9Cloudflare Queues10,000 ops/day on Workers Free (NOT 1M/mo as previously believed). Each operation = 64 KB of write/read/deleteNon/aYesKEEP-LIGHT — quota tighter than expectedpricing
10Val.townUnlimited public vals, 100,000 runs/day, 1 min wall-clock per run, 15-min cron interval minimum, no custom domains, 3-day log retentionNoNone (edge)Yes (terms permit)KEEP-LIGHT (specialty: snippet hosting, cron, webhook glue)pricing
11Hugging Face SpacesCPU Basic free: 2 vCPU, 16 GB RAM, 50 GB ephemeral disk for public Spaces. ZeroGPU now FREE (dynamic RTX Pro 6000 Blackwell, quota-based, PRO gets 8× quota)NoCold start on first hitYes (open-source/demo focus)KEEP-AI-ONLY (ML demos, ZeroGPU inference)pricing · spaces overview · ZeroGPU
12Modal LabsStarter: $30/mo free compute credits, 3 seats, 100 containers + 10 GPU concurrency, 5 deployed crons, 1-day log retentionYes (card required to validate account)Container cold startYesKEEP-AI-ONLY (heavy GPU jobs)pricing
13ReplicatePay-as-you-go from $0 — no perpetual free credit on signup advertised in docs (model pricing by GPU-second or input/output)Yes (card required for predictions beyond free trial)Boot delayYesEVALUATE (no useful free quota for steady use)pricing · billing docs
14GitHub ActionsUnlimited free minutes for public repos on standard runners; private repos get plan-tier monthly quota (Free plan: 2,000 min/mo Ubuntu, 500 MB Packages storage)No (for free plan)Job queue (~10 s)YesKEEP (CI/cron rail for public repos)billing docs
15Azure Functions (Student account)Consumption plan free grant: 1M execs + 400K GB-sec/mo (legacy plan); Flex Consumption has separate on-demand free grants. Available via Azure StudentsNo (student-verified)Cold startNo (student/educational only)EVALUATE — 5th-rail prototype onlyFunctions pricing · consumption costs
16Fly.ioFree tier KILLED. Docs: “All organizations require a credit card on file.” Historic 3 free shared-cpu-1x VMs no longer advertisedYesn/aYesDROP (free tier killed 2024-2025)pricing · plans
17Cloudflare ContainersNo free tier — “Available on Workers Paid plan” ($5/mo minimum). Free row in pricing matrix is literally N/An/a (paid only)Container startYesDROP (paid-only)containers pricing
18Netlify FunctionsFree plan: 300 credits. Functions cost: web requests 2 credits / 10K, compute 10 credits / GB-hour, deploys 15 credits each. Pool shared with build / bandwidth / AINoCold startYesDROP — user decision; credit pool too unpredictable for 50-site fleetpricing
19Vercel Hobby Functions1M function invocations, 4 CPU-hrs, 360 GB-hrs memory, 1M edge requests. “Hobby plan restricts users to non-commercial, personal use only”NoCold startNO (commercial-use ban explicit)DROP — commercial banHobby docs
20GCP Cloud Run2M req/mo, 360K vCPU-sec, 180K GiB-sec freeYesCold startYesDROP — user rule (no Google beyond Firebase)cloud.google.com/run/pricing
21Oracle FunctionsAlways-Free 2M invocations/moYes (mandatory at signup, user cannot complete)Cold startYesDROP — card barriern/a

What changed in 2026 (vs. the 2026-06-22 snapshot)

ChangeDirectionImpact
AWS Free Tier restructured (announced mid-2025)DOWNGRADENew AWS accounts are forced into “Free Plan” (closes after 6 months / $200 credits) or “Paid Plan”. Lambda 1M req/mo + 400K GB-sec/mo is still in the “Always Free” list but accessing it past month 6 requires upgrading the account to Paid Plan. Card required on either plan (FAQ Q10). Lambda exception still holds, but the rule file needs to reflect the 6-month account-close trap.
Fly.io free tier killedKILLEDWas claimed 3× shared-cpu-1x / 256 MB / 160 GB egress. Now: “All organizations require a credit card on file.” No free allowance language remains. Dropped from chain.
Cloudflare ContainersCONFIRMED PAID-ONLY$5/mo Workers Paid plan required. Free row in pricing matrix is N/A. Was never a free rail; DROP confirmed.
Cloudflare Queues free quotaDOWNGRADE vs prior memoryFree = 10K ops/DAY, not 1M/mo. The 1M/mo number is the Workers Paid included amount.
Koyeb free instanceCONFIRMED + UPGRADEDStill free, and the spec is 512 MB RAM / 0.1 vCPU / 2 GB SSD (better than the 256 MB user remembered). Replaces Fly as the no-card 5th rail.
HF Spaces ZeroGPUUPGRADEDZeroGPU (dynamic RTX Pro 6000 Blackwell, 48 GB VRAM large / 96 GB xlarge) is now FREE for all users (PRO users get 8× quota). Significant upgrade for AI demos.
Deno Deploy quotas clarifiedCONFIRMED1M req/mo, 15 CPU-hours/mo, 350 GB-hours memory, 50 custom domains, 1 GiB volume storage, 20 GB egress, 450K KV reads + 300K KV writes/mo. Deno Deploy Classic is dead — current product is just “Deno Deploy”.
Workers AI quotaCLARIFIED10K Neurons/day free (not “Workers AI free tier” hand-wave). Above that requires Workers Paid.
Netlify Functions credit modelCONFIRMEDFree plan: 300 credits total, all features share the pool. Verdict: DROP for the fleet — too unpredictable for 50 sites.
Vercel Hobby commercial banCONFIRMED”the Hobby plan restricts users to non-commercial, personal use only.” Stays DROP.
Azure Functions ConsumptionLEGACY-STATUSOld Consumption plan retiring Linux 2028-09-30; v3 runtime on Linux dies 2026-09-30. Flex Consumption is the recommended on-demand plan. Free grants exist on both; student-account perpetual claim holds.

Where the family runs functions today (2026-06-23)

Quota math for a 50-site fleet (unchanged from prior snapshot)

100K req/day on Workers Free is the shared cap. For 50 sites:

Cap holds for sparse / cron / lightweight-API traffic. Static + edge cache should absorb the user-traffic bulk; functions only for auth/checkout/search-style paths.

Quirks per provider (2026-06-23 view)

Recommendation for the family (2026-06-23)

  1. Rail 1 (primary): Cloudflare Workers + Pages Functions for all edge-grade work. 100K req/day across the fleet.
  2. Rail 2 (secondary): Deno Deploy for anything exceeding 10 ms CPU per invocation.
  3. Rail 3 (tertiary) — USER-APPROVED EXCEPTION: AWS Lambda. Per aws-lambda-exception. Lambda only, no other AWS services. Account on Paid Plan to keep the perpetual quota past 6 months.
  4. Rail 4 (quaternary): Render Free (with 15-min cold sleep) — last-resort rail.
  5. Rail 5 candidate (no-card alt): Koyeb free instance (512 MB / 0.1 vCPU / 2 GB SSD) — replaces Fly.io, useful when the Lambda exception isn’t appropriate for a given workload.
  6. AI specialty: HF Spaces ZeroGPU (free GPU, quota-based, public Spaces) for demos; Modal ($30/mo credits, card req) for heavier GPU jobs; Workers AI (10K Neurons/day) for light inference.
  7. CI/repo cron: GitHub Actions on public repos (unlimited minutes).
  8. Never reach for: GCP Cloud Run, Oracle Functions, Vercel Hobby (commercial ban), Netlify Functions (credit-pool unpredictability), Fly.io (free tier dead), Cloudflare Containers (paid-only), Azure Functions on non-student account (production).

Sources (verified 2026-06-23)


Edit on GitHub · Back to index