/FOLIO ARD-086
AUDITED: 2026年10月·编辑部复核共识
DEEP MATRIX INSPECTION//FRONTEND-RUNTIMES

Vercel vs Cloudflare Workers

Vector: Framework-Native Fluid Compute vs V8-Isolate Worker Runtime
The 30-second verdict//FOLIO ARD-086
EXECUTION MODEL
VERDICT

Choose Vercel when a request needs more than 128 MB of memory — image processing, PDF generation, heavy SSR — or when you want framework-native DX across Node.js, Bun, Python, Rust and Go. Choose Cloudflare Workers when per-request CPU is low, you serve a lot of static assets, and you want the $5-per-month floor with no egress charges.

The two platforms bill for fundamentally different things. Vercel charges for Fluid Active CPU hours, Fluid Provisioned Memory GB-hours, and function invocations on top of a $20 Pro plan. Cloudflare charges only for requests and CPU time: duration is neither charged nor limited, requests to static assets are free and unlimited, and there are no data transfer charges. The flip side is the execution envelope — Vercel gives 2 GB of memory on Hobby and 4 GB on Pro and Enterprise with durations up to 1,800 seconds, while Cloudflare caps every Worker at 128 MB regardless of plan, with CPU time bounded at 5 minutes.

VercelFrontend Cloud with Fluid Compute Functions

Ideal For: Framework applications whose functions need meaningful memory, long-running background work, or a wide choice of official runtimes.

Cloudflare WorkersV8-Isolate Serverless Runtime on the Cloudflare Edge

Ideal For: Low-CPU request handlers, static-asset-heavy sites, and API proxies where the per-request bill and the absence of egress charges matter most.

Interactive Constraint Matcher

NORMALIZED WEIGHT: 100%

Calibrate your operational trade-offs below. Sliders automatically normalize to 100% to reflect strict zero-sum engineering tradeoffs.

Archetype Presets
Execution Model & Runtime Semantics35%

What the runtime actually charges for, and how it handles concurrency and cold starts

Pricing Model & Billing Dimensions20%

What the monthly bill is actually composed of, and where the floor sits

Execution Envelope & Hard Limits30%

The ceilings a workload hits before anything else breaks

Runtime Choice & Developer Experience15%

Which languages and frameworks you can actually deploy, and how you get there

DYNAMIC CONSTRAINTS VERDICTOPTIMAL RECOMMENDATION
Vercel (Recommended)

Based on your allocated weights, Vercel offers superior durability. Cloudflare Workers remains applicable for alternative secondary constraints.

Vercel92%FIT
vs
Cloudflare Workers68%FIT
Evidence & trade-offs
Editorial review
Evaluation Pillar / FocusVercel (Qualitative Assessment)Cloudflare Workers (Qualitative Assessment)
Execution Model & Runtime Semantics

What the runtime actually charges for, and how it handles concurrency and cold starts

Baseline Weight:30%
Requests are low-CPU and numerous, or memory-heavy and fewer:Different billing primitives
VercelRecommended

Fluid compute blends serverless flexibility with server-like behaviour: optimized concurrency runs multiple invocations inside a single function instance (available with the Node.js and Python runtimes), dynamic scaling adjusts resources before adding instances, background work continues after the response via waitUntil, and cold starts are mitigated through bytecode optimization and function pre-warming on production deployments. Cross-region and availability-zone failover and error isolation are built in.

Cloudflare WorkersConditional

Cloudflare's accounting is narrower and simpler: CPU time is what gets billed, waiting on network requests — fetch() calls, KV reads, database queries — does not count toward it, and duration carries no charge and no limit at all. The platform publishes its own reference points: the average Worker uses about 2.2 ms of CPU per request, while heavier work such as authentication, server-side rendering or large payload parsing typically lands at 10-20 ms.

Pricing Model & Billing Dimensions

What the monthly bill is actually composed of, and where the floor sits

Baseline Weight:25%
Traffic is static-heavy, or compute-hungry:Asymmetric exposure
VercelConditional

