重磅 | 阿里開源首個 Serverless 開發者平臺 Serverless Devs
Serverless 從概念提出到應用,已經走過了 8 個年頭,開發者對 Serverless 的使用熱情不斷高漲。為幫助開發者實現一鍵體驗多雲產品,極速部署 Serverless 專案,10 月 23 日,阿里巴巴正式宣佈開源首個 Serverless 開發者平臺 Serverless Devs,這也是業內首個支援主流 Serverless 服務/框架的雲原生全生命週期管理的平臺。
這就是 Serverless Devs
Serverless Devs 是一個開源開放的 Serverless 開發者平臺,致力於為開發者提供強大的工具鏈體系。通過該平臺,開發者可以一鍵體驗多雲 Serverless 產品,極速部署 Serverless 專案。
Serverless Devs 包含 Serverless Devs Tool (Serverless 開發者工具)和 Serverless Devs App Store(Serverless 應用中心):
-
Serverless Devs Tool 是一款可以讓 Serverless 開發者的開發和運維效率翻倍的工具。通過使用該工具,開發者可以更簡單、更快速的進行應用建立、專案開發、測試、釋出部署等,實現專案的全生命週期管理。
-
Serverless Devs App Store 是一個集 Serverless 應用線上搜尋,一鍵部署以及資源視覺化編輯於一體的應用中心產品。應用中心擁有海量的生產級專案模板,案例模板,開發者可以自由選擇,並將專案一鍵部署到指定的雲平臺上。
Serverless Devs 的開源為國內外開發者提供了 Serverless 工具的新選擇,讓開發者以更短的路徑體驗到多雲 Serverless 產品,以更快的速度建立和部署 Serverless 應用,以更簡單和更自動化的方法進行專案管理和運維,Serverless 專案通過該平臺完成全自動化後,可節省 99.9% 的管理成本。
Serverless 工具鏈之困
Serverless 正在改變未來軟體開發的模式和流程,並被預測將引領雲端計算的下一個 10 年,但儘管如此,開發者在選擇使用 Serverless 時仍有諸多擔憂,這其中最受關注的無疑就是工具鏈體系的匱乏。
所謂的工具鏈匱乏,一方面表現在市面上工具鏈不完善,這導致開發和部署難度大,進而增加成本;另一方面表現在,缺乏相關的工具鏈在體驗層將 Serverless 體驗進一步規範,優質工具鏈的匱乏導致本來就擔心被廠商繫結的 Serverless 開發者變得更難與廠商解綁。今年 10月,中國資訊通訊研究院釋出國內首個《雲原生使用者調查報告》明確指出在使用 Serverless 架構之前,49% 的使用者考慮部署成本,26% 的使用者考慮廠商繫結情況,24% 的使用者考慮相關工具集完善程度,這些資料背後透露的實際上是:開發者對於完善工具鏈的強烈需求。
Serverless Devs 的優勢
Serverless Devs 幫助解決目前的工具鏈之困,讓開發者一鍵體驗多雲產品,極速部署 Serverless 專案。
1. 可支援主流 Serverless 服務/框架
Serverless Devs 是一個元件化與外掛化的 Serverless 開發者平臺,開發者可以在平臺中可插拔式的使用不同 Serverless 的服務和框架,同時可參與元件和外掛的開發。無論是工業級的 Serverless 服務,還是各類開源的 Serverless 框架,Serverless Devs 都可友好支援。開發者無需對市面上每一款 Serverless 工具進行研究和學習,只需通過 Serverless Devs ,就可以簡單、快捷的“上手”主流 Serverless 服務和框架。
2. 視覺化編輯和部署
Serverless Devs 擁有視覺化編輯和部署流程。在 Serverless Devs App Store 中,使用者可以通過關鍵詞快速檢索所需的應用案例或元件,並且通過視覺化編輯完成專案配置,通過滑鼠點選即可完成專案部署。
無論是進行專案體驗,還是進行專案開發、運維,在應用中心的加持下,在視覺化編輯和部署的加持下,Serverless 專案的整體部署時間縮短了近 1 倍。同時,Serverless Devs App Store 也是一個開發者開源共建的平臺,所有使用者都可以在應用中心釋出自己的元件和應用供更多人學習、參考以及使用。
3. 靈活與開放的使用方法
與絕大部分的開發者工具不同的是,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 可參與到專案的建立、開發、除錯、部署與運維的全流程中,以阿里雲函式計算元件為例:
-
在專案的建立階段,可通過命令列工具或者應用中心進行專案的最初建立;
-
在專案開發過程中,可以通過本地開發、除錯等能力來驗證本地開發的正確性;
-
在專案除錯的環節,可以通過本地除錯與遠端呼叫、日誌查詢等能力,來進行專案的最終除錯;
-
在部署環節,可以先通過依賴安裝、專案構建等流程構建出完整的部署包,再進行專案的部署;
-
在後期運維環節,可以通過指標查詢來進行專案健康度檢查,通過日誌查詢等來進行問題定位,通過專案釋出等能力進行版本釋出,別名釋出以及灰度釋出等;
Roadmap
-
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-devs
- Gitee 地址:https://gitee.com/organizations/serverless-devs/projects
- Serverless Devs 官網:https://www.serverless-devs.com
如果你有任何疑問,歡迎釘釘搜尋群號:33957367 進群交流!
快速體驗 Serverless Devs
通過簡單的幾行指令,部署一個寫詩神器,點選連結:https://developer.aliyun.com/adc/scenario/c6415182ebba4c9f990c2298e9a73eba,體驗就送 1024 專屬好禮!
“阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的公眾號。”
相關文章
- 如何快速開發 Serverless Devs Package ?ServerdevPackage
- 讓 Serverless 應用開發更簡單, Serverless Devs 2.0 全新發布Serverdev
- 我在阿里巴巴做 Serverless 雲開發平臺阿里Server
- 2022 開源之夏 | Serverless Devs 陪你“變得更強”Serverdev
- Serverless Devs 的官網是如何透過 Serverless Devs 部署的Serverdev
- 阿里雲 EMAS Serverless 重磅釋出阿里Server
- 重磅釋出 | Serverless 應用中心:Serverless 應用全生命週期管理平臺Server
- 我在阿里巴巴做 Serverless 雲研發平臺阿里Server
- Serverless Devs 重大更新,基於 Serverless 架構的 CI/CD 框架:Serverless-cdServerdev架構框架
- [Serverless] ? Laravel Serverless 部署平臺內測招募中 ?ServerLaravel
- 基於信通院 Serverless 工具鏈模型的實踐:Serverless DevsServer模型dev
- Serverless Devs 社群聯合信通院邀請您參加 2022 中國 Serverless 使用者調查Serverdev
- 華為雲全域Serverless技術創新:全球首創通用Serverless平臺被ACM SIGCOMM錄用ServerACMGC
- 阿里重磅開源全球首個批流一體機器學習平臺Alink,Blink功能已全部貢獻至Flink阿里機器學習
- 使用 Serverless Devs 外掛快速部署前端應用Serverdev前端
- Serverless 應用開發的 7 個經驗心得Server
- 對話開發者:Serverless 落地的困境與破局Server
- Serverless 選型:深度解讀 Serverless 架構及平臺選擇Server架構
- 重磅!阿里巴巴開源首個邊緣計算雲原生專案 OpenYurt阿里
- Serverless 工程實踐 | Serverless 應用開發觀念的轉變Server
- 杭州站|阿里雲 Serverless 技術實踐營(Serverless + 大資料)開啟報名!阿里Server大資料
- 開源 Serverless 里程碑:Knative 1.0 來了Server
- Everything is Serverless,從開源框架對比說起Server框架
- 官宣!開發者學習中心重磅首發
- Serverless 架構開發手冊 — “人人都是 Serverless 架構師”先導篇Server架構
- 免費下載 |《Serverless 開發速查手冊》讓你速查秒懂 ServerlessServer
- 最全!即學即會 Serverless Devs 基礎入門(上)Serverdev
- 最全!即學即會 Serverless Devs 基礎入門(下)Serverdev
- 暑期 2021 | Serverless Devs 最全專案申請攻略來啦!Serverdev
- Serverless 工程實踐 | 快速搭建 Kubeless 平臺Server
- Serverless 工程實踐|自建 Apache OpenWhisk 平臺ServerApache
- Serverless 工程實踐 | 自建 Apache OpenWhisk 平臺ServerApache
- 距離 Java 開發者玩轉 Serverless,到底還有多遠?JavaServer
- AiDex Sharp快速開發平臺開源AIIDE
- 即學即會 Serverless | 如何解決 Serverless 應用開發部署的難題?Server
- 阿里雲重磅開源實時計算平臺,挑戰計算領域的“珠峰”阿里
- 如何使用 Serverless Devs 部署靜態網站到函式計算Serverdev網站函式
- 萬字乾貨:從訊息流平臺Serverless之路,看Serverless標準演進Server