這就是 Serverless Devs
Serverless Devs 是一個開源開放的 Serverless 開發者平台,緻力于為開發者提供強大的工具鍊體系。通過該平台,開發者可以一鍵體驗多雲 Serverless 産品,極速部署 Serverless 項目。
Serverless Devs 包含 Serverless Devs Tool (Serverless 開發者工具)和 Serverless Devs App Store(Serverless 應用中心):
1、Serverless Devs Tool 是一款可以讓 Serverless 開發者的開發和運維效率翻倍的工具。通過使用該工具,開發者可以更簡單、更快速的進行應用建立、項目開發、測試、釋出部署等,實作項目的全生命周期管理。
2、Serverless Devs App Store 是一個集 Serverless 應用線上搜尋,一鍵部署以及資源可視化編輯于一體的應用中心産品。應用中心擁有海量的生産級項目模闆,案例模闆,開發者可以自由選擇,并将項目一鍵部署到指定的雲平台上。
Serverless Devs 的開源為國内外開發者提供了 Serverless 工具的新選擇,讓開發者以更短的路徑體驗到多雲Serverless 産品,以更快的速度建立和部署 Serverless 應用,以更簡單和更自動化的方法進行項目管理和運維,Serverless 項目通過該平台完成全自動化後,可節省 99.9% 的管理成本。
Serverless 工具鍊之困
Serverless 正在改變未來軟體開發的模式和流程,并被預測将引領雲計算的下一個 10 年,但盡管如此,開發者在選擇使用 Serverless 時仍有諸多擔憂,這其中最受關注的無疑就是工具鍊體系的匮乏。
所謂的工具鍊匮乏,一方面表現在市面上工具鍊不完善,這導緻開發和部署難度大,進而增加成本;另一方面表現在,缺乏相關的工具鍊在體驗層将 Serverless 體驗進一步規範,優質工具鍊的匮乏導緻本來就擔心被廠商綁定的Serverless 開發者變得更難與廠商解綁。
前不久,中國資訊通信研究院釋出國内首個《雲原生使用者調查報告》明确指出在使用 Serverless 架構之前,49% 的使用者考慮部署成本,26% 的使用者考慮廠商綁定情況,24% 的使用者考慮相關工具集完善程度,這些資料背後透露的實際上是:開發者對于完善工具鍊的強烈需求。
Serverless Devs 的優勢
Serverless Devs 幫助解決目前的工具鍊之困,讓開發者一鍵體驗多雲産品,極速部署 Serverless 項目。
可支援主流 Serverless 服務/架構
Serverless Devs 是一個元件化與插件化的 Serverless 開發者平台,開發者可以在平台中可插拔式的使用不同 Serverless 的服務和架構,同時可參與元件和插件的開發。無論是工業級的 Serverless 服務,還是各類開源的 Serverless 架構,Serverless Devs 都可友好支援。開發者無需對市面上每一款 Serverless 工具進行研究和學習,隻需通過 Serverless Devs ,就可以簡單、快捷的“上手”主流 Serverless 服務和架構。
可視化編輯和部署
Serverless Devs 擁有可視化編輯和部署流程。在 Serverless Devs App Store 中,使用者可以通過關鍵詞快速檢索所需的應用案例或元件,并且通過可視化編輯完成項目配置,通過滑鼠點選即可完成項目部署。
無論是進行項目體驗,還是進行項目開發、運維,在應用中心的加持下,在可視化編輯和部署的加持下,Serverless 項目的整體部署時間縮短了近 1 倍。同時,Serverless Devs App Store 也是一個開發者開源共建的平台,所有使用者都可以在應用中心釋出自己的元件和應用供更多人學習、參考以及使用。
靈活與開放的使用方法
與絕大部分的開發者工具不同的是,Serverless Devs 在進行項目描述時不僅僅可以對函數計算、API 網關、對象存儲等資源進行描述,也可以通過 Serverless Devs 提供的插件以及 Hook 進行 Install、Build、Publish 等行為描述。與此同時 Serverless Devs 不會對每個元件的指令進行限制,而是鼓勵開發者針對不同的元件,開發不同的能力來應對更多、更複雜的場景,以阿裡雲函數計算元件為例,它不僅僅支援函數的部署和移除這樣的傳統能力,還支援日志查詢,名額查詢,本地建構,依賴安裝,調試等更多定制化的能力。
Serverless Devs 的這種靈活與開放的使用方法,可以在自動化部署、運維等領域發揮非常大的作用,将 Serverless Devs 與項目全生命周期進行有機融合,使得 Serverless 項目的開發運維效能提升 90%。
像使用手機一樣玩轉 Serverless
通過 Serverless Devs,我們可以像使用手機一樣的使用 Serverless。在使用手機時,我們需要通過在手機應用市場中搜尋、下載下傳各種應用,并安裝到手機中進行使用;對于 Serverless Devs 開發平台來說,我們可以通過 s gui 快捷調出 Serverless Devs App Store,并在其中搜尋并下載下傳元件/插件到 Serverless Devs Tool 開始使用 Serverless,如圖所示:
使用場景
Serverless Devs 可參與到項目的建立、開發、調試、部署與運維的全流程中,以阿裡雲函數計算元件為例:
1、在項目的建立階段,可通過指令行工具或者應用中心進行項目的最初建立;
2、在項目開發過程中,可以通過本地開發、調試等能力來驗證本地開發的正确性;
3、在項目調試的環節,可以通過本地調試與遠端調用、日志查詢等能力,來進行項目的最終調試;
4、在部署環節,可以先通過依賴安裝、項目建構等流程建構出完整的部署包,再進行項目的部署;
5、在後期運維環節,可以通過名額查詢來進行項目健康度檢查,通過日志查詢等來進行問題定位,通過項目釋出等能力進行版本釋出,别名釋出以及灰階釋出等;
未來規劃
2020 年 10 月,完成阿裡雲函數計算元件的全部能力建設;
2020 年 11 月,完成代号“130”計劃,一個月内完成 30 個 Web 架構/CMS 的支援,包括不限于 Django,Express,Flask,Koa,Egg,Nuxt,Next 以及 Webpy 等項目的一件遷移能力;
2020 年 11 月,完成代号“32100”計劃,3 周 21 天,讓 Serverless Devs App Store 擁有 100 個元件/應用,可以覆寫人工智能、大資料、Web 開發、監控告警等多個領域,并且這些内容全部開源;
2020 年 12 月,推出全新疊代版本;
2021 年 1 月,完成代号“88“計劃,8 周完成 8 個雲平台的函數計算等相關能力的支援,可以通過 Serverless Devs Tool 快速把項目部署到阿裡雲等多雲平台,甚至某些元件,隻需要修改 provider,就可以實作多雲部署;
2021 年 3 月,完成 VScode 插件、雲 IDE 等支援,通過編輯器、GUI 形式,使用 Serverless Devs
參與貢獻
Serverless Devs 的開源為國内外開發者提供了 Serverless 工具的新選擇,讓開發者可以以更短的路徑體驗到多雲 Serverless 産品,以更快的速度建立和部署 Serverless 應用,以更簡單和更自動化的方法進行項目管理/運維,未來期待更多開發者參與共建。
目前代碼已經在 Gitee(碼雲)和 GitHub 上正式開放:
Github 位址:
https://github.com/serverless-devsGitee 位址:
https://gitee.com/organizations/serverless-devs/projectsServerless Devs 官網:
https://www.serverless-devs.com