在线工具集

Serverless 2026 选型:AWS Lambda / Cloudflare Workers / Vercel 对比

Serverless 走过近十年,已经从一个新潮概念变成大量生产系统的默认选项。AWS Lambda、Cloudflare Workers、Vercel Functions 是当下三种主流路线的代表:Lambda 是 FaaS 鼻祖,沿用容器/microVM 模型;Cloudflare Workers 用 V8 Isolate 把冷启动压到几乎为零;Vercel Functions 与前端框架深度耦合,让全栈开发者无需关心运维。三家的能力定位、定价模型、性能特征、生态集成各有侧重,错误选型会导致延迟与账单同时翻倍。本文从冷启动、定价、运行时与限制、区域部署、厂商锁定、中国大陆替代、典型场景与风险评估八个维度系统对比,并给出 2026 年的实战选型建议。

架构基础:Container、microVM、V8 Isolate

AWS Lambda 早期基于 EC2 容器,2018 年后切换到自研的 Firecracker microVM,每次调用启动一个轻量 VM 加载运行时与代码。优点是隔离强、支持任意语言与原生二进制;缺点是首次启动需要数百毫秒到几秒。Lambda 后来推出 SnapStart(先快照运行时初始化结果)与 Provisioned Concurrency(预热实例),可以显著降低冷启动。

Cloudflare Workers 用的是 V8 Isolate 模型。每个边缘节点常驻一个 V8 进程,每个函数对应一个 Isolate(沙箱化的 JS 上下文)。新增 Worker 只需解析 JS 与初始化模块,加载时间在毫秒级。代价是只能跑 JS/TS/WebAssembly,没有完整 POSIX 接口,单次 CPU 时间默认 50ms,付费版到 30 秒。这种架构让 Workers 在边缘场景(低延迟、高并发、状态轻量)极有优势。

Vercel Functions 默认基于 Node.js 容器(Serverless Functions),底层使用 AWS Lambda;同时提供 Edge Functions 跑在 V8 Isolate(基于 Vercel 自己的 Edge Runtime)。Vercel 的核心价值是与 Next.js 框架的开箱即用:Server Components、API Routes、Server Actions 自动映射到 Functions,部署一行命令完成。底层不外包给基础设施工程师管理,是 Vercel 的最大卖点。

冷启动:从几秒到几乎为零

冷启动是 Serverless 最被诟病的问题。Lambda 在 Node.js 与 Python 上典型冷启动 200 到 800 毫秒,Java、.NET 大型应用可能达到 1 到 3 秒。优化手段包括:用 Provisioned Concurrency 维持热实例(按时间收费);启用 SnapStart 提前快照初始化结果(仅 Java 全面支持);减少打包体积、惰性加载依赖;用 Lambda Web Adapter 把 Express/Koa 应用直接搬上去。

Cloudflare Workers 的冷启动一般在 5 毫秒以内,甚至感受不到。这让它非常适合做 API 网关、A/B 测试、广告投放、地理重定向、JWT 校验等"必须低延迟"的场景。Workers 的限制是单次 CPU 时间不能太长、内存上限 128MB(Workers Unbound 可到 30 秒、512MB),不适合训练模型或处理大文件。

Vercel Edge Functions 与 Workers 类似走 V8 Isolate,冷启动接近零;Serverless Functions 因底层是 Lambda,冷启动与 Lambda 相同。框架开发者通常会根据路由特征选择:高频低延迟接口用 Edge Runtime,需要 Node.js API 或长任务的接口用 Serverless。Next.js 14+ 通过 export const runtime 指令显式声明。

计费模型:请求次数、CPU、内存

AWS Lambda 计费三维:请求次数(每百万 0.20 USD)+ 执行时间(按毫秒计)+ 分配内存(GB-秒)。免费额度每月 100 万请求 + 40 万 GB-秒。一个内存 512MB、平均执行 200ms、月调用 1000 万次的函数,每月约 6.6 USD(不算流量与配套服务)。Lambda 适合长尾低频场景,对突发流量友好但高频小请求成本会偏高。

Cloudflare Workers 的计费是请求 + CPU 时间。Workers Standard 每月 5 USD 包含 1000 万请求、3000 万 CPU 毫秒,超出按 0.30/百万请求 + 0.02/百万 CPU 毫秒。同样的高频场景,Workers 通常便宜 50% 到 80%。Workers Unbound(已合并到 Standard)支持更长 CPU 时间,价格仍远低于 Lambda。免费层 10 万请求/天对个人项目极友好。

Vercel Functions 按调用次数与执行时长(GB-小时)综合计费。Hobby 免费但有带宽 100GB 与函数时长 10 秒等上限,Pro 计划 20 USD/月 + 用量。Vercel 的成本通常高于直接用 Lambda 或 Workers,但带来的开发效率与零运维省去的隐性成本,对前端为主的小团队往往值得。整体上:高频短请求选 Workers 最便宜,长任务或异构语言选 Lambda,前端为主的全栈应用选 Vercel。

