Skip to content

Serverless Devs 与 Funcraft/Fcli 的对比

形式对比

fc 组件 funcraft fcli
依赖资源描述文件(Yaml) 🙅
纯命令行模式(不依赖Yaml) 🙅

功能对比

fc 组件 funcraft fcli
应用部署 ✅(需要执行多条命令)
应用移除 🙅️ ✅(需要执行多条命令)
构建 🙅️
远程调用 🙅️
本地调用 🙅️
查看日志 🙅 🙅️
查看指标 🙅 🙅️
NAS操作 🙅️
同步操作 🙅 🙅️
版本 🙅 🙅️
别名 🙅 🙅️
预留 🙅 🙅️
按量资源 🙅 🙅️
🙅 🙅️
端云联调 🙅 🙅️
一键压测 🙅 🙅️
内存和并发度探测 🙅 🙅️
实例登录 🙅 🙅️
函数异动感知 🙅 🙅️
端到端部署 🙅 🙅️
多账号管理 🙅️ 🙅️
API 操作 🙅️ ✅️

场景对比

fc 组件 funcraft fcli
用户可能同时有测试账号和线上账号,或者个人账号和公司账号,需要进行进行不同账号的切换。 🙅 🙅️
用户需要在一个项目的执行前后,进行其他相关的行为定义,例如部署前需要进行build,部署后需要进行版本的发布,相关文件的上传,灰度的设置等。 🙅 🙅️
用户需要一键部署端到端的项目,例如将前端代码上传到对象存储,后端代码上传到函数计算,同时部署API网关、CDN等相关业务。 🙅 🙅️
用户需要在本地进行调试,但是有一些网络环境时线上的VPC,此时需要在本地连接到线上的VPC环境,进行代码的调试等。 🙅 🙅️
在进行项目部署时,Yaml需要从环境变量获取一些敏感信息,或者从其他的文件获取信息,也或者从已经部署完成的项目获得返回值作为入参,进行项目的部署。 🙅 🙅️
不依赖Yaml进行相关的原子性的操作,例如查看函数列表,服务列表,删除某个函数、服务,查看版本列表等; 🙅

迁移案例

从 Funcraft 迁移到 Serverless Devs 的方法

  • 【推荐】Yaml 格式切换:这种方法是将 Funcarft 规范的资源描述文档(例如template.yaml文件),转换成符合 Serverless Devs 规范且使用 FC 组件的资源描述文档(例如s.yaml文件),可以参考 fun2s 命令相关文档 ,进行一键转换;
  • 资源信息重新同步:这种方法是将线上的函数资源,直接同步到本地,包括线上函数的代码和相关的配置(此时的配置是符合 Serverless Devs 规范且使用 FC 组件的资源描述文档,例如 s.yaml),可以参考 sync 命令相关文档 ,进行快速同步;

从 Fcli 迁移到 Serverless Devs 的方法

从 Fcli 迁移到 Serverless Devs 的项目,通常是进行函数管理或者是与自动化脚本集成的需求,此时可以考虑使用 API 相关能力 直接进行迁移,FC组件的 API 能力 是直接操作函数计算 API 的功能;