天天看點

高德最佳實踐:Serverless 規模化落地有哪些價值?業務場景業務價值

來源 | 阿裡巴巴雲原生公衆号 作者 | 何以然(以燃)

導讀:曾經看上去很美、一直被觀望的 Serverless,現已逐漸進入落地的階段。今年的"十一出行節",高德在核心業務規模化落地 Serverless,由 Serverless 支撐的業務在流量高峰期的表現十分優秀。傳統應用也能帶來同樣的體驗,那麼 Serverless 的差異化價值又是什麼呢?本文分享高德 Serverless 規模化落地背後的實踐總結。

随着 Serverless 概念的進一步普及,開發者已經從觀望狀态進入嘗試階段,更多的落地場景也在不斷解鎖。“Serverless 隻适合小場景嗎?”、“隻能被事件驅動嗎?” 這些早期對 Serverless 的質疑正在逐漸消散,使用者正在更多的核心場景中,開始采用 Serverless 技術達到提效、彈性、成本優化等目的。作為地圖應用的上司者,高德為帶給使用者更好的出行體驗,不斷在新技術領域進行探索,在核心業務規模化落地 Serverless,現已取得顯著成效。

2020 年的“十一出行節”期間,高德地圖創造了記錄 ——截止 2020 年 10 月 1 日 13 時 27 分 27 秒,高德地圖當日活躍使用者突破 1 億,比 2019 年 10 月 1 日提前 3 時 41 分達成此記錄。

期間,Serverless 作為其中一個核心技術場景,平穩扛住了流量高峰期的考驗。值得一提的是,由 Serverless 支撐的業務在流量高峰期的表現十分優秀,每分鐘函數調用量接近兩百萬次。這再次驗證了 Serverless 基礎技術的價值,進一步拓展了技術場景。

業務場景

自主出行是高德地圖的核心業務,涉及到使用者出行相關的功能訴求,承載了高德地圖 APP 内最大的使用者流量。下圖為自主出行核心業務中應用 Node FaaS 的部分場景,從左至右依次為:主圖場景頁、路線規劃頁、導航結束頁。

高德最佳實踐:Serverless 規模化落地有哪些價值?業務場景業務價值

随着功能的進一步拓展,高德地圖從導航工具更新為出行服務平台和生活資訊服務入口,進一步拓展了出行相關的生活資訊服務場景,帶給使用者更全面的使用者體驗。上圖功能為場景推薦卡片,旨在根據使用者出行意圖推薦資訊,提升使用者出行體驗。此功能需具備快速疊代,樣式調整高靈活性的能力。是以,将卡片樣式模版存放于雲端,通過服務下發的形式渲染至用戶端無疑為最優選擇,可以滿足業務快速靈活疊代的目的。

經過方案評估判斷,此場景類型屬于無狀态服務,基于阿裡雲 Serverless 成熟的生态,高德最終選擇接入 Node FaaS(阿裡雲函數計算)服務能力,出行前端搭建了場景推薦卡片服務。卡片的 UI 模版擷取、資料請求聚合&邏輯處理、拼接生成 Schema 的能力均在 FaaS 層得到實作,用戶端根據服務下發的 Schema 直接渲染展示,達到更加輕便靈活的目标。

高德最佳實踐:Serverless 規模化落地有哪些價值?業務場景業務價值

那麼,Serverless 場景在“十一出行節”峰值場景中的具體表現如何?

整體服務成功率均大于 99.99% ,總計 100W+ 次觸發/分鐘,QPS 2W+,各場景的服務平均響應時間均在 60ms 以下,服務穩定性超出預期。

業務價值

從對以上業務場景的支撐中,我們可以看出 Serverless 的表現非常優秀。當然你也會問,傳統的應用也能帶來同樣的體驗,那麼 Serverless 的差異化價值又是什麼呢?

1. 簡單提效

傳統 BFF(Back-end For Front-end)層應用會随着時間推移,以及業務需求的增加, 其 BFF 層逐漸變 “富”, 備援的代碼逐漸變多,最後變成開發者的噩夢——“牽一發而動全身”。随着人員疊代變化,子產品的開發者也會變化,BFF 層就會慢慢變成一個無人知曉,無人敢動的子產品。

當 BFF 層轉換成 SFF (Serverless For Front-end) 層之後,會有什麼變化?SFF 的職責會變的單一、零運維、成本更低,這些是 Serverless 本身自帶的能力,而這些能力可以幫助前端進一步釋放生産潛能。開發者不再需要一個富 BFF 層,而隻需一個接口或一個 SFF 就可以實作功能,天然解決了“牽一發而動全身”的問題。如果接口停服或者沒有流量,那麼所用的執行個體會自動縮零,也就很容易分辨出是哪一個接口函數,後期就可以删掉此接口的函數,有效提升資源使用率。

高德在 Serverless 應用上非常先進,實作了 FaaS 層與研發體系的完全對接,是以,應用從開發、測試、灰階、上線的全生命周期,到具備流控、彈性、容災等标準化能力,所用的時間較以前縮短了 40%,大大提高了人效。

高德最佳實踐:Serverless 規模化落地有哪些價值?業務場景業務價值

2. 彈性以及成本

通過流量趨勢資料,我們可以觀察到地圖場景流量特點——高峰與低峰的落差十分明顯。按照傳統應用的資源準備,我們需要根據最高峰的流量進行資源準備,是以到了流量低峰期,多準備的機器會有很多備援,這就造成了成本的浪費。

針對以上情況,高德使用了阿裡雲函數計算,可以根據流量變化自動擴縮容。然而,提升擴縮容速度的複雜性較大,一直是大企業的專屬,但函數計算可以通過毫秒級别的啟動優勢,将快上快下的擴縮容能力普及給使用者,輕松幫助使用者實作了計算資源的彈性利用,并且大大降低了成本。

高德最佳實踐:Serverless 規模化落地有哪些價值?業務場景業務價值
高德最佳實踐:Serverless 規模化落地有哪些價值?業務場景業務價值

3. 可觀測性

可觀測性是應用上線診斷平台的必備屬性,要讓使用者觀察到 RT 變化、資源的使用率、系統應用的全鍊路調用,進而快速診斷出系統應用的瓶頸問題。阿裡雲函數計算率先與日志服務、雲監控、tracing 平台以及函數工作流編排做了完美的融合,使用者隻需要配置一次,就可以完完整整的享受到以上這些功能,大大降低了使用者的學習成本,實作了對應用程式的快速診斷。

高德最佳實踐:Serverless 規模化落地有哪些價值?業務場景業務價值
高德最佳實踐:Serverless 規模化落地有哪些價值?業務場景業務價值

Serverless 規模化落地的序幕已經拉開, 更多場景正在各行各業中解鎖。Serverless 在高德的規模化落地,對于業務方來而言,業務疊代更快更靈活了,為業務創新創造了前提條件;對于前端開發者而言,進一步激活了開發者的生産潛能,提升了極大的能力自信。高德出行業務從 2020 年初的能力試點到“十一出行節”的自主出行核心場景,期間接入了阿裡雲函數計算,積累了非常寶貴的雲原生落地經驗,為未來業務整體上雲打下了良好基礎。

作者簡介:何以然(以燃) 阿裡巴巴前端技術專家,2016 年入職高德地圖,目前負責高德出行業務研發以及 Serverless 相關技術落地

更多企業落地實踐内容,可

下載下傳雲原生架構白皮書了解詳情