一、簡介
Serverless Devs 是一個開源開放的 Serverless 開發者平臺,致力于為開發者提供強大的工具鏈體系。通過該平臺,開發者不僅可以一鍵體驗多云 Serverless 產品,極速部署 Serverless 項目,還可以在 Serverless 應用全生命周期進行項目的管理,并且非常簡單快速的將 Serverless Devs 與其他工具/平臺進行結合,進一步提升研發、運維效能。
具體請見:
Serverless Devs 官網
serverless-devs.com
它提供了cli工具 s 命令以操作Serverless相關的資源,如部署函數(s deloy)、刪除函數(s remove)等相關命令。s 命令的安裝和詳細使用請見:Serverless Devs/快速入門
github.com/serverless-devs/serverless-devs
二、進階開發
Serverless Devs 支持開發以下3種擴展,主要支持JavaScript/TypeScript語言實現,開發完畢后可以 上傳到 Serverless Registry(類似Java的Maven倉庫、pip軟件源等):
應用:包含Serverless函數代碼以及函數部署yaml描述文件,使其他開發者基于該模板快速一鍵部署函數。
組件:對函數生命周期進行管理的組件,如,部署、刪除、函數調用等。
插件:增強函數生命周期某個流程,如,在部署前做某些操作(比如刷新緩存、定時觸發器預熱函數)。
開發文檔:
docs.serverless-devs.com/dev-guide/cli_design/
已有案例參考:
各云廠商的優秀案例:
github.com/Serverless-Devs/Serverless-Devs/blob/master/docs/zh/awesome.md
其它案例:
應用 - Serverless Registry
devsapp.cn/application.html
組件 - Serverless Registry
devsapp.cn/component.html
插件 - Serverless Registry
devsapp.cn/plugin.html
三、部分廠商對接Serverless Devs Cli情況
友商A FC組件全部支持的能力列表如下:
構建&部署 可觀測性 調用&調試 發布&配置 其他功能
部署 deploy 日志查詢 logs 本地調用 local 版本 version 查看函數 info
構建 build 函數觸發 invoke 別名 alias 資源同步 sync
移除 remove 實例登錄 instance 預留 provision YAML 轉換 s2tos3
計劃變更 plan 按量資源 concurrency
層 layer
友商H FG組件全部支持的能力列表如下:
構建&部署 調用&調試 發布&配置 其他功能
部署 deploy 本地調試 local 版本 version 項目遷移 fun2s
刪除 remove 函數執行 invoke 別名 alias 查看函數 info
友商T SCF組件全部支持的能力列表如下:
構建&部署 調用&調試 發布&配置 其他功能
部署deploy
刪除remove