运行时与编程模型

Lambda 支持 Node.js、Python、Java、.NET、Go、Ruby 官方运行时,加 Custom Runtime 几乎可以跑任意语言。它的编程模型基于事件源(API Gateway、SQS、S3、EventBridge、Kinesis 等),handler 函数返回响应或副作用。AWS SAM、Serverless Framework、SST、CDK 是常见的开发框架,让本地调试与部署可控。

Cloudflare Workers 仅支持 JS/TS 与 WebAssembly。Wasm 可以跑 Rust、Go、AssemblyScript 等编译产物,对计算密集场景有用。Workers 的编程模型基于 Service Worker API,主入口是 fetch 处理器;新增 Workflows、Durable Objects、Queues、KV、R2、D1 等服务后,能力已接近完整后端。Hono 是当下最流行的 Workers 框架,Express 风格但轻量百倍。

Vercel Functions 走标准 Web API:Edge Runtime 是 Web 标准(Request、Response、fetch),Serverless 走 Node.js API。Next.js Route Handlers、Server Components、Server Actions 都自动转成 Functions。Remix、SvelteKit、Astro 也能在 Vercel 上一键部署。开发体验是 Vercel 的最大优势,但反过来意味着深度绑定框架;逃离 Vercel 通常意味着重构架构。

区域部署与边缘网络

Lambda 是区域级服务。函数只跑在你部署的 AWS Region,要做全球化必须自己部署到多个区域并通过 Route53 或 CloudFront 做地理路由。Lambda@Edge 让函数能跑在 CloudFront 边缘节点,但能力受限(单实例 5 秒、不支持环境变量等)。这种模型对大型企业灵活但对小团队复杂。

Cloudflare Workers 默认全球部署,一行 wrangler deploy 就能跑在 300+ 个边缘节点。每个请求自动路由到离用户最近的 PoP,延迟通常 10 到 50 毫秒。Smart Placement 功能甚至能根据后端数据库位置自动调整运行节点,避免来回穿越大洋。这对全球业务是降维打击。

Vercel 的网络基于 Cloudflare 与 Vercel 自有节点。Edge Functions 全球部署,Serverless Functions 在指定区域。免费版默认部署到一个区域,Pro 可选多区域。整体而言:Workers 与 Vercel Edge 在全球延迟上有结构性优势,Lambda 在单区域内仍是性能与生态最强的选项。

中国大陆替代:阿里云函数计算与腾讯云 SCF

国内业务无法直接用 Lambda、Workers、Vercel。阿里云函数计算(FC)是最成熟的国产 FaaS,支持 HTTP 触发、定时、OSS、SLS、MNS、Kafka、IoT 等多种事件源,运行时覆盖 Node.js、Python、Java、Go、PHP、自定义运行时。FC 3.0 在 2024 年带来了显著优化:冷启动速度、按量计费精度、GPU 函数支持,尤其适合 Stable Diffusion、Llama 等模型推理。

腾讯云 SCF(Serverless Cloud Function)类似 FC,与微信、QQ、腾讯云 COS、CDN、API 网关深度集成。微信小程序云开发底层就是 SCF。火山引擎 veFaaS 与华为云 FunctionGraph 也都有完整产品线,但生态成熟度仍以阿里云 FC 与腾讯云 SCF 为主。

阿里云近年还推出 Cloudflare Workers 风格的 EdgeRoutine,跑在阿里云 CDN 节点。腾讯云 EdgeOne 也在积极迭代。如果业务面向中国大陆且需要边缘计算能力,这两家是务实选择。出海团队通常会做"双栈架构":国内由阿里云 FC 提供服务,海外由 Lambda 或 Workers 提供,通过 IaC 统一管理。

厂商锁定与代码可移植性

Serverless 看似只是函数即服务,但锁定往往最深。Lambda 一旦绑定 EventBridge、Step Functions、Cognito、DynamoDB Streams,迁移到其他厂商需要重写大量胶水代码。Workers 的 KV、R2、D1、Durable Objects 同样深度耦合,离开 Cloudflare 几乎要重新设计存储层。Vercel 与 Next.js 框架绑定较深,迁移到自托管或其他平台时 ISR、Edge Middleware 等特性需要重做。

减少锁定的策略:业务逻辑写在 Hono、Itty Router、Serverless Framework、SST 等抽象层之上,与平台 SDK 解耦;用 OpenTelemetry 而非厂商专属监控;存储优先选标准协议(S3、PostgreSQL、Redis),即便落到不同厂商也能复用代码;CI/CD 写成可参数化的脚本,方便切换 Provider。完全可移植不现实,但能把迁移工作量从 100% 降到 30% 是可行目标。