Vercel Functions bill across three dimensions: Fluid Active CPU at $0.128 per hour (4 hours included), Fluid Provisioned Memory at $0.0106 per GB-hour (360 GB-hours included), and Function Invocations at $0.60 per million (1 million included). Pro is $20 per month and includes $20 of usage credit, so a small project can run inside the credit — but memory-hungry functions that stay provisioned accrue cost even while idle.

Cloudflare WorkersRecommended

Workers Paid is a $5 monthly minimum per account and then bills two things: 10 million requests included per month with $0.30 per additional million, and 30 million CPU milliseconds included with $0.02 per additional million CPU milliseconds. Requests to static assets are free and unlimited, Cloudflare does not bill subrequests made from a Worker, and there are no data transfer or bandwidth charges — so a site serving 15 million requests with 80% static assets lands at exactly the $5 floor.

Execution Envelope & Hard Limits

The ceilings a workload hits before anything else breaks

Baseline Weight:25%
Single request needs more than 128 MB, or runs longer than 5 minutes:Decisive difference
VercelRecommended

Vercel Functions allow 2 GB of memory on Hobby and 4 GB on Pro and Enterprise, with duration at 300 seconds by default, 800 seconds maximum, and an extended maximum of 1,800 seconds on Pro and Enterprise. Concurrency auto-scales to 30,000 on Hobby and Pro and 100,000 or more on Enterprise. Bundles are 250 MB uncompressed, 500 MB for Python, and large functions are supported up to 5 GB.

Cloudflare WorkersConditional

Every Worker is capped at 128 MB of memory on both the Free and Paid plans — the limits page lists the same figure for each tier and offers no higher option. CPU time is bounded at 5 minutes (30 seconds by default, raisable through Wrangler or the dashboard), Cron Triggers get 30 seconds, and subrequests are limited to 50 per request on Free and 10,000 on Paid. Requests are 100,000 per day on Free and unlimited on Paid.

Runtime Choice & Developer Experience

Which languages and frameworks you can actually deploy, and how you get there

Baseline Weight:20%
You need a non-JS runtime, or you want single-command edge deploys:Breadth vs minimalism
VercelRecommended

Vercel ships official runtimes for Node.js, Bun, Python, Rust and Go, plus community runtimes, and positions its functions as powering "your framework of choice". The gap is that Fluid compute's optimized concurrency is available only with the Node.js and Python runtimes — the other runtimes do not get the instance-reuse behaviour that the pricing model assumes.

Cloudflare WorkersConditional

Cloudflare supports JavaScript, TypeScript, Python and Rust, and runs full-stack apps on React, Vue, Svelte, Next, Astro and React Router, deployed with a single Wrangler command and no infrastructure to configure. There is no Bun or Go runtime and no community-runtime mechanism, so a stack outside that list has no path onto the platform.

When NOT to choose it
Irreversible Architectural Risk

When You Should NOT Adopt Either System

Every architectural choice introduces structural compromises. If your team matches these trigger conditions, adoption will create engineering debt rather than leverage.

Do Not Choose VercelDisqualified
Trigger Condition: Most of your traffic is static assets with a thin dynamic layer, or your budget floor is below $20 a month.
Systemic Failure State:Vercel Functions bill provisioned memory time at $0.0106 per GB-hour and active CPU at $0.128 per hour, so a memory-hungry function that stays provisioned accrues cost while idle, and invocations add $0.60 per million on top. The Pro entry point is $20 per month — offset by $20 of included credit, but the floor is four times Cloudflare's.
Recommended Alternative: Cloudflare Workers, where static asset requests are free and unlimited, duration is not charged at all, and the account floor is $5.
Do Not Choose Cloudflare WorkersDisqualified
Trigger Condition: A single request needs more than 128 MB of memory, or your stack depends on Bun, Go, or a community runtime.
Systemic Failure State:The 128 MB memory figure is identical on the Free and Paid plans with no higher tier listed on the limits page, so image processing, PDF generation and large SSR payloads have nowhere to go. CPU time can be raised to 5 minutes, but memory cannot — and the supported runtime list stops at JavaScript, TypeScript, Python and Rust.
Recommended Alternative: Vercel Functions, which allow 2 GB on Hobby and 4 GB on Pro and Enterprise, with official Node.js, Bun, Python, Rust and Go runtimes.
Verify Data Integrity Locally
npm run verify