2025年 Serverless Framework 何去何从?AWS 无服务器部署工具迁移指南

2025年末 Serverless Framework 现状:迁移还是坚守?

引言:一个时代的转折点

如果你是一位 AWS 无服务器架构的实践者,2025年末这个时间节点可能让你感到些许焦虑。曾经风靡一时的 Serverless Framework 正站在命运的十字路口——v3 版本已进入 EOL(End of Life)阶段,而 v4 版本开始采用商业收费模式。

最近在技术社区中,一位开发者分享了他们公司的真实处境:约 40 个微服务中,三分之一已迁移到 CDK,其余仍在使用 Serverless Framework 3.xx。这个场景在业界极具代表性——既有对老工具的依恋,又有对未来的不确定。

作为一名经历过多次技术栈迁移的云架构师,我想和大家深入探讨这个问题:在 2026 年,我们该如何规划无服务器部署工具的技术路线?

问题分析:Serverless Framework 为何走到今天

商业模式的必然转型

Serverless Framework 的收费决策并非突然之举。作为一个开源项目,长期依赖社区贡献和风险投资难以持续。v4 的商业化是团队寻求可持续发展的必然选择。正如原帖作者所言:”如果他们能从中盈利,那是他们应得的。”

技术债务的累积

继续使用 EOL 版本意味着:

  • 安全风险:不再有安全补丁更新
  • 兼容性问题:新版 AWS 服务可能无法支持
  • 社区萎缩:插件生态逐渐停止维护
  • 招聘困难:新人可能不熟悉过时工具

插件生态的困境

Serverless Framework 最大的优势之一是其强大的插件系统。原帖作者提到他开发了 OpenAPI 定义相关的插件,并正在开发 Arazzo 插件。这些定制化能力在迁移时往往是最大的痛点——如何在新平台上重现这些功能?

解决方案探讨:四条主流路径

方案一:坚守 Serverless Framework v3

社区中有相当一部分开发者选择继续使用 v3。正如一位开发者所说:”坚持使用 v3,没有迁移计划。它有太多有用的功能和插件,目前没有替代品能取代。”

✅ 优点:

  • 零迁移成本
  • 团队无需学习新工具
  • 现有插件和工作流继续可用
  • 适合使用 bref.sh 等特定生态的项目

❌ 缺点:

  • 技术债务持续累积
  • 长期风险不可控
  • 可能错过新特性

适用场景:稳定运行的遗留系统、短期项目、重度依赖特定插件的团队

方案二:迁移到 AWS CDK

CDK 是目前最主流的迁移目标。一位开发者分享道:”今年早些时候我完成了全面替换,转向 CDK。本来一直在拖延,但 Claude Code 让这个过程轻松了很多。”

// CDK Lambda 函数定义示例
import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as apigateway from 'aws-cdk-lib/aws-apigateway';

const handler = new lambda.Function(this, 'MyFunction', {
  runtime: lambda.Runtime.NODEJS_18_X,
  code: lambda.Code.fromAsset('lambda'),
  handler: 'index.handler',
});

const api = new apigateway.RestApi(this, 'MyApi');
api.root.addMethod('GET', new apigateway.LambdaIntegration(handler));

✅ 优点:

  • AWS 官方支持,长期维护有保障
  • 完整的 TypeScript/Python 类型支持
  • 可管理所有 AWS 资源,不仅限于 Lambda
  • 与 CloudFormation 深度集成

❌ 缺点:

  • 学习曲线较陡
  • 代码量通常比 serverless.yml 多
  • 本地开发体验不如 Serverless Framework

适用场景:中大型团队、需要管理复杂 AWS 资源、追求长期稳定性

方案三:采用 SST(Serverless Stack)

SST 是近年来崛起的新星,专注于提供更好的开发体验。有开发者表示:”我们迁移到了 SST,它服务得很好。”

// SST 配置示例
export default {
  config() {
    return {
      name: "my-app",
      region: "us-east-1",
    };
  },
  stacks(app) {
    app.stack(function API({ stack }) {
      const api = new Api(stack, "api", {
        routes: {
          "GET /": "functions/handler.main",
        },
      });
    });
  },
};

✅ 优点:

  • 基于 CDK 构建,兼具灵活性
  • 出色的本地开发体验(Live Lambda Development)
  • 配置简洁,接近 Serverless Framework 的简洁度
  • 活跃的社区和快速迭代

❌ 缺点:

  • 相对年轻,生态不如 CDK 成熟
  • 部分高级场景可能需要回退到原生 CDK
  • 版本更新较快,可能有 breaking changes

适用场景:新项目、重视开发体验的团队、全栈应用

方案四:Terraform + 自定义脚本

对于已有 Terraform 基础设施的团队,这是一个自然的选择。一位开发者分享:”我已经开始用 Terraform 管理基础设施,并用内部脚本管理本地设置和部署。它与我们其他 TF 基础设施集成得很好。”

✅ 优点:

  • 多云支持,不锁定 AWS
  • 与现有 Terraform 基础设施无缝集成
  • 成熟稳定,企业级支持

❌ 缺点:

  • 需要额外开发部署脚本
  • 本地开发体验需要自行构建
  • HCL 语法对部分开发者不友好

适用场景:多云环境、已有 Terraform 投资的团队、DevOps 成熟度高的组织

最佳实践与专业建议

决策框架:如何选择适合你的方案

基于我的实战经验,建议从以下维度评估:

  1. 团队规模与技术能力
    • 小团队(<5人):SST 或继续 v3
    • 中型团队(5-20人):CDK 或 SST
    • 大型团队(>20人):CDK 或 Terraform
  2. 现有技术栈
    • 已有 Terraform:优先考虑 Terraform 方案
    • 纯 AWS 环境:CDK 是最佳选择
    • 追求开发效率:SST 值得尝试
  3. 项目生命周期
    • 短期项目(<1年):继续 v3 或快速迁移到 SST
    • 长期项目(>3年):投资 CDK 是值得的

迁移策略:渐进式而非一刀切

参考原帖公司的做法——40 个微服务中逐步迁移三分之一——这是一个明智的策略:

阶段 1:新项目全部使用新工具(CDK/SST)
阶段 2:识别高风险/高维护成本的服务优先迁移
阶段 3:稳定运行的遗留服务最后处理或保持现状

善用 AI 工具降低迁移成本

正如社区中提到的,AI 编程助手可以显著降低迁移痛苦。将 serverless.yml 转换为 CDK 代码、重写插件逻辑等重复性工作,AI 可以完成大部分初始工作,人工只需审查和调优。

我的最终建议

如果让我为不同场景给出具体建议:

场景 推荐方案 理由
全新项目 SST 或 CDK 没有历史包袱,直接选择有未来的工具
大量遗留服务 CDK + 渐进迁移 官方支持,长期稳定,值得投资
多云/混合云 Terraform 统一工具链,避免厂商锁定
预算有限的小团队 继续 v3 + 观望 短期内风险可控,等待生态成熟

总结

Serverless Framework 的商业化转型标志着一个时代的结束,但也开启了新的可能性。无论选择哪条路径,关键是做出有意识的决策,而非被动等待。

技术选型没有绝对的对错,只有适合与否。希望这篇文章能帮助你在 2026 年的技术规划中做出更明智的选择。记住:最好的迁移时机是昨天,其次是今天。

需要优化您的 AWS 架构? 欢迎在评论区分享您的 Serverless Framework 迁移经验,或者您正在使用的替代方案。让我们一起探讨最佳实践!

AWS账单代付

AWS/阿里云/谷歌云官方认证架构师,专注云计算解决方案。