重磅釋出 | Serverless 應用中心:Serverless 應用全生命週期管理平臺
作者:江昱|阿里雲 Serverless 產品經理
參加文末有獎體驗活動,快速上手 Serverless 應用中心。
隨著 Serverless 架構的不斷普及與應用,Serverless 工具鏈體系的匱乏、更新/部署流程複雜、資源零散以及管理難度大等問題也隨之顯露。儘管 2020 年 11 月,Serverless Devs 開發者工具的開源已經在一定程度上解決了工具鏈體系匱乏帶來的部分問題,但是開發者在實際工作中,以應用為中心,對 Serverless 架構進行整體的運維操作、對資源進行整體的管理行為,依舊面臨著挑戰。於是,建設一個可以幫助開發者在 Serverless 應用全生命週期發揮作用的應用管理平臺就顯得尤為重要。
2022 年 5 月 9 日,歷經 10 個月打磨和測試,Serverless 應用中心正式上線。
這就是 Serverless 應用平臺
Serverless 應用中心,是阿里雲 Serverless 應用全生命週期管理平臺。通過 Serverless 應用中心,使用者在部署應用之前無需進行額外的克隆、構建、打包和釋出操作,即可快速部署和管理應用。Serverless 應用中心幫助使用者快速聯動雲上的上下游服務,輕鬆沉澱最佳實踐。
Serverless 應用中心的釋出,一方面希望通過與 Serverless Devs 工具鏈的聯動,進一步實現和完善 Serverless 應用全生命週期管理能力,另一方面也希望通過 Serverless 應用中心可以幫助開發者,更快速的體驗 Serverless 架構,更簡單的上手和使用 Serverless 架構,更科學和直觀的管理 Serverless 應用。
與此同時,Serverless 應用中心將會是 “Serverless On Serverless” 的一次嘗試,不僅作為新能力為開發者們提供更多的支援和便利,也將成為支援海量使用者使用 Serverless 架構,海量 Serverless 應用部署的,基於 Serverless 架構的最佳實踐。
http://fcnext.console.aliyun.com/applications/
Serverless 應用中心的目標
Serverless 應用中心,作為 Serverless 應用全生命週期管理平臺,在一定程度上承載了幾個重要的責任:
- 讓開發者,可以通過白屏化操作,更簡單、更方便、更快速的體驗和上手 Serverless 應用;
- 讓 Serverless 應用,可以以一種更為科學、安全與穩定的方法,進行開發、建立、更新以及運維、迭代等;
- 將傳統的資源以應用的維度進行聚合、管理,可以讓開發者真正意義上聚焦業務,聚焦應用,而不再是零散在不同產品頁面上的資源;
所以,Serverless 應用中心的初期目標,也就變得更為簡單和純粹:易用與好用。
一步開始 Serverless 之旅
Serverless 應用中心將會大大降低使用者在 Serverless 應用 OnBoarding 過程中的上手複雜度,通過白屏化的操作,開發者可以通過簡單的配置,快速創建出相對複雜的應用案例,而這些應用案例將會作為二次開發、學習和體驗的重要參考。
http://developer.aliyun.com/live/249101
如影片所示,使用者只需要在應用頁面中,找到合適的應用點選建立按鈕,即可快速地進行應用的建立,應用建立完成之後會有相關的測試域名可供體驗。
目前應用中心已經提供了包括商城案例、音影片處理、Web 框架等近 5 個分類的超 20 款熱門應用的快速體驗,無論是 Django、Express、Flask、SpringBoot 等傳統框架的一鍵部署,還是 Zblog、Wordpress 等部落格、內容管理系統的快速建立和使用,再或者是 CDN 的備源、一鍵建立網盤/雲桌面、影片轉碼/切片/壓縮的極速體驗,Serverless 應用中心都可以幫助開發者一步開始 Serverless 之旅。
與工具結合的 1 到 n
除了快速建立模板應用,開發者也可以選擇通過 Github 等程式碼倉庫進行專案建立。
http://developer.aliyun.com/live/249102
如影片所示,當開發者選擇通過 Github 程式碼倉庫進行專案的建立之後,Serverless 應用中心不僅會建立應用本身,還會將應用程式碼放到指定的程式碼倉庫中,這樣開發者就可以基於該案例/模板,進行專案的二次開發等。
值得一提的是:
- 所有基於 Serverless 應用中心建立的應用,都是符合 Serverless Devs 規範的應用,即開發者可以通過 Serverless Devs 開發者工具對應用進行開發、除錯、部署等相關操作;
例如開發者 Clone 放在指定倉庫的應用,在本地進行開發和多模除錯(本地除錯、端雲聯調、雲端除錯等),完成之後可以通過將程式碼推送到程式碼倉庫或者建立 Release,實現業務的更新。
- Serverless 應用中心不僅可以快速建立模板應用,通過案例應用進行參考和二次開發,還可以直接匯入已有的,且符合 Serverless Devs 規範的應用,將已有的應用託管到應用中心,進而體驗 Serverless 應用中心的相關功能。
以應用維度的資源管理
眾所周知,Serverless 應用往往會涉及到諸多的產品,例如資料庫資源、訊息中介軟體資源、物件儲存、日誌服務等資源,換句話來說,一個完整的 Serverless 應用,通常都是 FaaS 產品與諸多的 BaaS 有機結合,因此,Serverless 的使用者往往會面臨著管理諸多資源的問題,而這些管理的資源往往又在不同的產品頁面,對後期的管理、運維等都帶來的極大的不便,不小得複雜度。
如下圖所示,Serverless 應用中心將會以應用維度進行資源的展示和管理:
通過以應用維度的建立、更新等操作,通過以應用維度的資源展示與管理,Serverless 應用中心將原本分散的資源進行了進一步抽象,通過應用維度使得開發者可以更清晰、直觀地對自身應用進行運維、管理等。
實現
正所謂敢於自我嘗試,才有可能服務好更多開發者,在阿里巴巴內部,儘管已經有大量業務採用 Serverless 架構實現,但是,在我們眼中依舊不夠 “典型”,如何 “Serverless On Serverless”,讓 Serverless 架構不僅僅可以在內部有大量應用,服務其他行業/業務,也要讓 Serverless 架構可以為團隊自身創造更多的價值,於是,Serverless 應用中心就成為了一個出生在 Serverless 架構,成長在 Serverless 架構的雲原生應用。
Serverless 應用中心,基於 Serverless 架構自身的極致彈性特點,通過 FaaS 產品與 BaaS 產品的有機結合,花費了極少的時間和代價,構建出了一套可用性極高,費用極低的高性價比,高可用的後臺服務。
如上圖所示,通過 HTTP 觸發器(API 閘道器),基礎業務函式將會接收使用者在客戶端發起的請求,以及 Github 等程式碼倉庫送來的 WebSockets 通知,對這些資訊進行基礎的處理(包括不限於許可權鑑定、身份認證等相關操作),然後通過訊息中介軟體(部分事件並不會通過訊息中介軟體),將不同的事件送達到不同的業務函式中,並進行業務的處理,如果有建立、更新等部署相關事件,則會進一步的下發到部署函式中,進行業務的部署,在整個流程中,會不斷的有元資料、快取資料、日誌資訊等通過 Proxy 模組,儲存到對應的 BaaS 產品中。
在整個專案構建的過程中,業務同學只需要設計好整體架構,以及對相關的業務函式進行開發和部署即可,專案中的 BaaS 產品的運維、FaaS 產品的彈性,均由平臺實現和負責,一方面可以讓開發的同學付出更多的精力在更具價值的業務邏輯之上,另一方面也可以大大提升業務的研發效能,加快業務創新迭代效率,縮短專案上線釋出週期。
當然,關於 Serverless 應用中心,如何實現 “Serverless On Serverless” 這個部分,我們會在之後的技術分享和文章中進行更為詳細的分享。
Roadmap
儘管 Serverless 應用中心已經發布了 Beta 版本,但是仍然存在一定的不足,目前相關的研發同學也正在不斷的完善和優化中。當然,我們還有很多功能,等待更新和進一步完善,包括不限於:
應用建立:
-
- 1.支援更多程式碼倉庫:
- Gitee
- Gitlab
- Codeup
-
- 2.支援更多的觸發方案:
- Github Action 觸發
- 雲效觸發
- Jenkins 觸發
應用管理:
1.應用刪除能力
2.應用維度監控與告警能力
3.應用維度的資源編輯能力
4.線上應用編輯能力
5.Serverless Devs 開發者工具與應用中心聯動能力
另外,對正在體驗或者已經體驗了應用中心的同學,也歡迎及時和我們反饋更多的意見和看法,可以通過留言或者填寫我們的調研問卷 ,進一步和我們取得聯絡。我們相信大家一起參與的專案,才能更好地為大家服務,因為每個人都是工具的主人,都是 Serverless 應用中心的主人。
(手機識別參與調研)
總結
Serverless 架構正在不斷髮展,從開發者角度出發的工具和平臺也逐漸的豐富起來,Serverless 應用中心作為 Serverless 應用全生命週期管理平臺,採用 “Serverless On Serverless” 的做法,不僅僅希望通過易用和好用幫助開發者快速體驗 Serverless 架構,從 0 到 1 再到 n 的將自身應用部署到 Serverless 架構,也希望開發者可以整整意義上以應用維度對 Serverless 相關資源進行管理,對 Serverless 應用進行操作。
作為 Serverless 應用全生命週期管理平臺,Serverless 應用中心也正在通過和廣大的業務團隊,開發者們,一同努力建設 “來自使用者,為了使用者,服務使用者” 的 Serverless 應用管理平臺。
# 1分鐘 Serverless 部署個人網盤 #
1 分鐘自建 1 個真網盤1 步拿到百變指尖陀螺!👇
本場景基於 Serverless 應用中心 + 阿里雲函式計算 + 開源企業級線上檔案管理系統 KodBox 打造,讓你僅用 “幾次” 點選,擁有一個可隨意儲存資源、不限速下載、多端使用、與朋友共享資源……的專屬個人網盤。
時間: 5月9日-5月20日(工作日期間)
獎品: 每日 200 個百變指尖陀螺
建議: PC 端體驗
直接戳 “ 此處 ” 或複製該地址前往體驗!
- 啟動!阿里巴巴程式設計之夏2022
- 雲原生混部最後一道防線:節點水位線設計
- OpenKruise v1.2:新增 PersistentPodState 實現有狀態 Pod 拓撲固定與 IP 複用
- Serverless Job——傳統任務新變革
- 首評 | 阿里雲順利完成國內首個雲原生安全成熟度評估
- Serverless Job——傳統任務新變革
- 阿里雲釋出效能測試 PTS 2.0:低成本、高效率、多場景壓測,業務穩定性保障利器
- ZooKeeper 在阿里巴巴的服務形態演進
- OpenYurt v0.7.0 版本解讀:無侵入的跨網路域解決方案 Raven
- K8s 閘道器選型初判:Nginx 還是 Envoy?
- K8s 閘道器選型初判:Nginx 還是 Envoy?
- ZooKeeper 在阿里巴巴的服務形態演進
- 面向高校 | “雲原生技術應用與實踐”示範課程專案開放申報
- 硬之城獲阿里雲首批產品生態整合認證,攜手阿里雲共建新合作
- 基於阿里雲 ASK 的 Istio 微服務應用部署初探
- Seata 1.5.1 重磅釋出,支援使用者控制檯,企業版正式免費公測
- OpenYurt v0.7.0 版本解讀:無侵入的跨網路域解決方案 Raven
- 最佳實踐|從Producer 到 Consumer,如何有效監控 Kafka
- 報名進入尾聲,趕快申請加入 sealer 開源之夏吧!
- OpenClusterManagement 開源之夏 2022 來了