騰訊雲李嘯川:Serverless 化雲原生釋放雲計算效率紅利

以下內容來自「2021 全區分佈式雲大會:《Serverless 化雲原生釋放雲計算效率紅利》主題分享」,深度好文,預計閱讀需 22 分鐘。

分享嘉賓

李嘯川,騰訊雲 Serverless 技術產品專家,目前負責騰訊雲 Serverless 產品及企業解決方案的設計工作,致力於推動雲原生技術架構演進及落地,爲技術工作者提供高效的雲服務產品。十餘年技術研發經驗,曾就職於 Oracle、IBM,從事於企業級商業套件及雲服務引擎研發工作,後切換到消費互聯網,孵化小米 MIOT、創立小米有品電商等業務,加入騰訊雲之前擔任愛奇藝技術總監,業務線技術負責人。

01. 面向業務的技術體系關注哪些方面?

首先,通過業務視角來看爲什麼需要關注 Serverless。這裏的業務視角是廣義的業務,即滿足需求,解決痛點,輸出價值。技術對業務的助力可以簡單歸納爲三個階段:

  1. 迭代原型,驗證業務

從零到一,通過技術手段提升業務原型的迭代和驗證效率;

  1. 持續優化,強化業務

在運行效率和工程效率方面不斷優化,增強業務的競爭力;

  1. 構建壁壘,賦能業務

在技術深度方面形成護城河,持續保持業務的差異化優勢;

爲了更好的支撐業務,在技術體系中我們會關注哪些問題?

1. 穩定性和質量,是業務正常推進的基石;

2. 開發效率,幫助業務爭取寶貴的時間,決定了業務能否在賽道中勝出,比如有了新的想法能否快速得到驗證;

3. 運行效率,是研發同學亙古不變的執着追求,更優化的算法,更優雅的架構,同時也將決定深度和難度;

4. 成本,這裏的成本,一方面是資源成本,例如運行服務或系統,需要佔用的計算、網絡、存儲等基礎資源的成本。另一方面是時間和人力成本,對於企業來說,尤其是互聯網或業務導向的公司,人力成本佔企業整體比重較大;

02. Serverless 能夠釋放哪些紅利?

從工業界的角度來看,包含四個維度:

  • 模塊化程度
  • 自動化運維程度
  • 彈性效率
  • 故障恢復能力

從這幾個方面可以看出對基礎設施層,進行了趨勢演進的判斷,目前 Serverless 在可以預見的階段內,是計算平臺的一個必然的演進方向,也是目前可預見的最終方向。

Serverless 分成兩個階段:第一個階段是 容器化的 Serverless,再下一個階段是 fPaaS Serverless 的平臺

關於學術界對 Serverless 定義,加州大學伯克利分校於 2009 年曾發表過一篇論文,精準預測了未來 10 年雲計算演進的方向,2019 年又發表了一篇論文,預測 Serverless 將會成爲未來雲計算最終的產品形態或服務平臺。

騰訊雲連續兩年舉辦 ServerlessDays China 交流峯會,2020 年邀請了文章主要作者之一 Johann Schleier-Smith ,給我留下印象最深的觀點是,他把雲計算分成兩個階段,第一個階段:簡化系統管理,包括虛擬機、容器等,提供可編程的、簡化的管理方式,由雲平臺託管基礎設施;下一個階段:簡化開發,開發者只關注核心代碼,雲平臺負責系統管理、運維、架構等等,爲開發提供更好的體驗,讓開發效率得到更大的提升。

在講解了工業界和學術界的定義之後,我們來對比 Serverless 與傳統 Server 的服務方式。

在傳統的 Server 金字塔圖中,從底層系統的安全、系統資源的調度,到中層的日誌、監控、運維,再到上一層的數據、存儲,最後金字塔尖的業務邏輯。對於業務開發來說,真正產生價值的就是上金字塔尖這部分業務邏輯的編寫,服務於客戶,爲客戶帶來價值。下面的部分更多是基礎的支撐,從這個角度來說,Serverless 就是解決下面的部分基礎設施維護,平臺側承擔底層基礎部分,給到開發者更少的運維成本和工作量,Less is more,讓企業把有效的人力、資源去放到更多產生業務價值的方面。

以業務開發舉例,在規劃一個項目時,大概有 50% 左右的時間設計整個架構,比如高可用、高併發、可拓展,如何設計架構才能支撐這樣的規模,若平臺側來承接這部分工作,能夠解放大量的人力和精力。

對於商業模式的改變,在一些典型場景:比如「電商秒殺」、「春晚搶紅包」,都有瞬時的流量峯值,爲了能承接這樣瞬時的峯值,需儲備巨大的資源,但這部分資源在很長的一段時間內是閒置的狀態。

如何解決資源冗餘的問題呢?

