无服务器计算让你只需上传代码,平台自动处理服务器、扩缩容与高可用。按实际调用次数与执行时长计费,空闲不收费,非常适合事件驱动、API 后端、定时任务等场景。
Serverless(无服务器)计算让你只关注代码逻辑,云平台自动处理服务器管理、自动扩缩容和高可用。按实际调用次数和执行时长计费,空闲期间零成本,是事件驱动架构和低流量 API 的理想选择。
| 对比维度 | AWS Lambda | Cloud Functions / Cloud Run | Azure Functions |
|---|---|---|---|
| 免费额度 | 100万次/月 + 40万 GB-s | 200万次/月 + 36万 GB-s | 100万次/月 + 40万 GB-s |
| 超量后每百万次 | $0.20 | $0.40(Functions) | $0.22 |
| 最大执行时长 | 15 分钟 | 60 分钟(Cloud Run) | 10 分钟(消费计划) |
| 内存配置 | 128MB - 10GB | 128MB - 32GB(Cloud Run) | 128MB - 14GB |
| 支持容器 | 是(容器镜像) | 是(Cloud Run 原生) | 是(高级计划) |
| 冷启动 | 100-500ms | 1-3s(Functions)/ <1s(Cloud Run min-instances) | 200ms-2s |
| 触发源数量 | 20+ 种 | 10+ 种 | 15+ 种 |
| 预留并发 | 支持(Provisioned Concurrency) | 支持(min-instances) | 支持(高级计划) |
| 支持语言 | Node/Python/Java/Go/C#/Ruby | Node/Python/Java/Go/Go/Ruby/PHP + 任意语言(Cloud Run) | C#/Node/Python/Java/PowerShell |
Lambda 是最早的 Serverless 函数计算服务(2014 年发布),拥有最成熟的生态和最丰富的触发源。从 S3 文件上传、DynamoDB 流变更到 API Gateway HTTP 请求,几乎 AWS 所有服务都能触发 Lambda。
GCP 提供两种 Serverless 方案:Cloud Functions(传统函数式)和 Cloud Run(容器式)。Cloud Run 是 GCP 的杀手级 Serverless 产品——任何容器都能无服务器化运行,不限定语言和运行时。
Azure Functions 是微软的 Serverless 服务,最大特色是 Durable Functions——一种有状态的函数编排模式,可以用代码定义复杂的工作流(如等待人工审批、扇出/扇入处理),而不需要外部编排引擎。
低流量场景下 GCP 免费额度更大(200万次/月 vs 100万次/月)。但 Cloud Run 的并发能力(每实例 1000 并发)意味着高流量下实例数更少,成本通常更低。Lambda 在低并发、短执行场景下更有优势。
三种方案:1)Provisioned Concurrency / min-instances 预热实例(增加成本但消除冷启动);2)使用轻量运行时(Node.js/Python 冷启动远快于 Java);3)减小部署包体积,去掉不必要的依赖。
不适合。长时间运行的服务(如 WebSocket 服务器、流处理)用容器或 VM 更合适。高稳定流量场景下 Serverless 可能比预留实例更贵。Serverless 最适合事件驱动、流量波动大、短时执行的场景。