Serverless Devs 進入 CNCF 沙箱,成首個入選的 Serverless 工具專案
近日,經過雲原生計算基金會(CNCF)TOC 例會上投票決議,Serverless Devs 正式成為 CNCF 官方沙箱專案。開源開放的 Serverless 開發者平臺 —— Serverless Devs 由阿里雲開源,致力於為開發者提供強大的工具鏈體系。通過該平臺,開發者不僅可以一鍵體驗多雲 Serverless 產品,極速部署 Serverless 專案,還可以在 Serverless 應用全生命週期進行專案的管理,並且非常簡單快速地將 Serverless Devs 與其他工具/平臺進行結合,進一步提升研發、運維效能。
**Serverless Devs 是 CNCF 首個 Serverless Tool 專案。**未來,Serverless Devs 社群將與更多開發者和使用者共建,持續致力於打造無廠商鎖定的 Serverless 應用全生命週期管理工具,讓 Serverless 更簡單,更好用。
CNCF TOC 在會議上對 Serverless Devs 作出如下評價: Davanum Srinivas (CNCF TOC ) 表示如果你是一位普通的開發者,你有很多 Serverless 應用需要執行,你一定希望自主選擇去哪個平臺執行,這個平臺最好有基於不同語言的模版,你可以基於此快速開始。Serverless Devs 就是這樣一個平臺,它已經準備好了很多模版,幫助開發者在一個Serverless 執行時中進行部署。它讓開發者可以輕鬆開啟 Serverless 之旅。
Emily Fox (CNCF TOC ) 認為 Serverless Devs 非常關注開發者的體驗體驗,同時也非常關注 Serverless 應用在不同雲平臺的部署。
Serverless Devs 專案地址:http://github.com/serverless-devs/serverless-devs
Serverless Devs 的六個優勢
- 無廠商鎖定:得益於功能的可插拔特性,可以非常簡單的支援不同雲廠商的專案部署,或者一鍵部署到不同雲平臺。目前 Serverless Devs 已經支援了阿里雲函式計算 、AWS Lambda 、百度智慧雲函式計算 、華為雲函式工作流 、騰訊云云函式 等多雲的 FaaS 產品;
- 開源形式建設:專案通過開原始碼,開放生態進行建設的,開發者可以隨時檢視和參與 Serverless Devs 開發者工具的貢獻,也可以隨時隨地進行相關元件和應用的貢獻。當然,除了這種開源開放的形態,我們也鼓勵一些企業級團隊,通過 Serverless Registry Model 建設自己的私有 Registry 以定製化某些不便公開的自定義元件;
- 功能靈活可插拔:Serverless Devs 開發者工具本身,不具備任何業務能力,所有的業務能力均是通過元件化的形式,進行可插拔式使用,並且每個元件可以根據需要,自定義相對應的命令和功能;開發者可以在一個應用中,選擇不同的元件完成對應的業務能力,以滿足對不同模組的訴求;
- 簡單快速上手:通過開放 Serverless Registry 的模型/規範,該專案可以通過應用的模式,為開發者提供多種形式,多種領域以及多種場景的上手案例,幫助開發者快速瞭解、學習、深入、上手 Serverless 架構;
- 應用全生命週期管理:通過元件化的支援,Serverless Devs 可以在應用的全生命週期發揮重要的作用,以 阿里雲函式計算的 FC 元件 為例,開發者可以在專案建立、專案的開發、除錯、可觀測性等多個層面進行專案的建設和管理;
- 良好的整合與被整合性:專案具有非常好的整合性與被整合性,可以通過元件化的支援,非常簡單的與傳統的生態進行有機結合。同時,Serverless Devs 開發者工具也可以非常簡單的被整合到海量的自動化流程中;
設計哲學
Serverless Devs 是一個開源開放的 Serverless 領域的工具鏈專案,他不僅僅表示單純的某個命令列工具,在一定程度上指的是一個完整的工具鏈體系。 在 Serverless Devs 中,擁有兩個角色:
- 開源貢獻者:開源貢獻者將按照 Serverless Package Model 進行元件/應用的開發 ,並將內容釋出到Serverless Regsitry 中,既可以被更多人所使用;
- Serverless 開發者:通過開發者工具(包括命令列工具以及桌面端等工具),進行應用的初始化,以及元件的使用;通過開發者工具,將業務按照預期部署到線上;
除此之外,在 Serverless Registry 中,有兩種形態的 Package(元件和應用):Component 和 Application:
- Component:指的是元件;是由 Package developer 開發併發布的符合 Serverless Package Model 規範的一段程式碼,通常這段程式碼會在應用中被引用,並在 Serverless Devs 開發者工具 中被載入,並按照預定的規則進行執行某些動作。例如,將使用者的程式碼部署到 Serverless 平臺;將 Serverless 應用進行構建和打包;對 Serverless 應用進行除錯等;
- Application:指的是應用;可以由 Package developer 公開發布到 Registry,以供更多人學習和使用,例如某位貢獻者貢獻了一個貓狗識別的案例到Registry;也可以由 Serverless developer 開發,例如某人開發了一個 人臉識別的應用;通常情況下一個應用可以引用一個或者多個元件,並通過 Serverless Devs 開發者工具 工具部署到 Serverless 平臺,例如我開發了一個貓狗識別的應用,在這個應用中引用了 Lambda 元件幫助我將部分業務邏輯部署到 FaaS 平臺,同時我也引用了 Website 元件幫助我把前端業務程式碼部署到物件儲存中;
Serverless Devs 的模型設計原則,是希望可以通過更加簡單、科學、規範的 Serverless 工具鏈體系,讓開發者更專注於業務邏輯,提升 Serverless 應用開發、部署、運維效率,通過該模型。開發者可以通過一種更靈活、更通用的方法使用不同雲廠商以及開源的 Serverless 產品,進而更高效、更簡潔、更便利的實現 Serverless 應用管理。
成長曆史
如果說 Serverless 提升了傳統應用的開發效能,那麼 Serverless Devs 開發者工具就是提升了 Serverless 應用開發的效能。隨著時間的發展,Serverless Devs 更是從簡單的單純的效能提升,變成了更加規範、更加科學的效能提升。我們真切希望可以通過 Serverless Devs 的工具鏈模式和思路,為應用的開發,傳統專案上 Serverless 架構提供巨大的便利和更科學的管理:
- 2020年 10月23日,Serverless 開發者平臺 Serverless Devs 正式開源;
- 2020 年11月,Serverless Devs 被 CNCF Landsacpe 收錄, 成為國內首個進駐的 Serverless 工具;
- 2020 年11月,Serverless Developer Meetup 首召開,成 Serverless 開發者技術新渠道;
- 2020 年 11月,入圍 InfoQ 評選 2020 年度十大開源新銳專案;
- 2021年4月,Serverless Developer Meetup 在上海召開,並正式釋出 Serverless Devs 2.0;
- 2021年7月,Serverless Developer Meetup 在杭州召開,阿里雲函式計算團隊在會上正式釋出端雲聯調、桌面客戶端等功能;
- 2021年10月,在 2021 OpenInfra Days China 會議上,Serverless Devs 帶來了《Serverless Devs:Serverless全生命週期的工具鏈建設》的主題演講;
- 2021年12月,Serverless Developer Meetup 在深圳召開,並嘗試性的對外展示了Serverless Devs Model;
- 2022年5月,Serverless Devs Model 作為 Serverless 工具鏈模型最佳實踐,亮相信通院雲原生產業大會;
- 2022年9月,Serverless Developer Meetup 在杭州召開;Serverless Devs 在雲原生計算基金會(CNCF)的 TOC 例會上投票決議通過,正式成為 CNCF 官方沙箱專案;
未來展望
Serverless Devs 將會在未來支援:
- 支援更多的雲廠商,雲產品;
- Hosted:Azure,Google Cloud Platform
- Installable:Knative,OpenWhisk,Kubeless,Laf
- 功能支援:
- Serverless Devs K8s Controller
- 編輯器外掛(VScode Plugin)
- Logs能力完善(Serverless Devs Logs)
- 雲執行環境(Serverless Devs Cloud)
- 全域性行為能力(Global Actions)
- 其他規劃:
- 更多形式的 Serverless 服務支援,如 Serverless Application Hosting 模型;
- 支援更多 BaaS 產品;
- 探索 IaC 方向;
- 與 Terraform 結合;
長圖
歡迎參與貢獻
- Serverless Devs Repo:http://github.com/Serverless-Devs/Serverless-Devs
- Serverless Devs 官網:http://www.serverless-devs.com/
- Serverless Devs 文件:http://docs.serverless-devs.com/
- Serverless Regsitry: http://registry.serverless-devs.com/
- Serverless Devs Model: http://docs.serverless-devs.com/sdm/readme
更多內容關注 Serverless 微信公眾號(ID:serverlessdevs),彙集 Serverless 技術最全內容,定期舉辦 Serverless 活動、直播,使用者最佳實踐。
- 當 Amazon Lambda 遇上 Apache APISIX 可以擦出什麼火花?
- Serverless Devs 重大更新,基於 Serverless 架構的 CI/CD 框架:Serverless-cd
- Serverless Devs 進入 CNCF 沙箱,成首個入選的 Serverless 工具專案
- 一文搞懂 SAE 日誌採集架構
- 實戰指南 | Serverless 架構下的應用開發
- 什麼是 Serverless 架構?
- 詳解非同步任務:任務的狀態及生命週期管理
- 基於信通院 Serverless 工具鏈模型的實踐:Serverless Devs
- 為 Serverless Devs 插上 Terraform 的翅膀,實現企業級多環境部署(上)
- 如何使用 Serverless 做架構和專案管理—— 三年全棧經驗總結
- 函式計算 HTTP 觸發器支援非同步,解放雙手搭建 Web 服務
- 無需修改程式碼,用 fcapp.run 執行你的 REST 應用
- 閒置計費 | 冷啟動與成本間的最優解
- 非同步任務處理系統,如何解決業務長耗時、高併發難題?
- 擁抱開放,Serverless 時代的下一征程
- 基於 Serverless 架構的頭像漫畫風處理小程式
- 硬核除錯實操 | 手把手帶你實現 Serverless 斷點除錯
- 即學即會 Serverless | 如何解決 Serverless 應用開發部署的難題?
- 即學即會 Serverless | 初識 Serverless 架構
- 深度揭祕阿里雲 Serverless Kubernetes