Serverless Devs 与 Funcraft/Fcli 的对比

形式对比

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

功能对比

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

场景对比

fc 组件funcraftfcli
用户可能同时有测试账号和线上账号,或者个人账号和公司账号,需要进行进行不同账号的切换。🙅🙅️
用户需要在一个项目的执行前后,进行其他相关的行为定义,例如部署前需要进行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 的功能;

在 GitHub 上编辑本页面 更新时间: Sun, Aug 20, 2023