重磅 | 阿里開源首個 Serverless 開發者平臺 Serverless Devs

image

Serverless 從概念提出到應用,已經走過了 8 個年頭,開發者對 Serverless 的使用熱情不斷高漲。爲幫助開發者實現一鍵體驗多雲產品,極速部署 Serverless 項目,10 月 23 日,阿里巴巴正式宣佈開源首個 Serverless 開發者平臺 Serverless Devs,這也是業內首個支持主流 Serverless 服務/框架的雲原生全生命週期管理的平臺。git

這就是 Serverless Devs

Serverless Devs 是一個開源開放的 Serverless 開發者平臺,致力於爲開發者提供強大的工具鏈體系。經過該平臺,開發者能夠一鍵體驗多雲 Serverless 產品,極速部署 Serverless 項目。github

Serverless Devs 包含 Serverless Devs Tool (Serverless 開發者工具)和 Serverless Devs App Store(Serverless 應用中心):架構

  • Serverless Devs Tool 是一款可讓 Serverless 開發者的開發和運維效率翻倍的工具。經過使用該工具,開發者能夠更簡單、更快速的進行應用建立、項目開發、測試、發佈部署等,實現項目的全生命週期管理。
  • Serverless Devs App Store 是一個集 Serverless 應用在線搜索,一鍵部署以及資源可視化編輯於一體的應用中心產品。應用中心擁有海量的生產級項目模板,案例模板,開發者能夠自由選擇,並將項目一鍵部署到指定的雲平臺上。

image

Serverless Devs 的開源爲國內外開發者提供了 Serverless 工具的新選擇,讓開發者以更短的路徑體驗到多雲 Serverless 產品,以更快的速度建立和部署 Serverless 應用,以更簡單和更自動化的方法進行項目管理和運維,Serverless 項目經過該平臺完成全自動化後,可節省 99.9% 的管理成本。框架

Serverless 工具鏈之困

Serverless 正在改變將來軟件開發的模式和流程,並被預測將引領雲計算的下一個 10 年,但儘管如此,開發者在選擇使用 Serverless 時仍有諸多擔心,這其中最受關注的無疑就是工具鏈體系的匱乏。less

所謂的工具鏈匱乏,一方面表如今市面上工具鏈不完善,這致使開發和部署難度大,進而增長成本;另外一方面表如今,缺少相關的工具鏈在體驗層將 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 服務和框架。ide

2. 可視化編輯和部署

Serverless Devs 擁有可視化編輯和部署流程。在 Serverless Devs App Store 中,使用者能夠經過關鍵詞快速檢索所需的應用案例或組件,而且經過可視化編輯完成項目配置,經過鼠標點擊便可完成項目部署。函數

image
image

不管是進行項目體驗,仍是進行項目開發、運維,在應用中心的加持下,在可視化編輯和部署的加持下,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,如圖所示:

image

使用場景

Serverless Devs 可參與到項目的建立、開發、調試、部署與運維的全流程中,以阿里雲函數計算組件爲例:

image

  • 在項目的建立階段,可經過命令行工具或者應用中心進行項目的最初建立;
  • 在項目開發過程當中,能夠經過本地開發、調試等能力來驗證本地開發的正確性;
  • 在項目調試的環節,能夠經過本地調試與遠程調用、日誌查詢等能力,來進行項目的最終調試;
  • 在部署環節,能夠先經過依賴安裝、項目構建等流程構建出完整的部署包,再進行項目的部署;
  • 在後期運維環節,能夠經過指標查詢來進行項目健康度檢查,經過日誌查詢等來進行問題定位,經過項目發佈等能力進行版本發佈,別名發佈以及灰度發佈等;

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 上正式開放:

若是你有任何疑問,歡迎釘釘搜索羣號:33957367 進羣交流!

快速體驗 Serverless Devs

經過簡單的幾行指令,部署一個寫詩神器,點擊連接:https://developer.aliyun.com/adc/scenario/c6415182ebba4c9f990c2298e9a73eba,體驗就送 1024 專屬好禮!

阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,作最懂雲原生開發者的公衆號。」
相關文章
相關標籤/搜索