实战中,许多团队接受合理锁定换取生产力。比如初创公司选 Vercel + Cloudflare 组合,半年内不考虑迁移;规模化阶段再评估。对长期产品,建议每年做一次"逃离演练",估算切换成本,倒逼架构保持松耦合。

2026 选型建议与典型场景

AWS Lambda:选它如果你已在 AWS 生态、需要支持多种语言或重计算、需要长任务(最长 15 分钟)、要与 SQS、Kinesis、Step Functions 这类成熟服务集成,或者团队有专业 SRE 能管理多区域部署。Lambda 的成熟度与文档无可匹敌,企业级合规与审计也最完整。

Cloudflare Workers:选它如果你要做全球低延迟接口、API 网关、边缘 A/B、地理重定向、广告投放、轻量后端 BFF,或者高频小请求成本敏感。配合 KV、R2、D1、Queues 已能搭出完整轻量后端。劣势是仅 JS/TS/Wasm、CPU 时间有限、生态比 Lambda 小但增长很快。

Vercel:选它如果你的应用前端为主,使用 Next.js、SvelteKit、Astro 或 Remix,团队不想管理 CI/CD 与基础设施,并且预算可以承受溢价。Vercel 的开发者体验是当下最好的之一,从 Git 推送到生产部署只需几分钟。中国大陆服务团队建议用阿里云 FC 与腾讯云 SCF 组合,配合 EdgeRoutine 或 EdgeOne 做边缘加速。无论选哪一个,都要把日志聚合、错误追踪、成本预警这三件事做扎实,不要等到月底账单出来再后悔。

常见问题

冷启动到底有多严重?

冷启动指函数首次或闲置后被调用时容器初始化的延迟。AWS Lambda 在 Node.js/Python 上一般 200 到 800 毫秒,Java/.NET 容易达到 1 到 3 秒;启用 SnapStart 或 Provisioned Concurrency 可大幅降低。Cloudflare Workers 基于 V8 Isolate 模型,冷启动几乎为零(5 毫秒以内)。Vercel Functions 默认走 Node.js 运行时类似 Lambda,Edge Functions 则走 V8 Isolate 接近 Workers。低延迟对外接口建议选 Workers/Edge,重计算业务可接受冷启动。

三家的计费模型差异有多大?

Lambda 按请求次数 + 执行时间 + 分配内存计费,免费额度每月 100 万请求与 40 万 GB-秒,超出后请求 0.20 USD/百万次。Cloudflare Workers 按请求次数 + CPU 毫秒计费,请求 0.30 USD/百万次(不含免费额度),CPU 时间 0.02 USD/百万毫秒,价格远低于 Lambda 但单次 CPU 上限受限。Vercel Functions 按调用次数与 GB-小时计费,Hobby 计划免费但带宽与函数时长有上限。Workers 在高频小请求场景成本最低,Lambda 在长任务上更灵活,Vercel 的优势是与 Next.js 紧密集成。

Cloudflare Workers 的 V8 Isolate 是什么意思?

传统 FaaS 用容器或 microVM 隔离每个函数,启动需要拉镜像、起进程、加载运行时,慢且重。V8 Isolate 是 Chromium 用来隔离 JS 上下文的轻量沙箱,单个 Worker 进程内可承载上千 Isolate。Cloudflare 在每个边缘节点常驻 V8 进程,新函数加载只需要解析代码,毫秒级启动且几乎无冷启动。代价是仅支持 JS/TS/Wasm,且单次 CPU 时间上限较短(默认 50ms,付费可到 30s),无法跑重计算或长事务。

中国大陆有哪些 Serverless 选项?

阿里云函数计算(FC)是国内最成熟的产品,支持 HTTP 触发、定时、消息队列、日志触发,Python/Node/Go/Java/PHP 均有运行时,新版还支持 GPU 函数与 Stable Diffusion 模板。腾讯云 SCF 类似,与微信生态、CDN、COS 整合好。华为云 FunctionGraph 与火山引擎 veFaaS 也已推出。Cloudflare Workers 在国内有部分边缘节点但 CDN 整体仍受跨境影响。出海团队倾向 Lambda + Workers,国内业务优先阿里云 FC 或腾讯云 SCF。

Serverless 真的没有厂商锁定吗?

锁定其实更深。一旦你写了 AWS Lambda + DynamoDB + EventBridge + Cognito + Step Functions 这种全家桶,迁移到其他厂商代价极大。Cloudflare Workers + KV + R2 + D1 同样深度耦合。降低锁定的策略是:业务逻辑写在框架(Hono、Itty Router、Serverless Framework)里,与平台 SDK 解耦;用 OpenTelemetry 与 OTel Collector 替代厂商专属监控;尽量用 S3 兼容、PostgreSQL 兼容这类标准接口。完全可移植不现实,但减少 70% 迁移成本可行。

相关工具