這種商業模式在以往衣食住行各行業早已經落地,只是在計算領域將其複用。早期是自建機房,接着開始租用雲主機,最終通過 Serverless 形成按需付費。類比交通,購買汽車,自己負擔維護、折舊成本並佔用自有時間駕駛;租用汽車,租用期間佔用自有時間駕駛且開不開都需要付租金;出租車,按需啓動,里程計費。

雲廠商提供的計算資源,在租用期間擁有使用權,但在租用過程中,會有一部分計算資源的冗餘,而通過 Serverless 按需付費,根據實際需求量來申請使用計算服務,達成業務目標後即可終止計算服務,停止計費。

從這個角度來看,Serverless 核心價值可以歸納到三點:

1. 簡化運維,能夠提供穩定運行環境,支持多場景、彈性伸縮的服務;

2. 更低成本,按需付費,減少冗餘資源的計費;

3. 時間效率,通過 Serverless 這種面向事件的編程模式,極大地簡化架構設計,簡化不同規範、不同標準的團隊協作。快速地將業務落地,快速投放到市場做驗證。

03. Serverless 落地方式

1. 騰訊雲 Serverless 產品矩陣

  • Serverless HTTP

目前支撐微信小程序開發平臺,比較典型還有 Web 應用、API 服務等等。雲函數已經支撐微信開發平臺超過 100 萬的開發者,每天超過 150 億次調用。

  • Serverless Trigger

即觸發器,由雲上各組件定義"事件",通過事件驅動模型觸發對函數的調用。

以上兩點是輕量的調用和服務,音視頻處理和數據處理 ETL 屬於重計算場景,進一步細分,可以理解爲音視頻處理是對於非結構化數據的處理,包括轉碼、理解,數據處理,ETL 是對結構化數據的處理,包括數據的分析、彙總、 計算。

上面更多的是從應用的視角去看 Serverless 的產品能力,Serverless Framework 和雲函數 SCF 是基礎產品支撐,雲函數是作爲新一代計算平臺,支撐上一層應用所有的計算需求。Serverless Framework 是騰訊雲和北美「Serverless.com」這家企業合作的產品,是北美最流行的 Serverless 開發工具。

2. 騰訊雲 Serverless 產品能力使用場景

  • Serverless HTTP 產品能力

在傳統業務模式中,Web 應用和 API Server,首先需要創建計算實例,在計算實例上部署應用服務器,再部署發佈代碼,完成後通過綁定公網入口連接到服務,形成服務閉環。如果通過 Serverless 來實現,API 網關和雲函數天然的集成,只需在函數中編寫業務邏輯,如果邏輯較爲清晰,幾分鐘即可完成開發、調試、發佈上線,極大地提升了業務迭代效率。

  • Serverless 觸發器

基於雲原生的架構,雲上的各種組件,例如 COS 對象存儲、Ckafka 消息隊列中間件、CLS 日誌服務等等,當定義的事件被觸發後,組件內置觸發器將調用雲函數來處理對應的業務邏輯。COS 對象存儲觸發器與函數的長時運行、大規格實例等產品能力就構成了了 Serverless 多媒體解決方案的基礎。

  • Serverless 音視頻處理

面向開發者,打造中臺服務,主要提供 3 點差異化能力:

  • 算力可配置,通過函數規格顯式的選擇計算實例大小;

  • 框架 / 編碼器可配置,支持部署自研的或者開源的編碼器,實現原有轉碼或音視頻處理服務的平滑遷移。

  • 工作流可配置,上下游的產業鏈、業務流程串聯,實現整個業務鏈條閉環。

在轉碼基礎上,Serverless 雲函數提供了更多深度的能力,和騰訊雲內部有深度積累的各實驗室聯合探索了很多解決方案,包括 智能審覈、畫質增強、視頻理解、視頻編輯等

針對音視頻實時互動,Serverless 雲函數也提供了包括 一鍵式觸發直播推、直播流旁路錄製的後處理、內容的審覈、對原內容的增強(實時字幕、實時翻譯)等能力的封裝。

  • Serverless 數據 ETL

除了對非結構化數據的一些處理,同樣支持對結構化數據 ETL 的處理,通過對公網 API、DB、文件存儲等多數據源的拉取、大量數據的批處理、加載至目標存儲,覆蓋到電商、搜索、內容、監測、分析等多個場景。

最後與大家分享下已有企業級的解決方案,助力更多企業高效達成業務目標:

  • Serverless 多媒體處理
  • Serverless 數據處理
  • Serveless AI 推理
  • Serverless HTTP

以上就是我的分享,謝謝。

本文作者:李嘯川。

One More Thing

立即體驗騰訊雲 Serverless Demo,領取 Serverless 新用戶禮包 👉 騰訊雲 Serverless 新手體驗

歡迎訪問:Serverless 中文網

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章