成本与限制
计费模型、Vendor lock-in 意识。
25 分钟
成本与限制
Serverless 的卖点是 按用量付费,但账单项分散在 Lambda GB-秒、API Gateway 请求数、DynamoDB RCU、出站流量——低流量极省,高流量或 Provisioned Concurrency 可能反超 EC2。与 aws-cost 同一纪律:实验完销毁、设预算告警。
学习目标
- 读懂 Lambda 与 API Gateway 主要计费维度
- 识别 vendor lock-in 与可移植边界
- 做简单「Lambda vs EC2」数量级估算
Lambda 计费直觉
| 维度 | 说明 |
|---|---|
| 请求次数 | 每百万次一档价 |
| GB-秒 | memory × 执行时长 |
| Provisioned Concurrency | 预热实例持续收费 |
| 出站流量 | 与其他 AWS 服务同价表 |
省钱:缩短 duration( profiling )、合适 memory、避免无意义 invoke;异步用 SQS 批处理。
费钱陷阱:Provisioned 开太大、VPC ENI 冷启动导致 timeout 重试、Scan 全表 DynamoDB。
API Gateway 与其他服务
HTTP API 通常比 REST API 便宜;每请求再加数据传输。DynamoDB On-Demand 适合 流量不可预测;稳态高吞吐见 ddb-capacity Provisioned。
Vendor lock-in 意识
| 锁定层 | 可移植性 |
|---|---|
| Handler 业务逻辑 | 高——纯 Java 可迁 |
| IAM、SAM、EventBridge 规则 | 低——绑 AWS |
| DynamoDB 数据模型 | 中——换 Cassandra 需 remodeling |
| API Gateway 鉴权集成 | 低——Cognito Authorizer 难原样搬 |
缓解:领域逻辑与 AWS SDK 调用分离;事件 schema 用 JSON Schema 文档化;关键路径保留 Kubernetes / EC2 备选方案 的架构草图。
何时不用 Serverless
- 稳定 7×24 高 CPU 工作负载 → EC2/RDS 常更省
- <10ms P99 且不能 Provisioned → 考虑边缘或常驻服务
- 强合规 要求固定主机审计 → 专用实例
scale-intro 的扩展决策树同样适用:没有银弹,只有账单与 SLA 的 trade-off。
练习
- 估算:128MB、200ms、日 10 万次 invoke 的 Lambda 计算费(用 AWS 计价页)