作者: 江昱
前言
2022 年 6 月 15 日,信通院在中國信通院雲原生產業大會上釋出《基於無伺服器架構的工具鏈能力要求》標準,至此全球首個雲原生 Serverless 開放工具鏈模型正式釋出!Serverless Devs [ 1] 作為開源開放的開發者工具積極參與工具鏈模型建設,為樹立行業領域統一規範發揮出助推作用。
隨著雲端計算髮展,以及雲原生熱度的攀升,Serverless 架構嶄露頭角且發展勢頭迅猛。不僅被更多開發者所關注,市場佔有率也逐年提高。然而,業內各平臺提供的 Serverless 服務存在較大差異,無形中增加了使用者的學習、開發、除錯、移植成本。各大雲廠商和開源框架所能提供的 Serverless 服務(無論從能力範圍還是從產品形態、使用體驗等方面)卻不盡相同,因此許多開發者在選擇使用 Serverless 之初,最大的擔憂便是廠商繫結問題。
在 2021 年中國資訊通訊研究院釋出的《中國雲原生使用者調查 2021》資料中明確提及:在採納 Serverless 技術前,31.69% 的使用者會考慮廠商繫結問題,30.62% 的使用者考慮相關工具集的完善程度。
這些資料背後透露的實際上是:開發者對於完善工具鏈的強烈需求和渴望。
基於這一現象,中國信通院釋出的全球首個雲原生 Serverless 開放工具鏈模型,旨在融合不同實現方式之間的差異,抽象出一套行之有效的工具鏈規範,統一 Serverless 應用全生命週期的操作體驗,驅動 Serverless 技術的標準化發展與廣泛落地。
Serverless 開放工具鏈模型
Serverless Devs 作為開源開放的開發者工具,自其立項始,便以提升 Servelress 應用研發效能為目標,以讓 Serverless 架構更好用、更易用為準則,期望在 Serverless 應用全生命週期發揮出重要作用。
Serverless Devs 不僅僅在工具鏈定位層面和信通院所釋出的模型思路吻合(都是希望通過對 Serverless 應用全生命週期管理能力的建設,助力開發者研發效能提升,降低學習成本,提升使用幸福感),在功能支援層面以及工具鏈產品形態上,也與該模型高度一致。
模型解讀
此次信通院所釋出的《基於無伺服器架構的工具鏈能力要求》標準,是對 Serverless 架構工具鏈體驗層的規範與統一,做出規約。此舉可以降低使用者的使用與遷移成本,有助於遮蔽不同實現方式之間的差異,進而推動無伺服器架構技術的廣泛應用。
(中國信通院釋出)
《基於無伺服器架構的工具鏈能力要求》:從能力框架入手,通過接入範圍、使用方法、操作形式等幾個方面,對 Serverless 工具鏈的基本形態進行了規約;通過初始化配置、應用開發、應用除錯、應用打包、部署釋出以及應用下線幾個階段,對 Serverless 工具鏈的能力範圍,即全生命週期管理能力進行了更為細緻的規約;
最後通過對支撐能力(包括不限於授權管理、觸發管理、應用管理、運維管理、研運管理等幾個方面)以及開放能力(包括不限於擴充開發、元件管理等幾個方面)進一步對 Serverless 工具鏈的具體形態,所需功能進行了相關的描述。
通過該模型,各個平臺所提供的 Serverless 開發者工具將趨於統一,更為規範。
對使用者的而言,對無伺服器架構(Serverless)的工具鏈能力做出規範性的標準化要求,相當具有必要性。該模型的釋出可以讓不同平臺較為割裂的 Serverless 使用體驗,逐漸朝向統一規範的形態演進,消解使用者廠商鎖定的顧慮。
通過該模型實現的 Serverless 工具鏈專案,能夠讓開發者獲得更為一致的開發使用體驗,即便是使用不同平臺所提供的 Serverless 產品或服務。以除錯功能為例:該模型認為,工具應提供基於本地環境的除錯能力,宜支援在沙箱環境執行本地除錯,宜支援端雲除錯,可支援雲端除錯。
此外通過這樣的規約,也可以幫助廠商積極開拓建設思路,查缺不足,補平自身的工具所應該具備的能力。這對行業統一規範建設,提升使用者研發效能等都具有極高的價值和戰略性意義。
另外值得注意的是,在《基於無伺服器架構的工具鏈能力要求》中,還涉及到擴充開發、元件管理等相關能力的描述,可以感受到信通院對工具鏈開放生態的重要態度。
Serverless Devs
Serverless Devs 自 2020 年 10 月正式開源後,一直為開發者生態不斷繁榮,優化使用者體驗層面的規範化、標準化持續努力著。
創新升級
基於開源開放建設的 Serverless Devs 開發者工具,信通院所釋出的《基於無伺服器架構的工具鏈能力要求》在開源的基礎上,創新性提出了 Serverless Devs Model,並根據該模型對外提供開發者工具和 Registry 生態。
而這一部分將會以生態基礎的思路進行建設,通過這一套體驗,開發者可以快速適配框架層,並在自身的應用中發揮重要的作用和價值。
為開發者帶來更為統一的功能體驗,例如應用管理,釋出,運維部署等,也可以為開發者提供多雲平臺的更為統一的使用體驗,例如公有云,混合雲。
基於模型和開源社群的最佳實踐,Serverless Devs 開發者工具和 Serverless Registry 為企業或開發者提供快速將業務部署到多平臺的 Serverless 服務。
而各個雲平臺或 Serverless 服務商,也可以通過這套生態基礎,為使用者們提供更為規範和統一的工具鏈、應用中心和最佳實踐。
記得 Serverless Devs 社群在和 Laf 社群的負責人介紹 Serverless Devs 和 Serverless Registry 的時候,Laf 社群的負責人激動地說到:“Python 裡面有 Pypi,Node.js 裡面有 Npm,Serverless 領域有 Serverless Registry,配合開發者工具可以做無限的可能,這就是生態的基礎啊,這太有格局,太有重要意義了。”
Serverless Devs 作為一款無廠商鎖定,開源開放的 Serverless 開發者工具,不斷地賦能 Serverless 創新升級,能夠靈活自由地為不同平臺的 Serverless 開發者和廠商使用者提供全生命週期管理能力,是我們長期堅持的目標。
以阿里雲函式計算(FC)為例,Serverless Devs 可以在初始化、開發、除錯、部署、運維等多個領域發揮出重要的作用。
阿里雲在 Serverless Devs 基礎上,構建了 Serverless 應用中心 [ 2] ,為開發者們提供了非常標準的 GitOps 能力,幫助開發者可以從應用緯度,對 Serverless 應用進行管理和操作,包括環境劃分等相關功能。
德基集團,便是基於 Serverless 架構進行不同環境的劃分,通過不同功能的加持,助力開發和運維效率全面加速提升。
德基集團的團隊同學同學這樣評價 Serverless Devs:"開源的 Serverless Devs 的出現,抹平了平臺間的差異化,幫助我們開發者快速的部署到不同的雲平臺,打消使用者的入坑焦慮同時,也給個廠商爭取了共同協商統一標準的時間。由此,我們也不難看出,Serverless Devs 的功能確實是在不斷的滿足使用者,其建設的根本目標,建設態度和思路,也是和廣大開發者站在同一角度的。當然,我們也正在為體驗層的規範,行業的繁榮,而不斷努力貢獻自己的一份力量。"
除了雲廠商、企業的選擇,開源社群也和 Serverless Devs 有著密切的合作聯絡,CNCF 的沙箱專案 OpenFunction,也正打算基於 Serverless Devs 構建其開發者工具鏈體系。社群負責人也表達:"Serverless Devs 通過打造開源開放、無廠商鎖定的 Serverless 應用全生命週期管理工具解決了的 FaaS 平臺各有各的規範這一問題。" 並表示 OpenFunction 社群將與 Serverless Devs 社群加緊合作,使使用者可以用統一規範管理的 OpenFunction 函式。
結語
一方面 Serverless Devs 注重是安全,注重的是研發效能的提升;另一方面我們也十分關注它是不是“接地氣” 的,開發者能不能好用,能不能易用;Serverless Devs 能不能真的在 Serverless 應用全生命週期,助力研發同學更好,更快的享受 Serverless 架構所帶來的紅利。
我們也希望 Serverless Devs 能夠持續為行業發展與生態繁榮貢獻自己的力量,無論是參編信通院釋出的《基於無伺服器架構的工具鏈能力要求》標準,還是組建 Serverless 開發者社群,釋出《Serverless 開發速查手冊》,亦或是全國範圍內舉辦 Serverless Meetup 線下活動;Serverless Devs 一直希望通過自身的努力,能夠為行業發光發熱,貢獻力量。
在未來,Serverless Devs 不僅僅會作為開發者工具, 為開發者們提供好用的無廠商鎖定的 Serverless 開發體驗,還會以開原始碼,開發生態的形式持續建設發力,為行業規範、繁榮,貢獻力量。
參考連結:
[1] Serverless Devs:
https://www.serverless-devs.com/
[2] Serverless應用中心:
https://fcnext.console.aliyun...
[3] 社群 GitHub: