備受關注的Distributed Cloud|2021全球分布式云大會·北京站于4月7日隆重召開,分布式云是2021年全球十大重要戰(zhàn)略科技趨勢,利用分布式架構(gòu)技術創(chuàng)新,連接邊緣節(jié)點、私有云和公有云的IT資源組成分布式混合云。
全球分布式云聯(lián)盟力求打造分布式云計算旗艦級技術盛會,本次大會共設有分布式云報告會、邊緣計算論壇、Serverless云原生論壇、分布式數(shù)據(jù)庫論壇、分布式存儲論壇,跨境SD-WAN咨詢會等六大論壇,圍繞分布式云、分布式算力、Serverless、云原生、HTAP、IPFS等技術與實踐展開。聯(lián)合阿里云、騰訊云、百度云、金山云等全棧技術引領者與全球分布式云聯(lián)盟攜手打造這場技術饕餮盛宴。
在4月7日下午舉辦的云原生論壇上,騰訊云 Serverless 技術產(chǎn)品專家發(fā)表了題為《Serverless 化云原生釋放云計算效率紅利》的主題演講。
李嘯川,騰訊云 Serverless 技術產(chǎn)品專家,目前負責騰訊云 Serverless 產(chǎn)品及企業(yè)解決方案的設計工作,致力于推動云原生技術架構(gòu)演進及落地,為技術工作者提供高效的云服務產(chǎn)品。十余年技術研發(fā)經(jīng)驗,曾就職于 Oracle、IBM,從事于企業(yè)級商業(yè)套件及云服務引擎研發(fā)工作,后切換到消費互聯(lián)網(wǎng),孵化小米 MIOT、創(chuàng)立小米有品電商等業(yè)務,加入騰訊云之前擔任愛奇藝技術總監(jiān),業(yè)務線技術負責人。
01 面向業(yè)務的技術體系關注哪些方面?
首先,通過業(yè)務視角來看為什么需要關注 Serverless。這里的業(yè)務視角是廣義的業(yè)務,即滿足需求,解決痛點,輸出價值。技術對業(yè)務的助力可以簡單歸納為三個階段:
迭代原型,驗證業(yè)務:從零到一,通過技術手段提升業(yè)務原型的迭代和驗證效率;持續(xù)優(yōu)化,強化業(yè)務:在運行效率和工程效率方面不斷優(yōu)化,增強業(yè)務的競爭力;構(gòu)建壁壘,賦能業(yè)務:在技術深度方面形成護城河,持續(xù)保持業(yè)務的差異化優(yōu)勢;
為了更好的支撐業(yè)務,在技術體系中我們會關注哪些問題:
穩(wěn)定性和質(zhì)量,是業(yè)務正常推進的基石;
開發(fā)效率,幫助業(yè)務爭取寶貴的時間,決定了業(yè)務能否在賽道中勝出,比如有了新的想法能否快速得到驗證;
運行效率,研發(fā)同學亙古不變的執(zhí)著追求,更優(yōu)化的算法,更優(yōu)雅的架構(gòu),同時也將決定深度和難度;
成本,這里的成本,一方面是資源成本,例如運行服務或系統(tǒng),需要占用的計算、網(wǎng)絡、存儲等基礎資源的成本。另一方面是時間和人力成本,對于企業(yè)來說,尤其是互聯(lián)網(wǎng)或業(yè)務導向的公司,人力成本占企業(yè)整體比重較大;
02 Serverless 能夠釋放哪些紅利
從工業(yè)界的角度來看,包含四個維度:模塊化程度,自動化運維程度,彈性效率,故障恢復能力
從這幾個方面可以看出對基礎設施層,進行了趨勢演進的判斷,目前 Serverless 在可以預見的階段內(nèi),是計算平臺的一個必然的演進方向,也是目前可預見的最終方向。Serverless 分成兩個階段,第一個階段是容器化的 Serverless,再下一個階段是 fPaaS Serverless 的平臺。
關于學術界對 Serverless 定義,加州大學伯克利分校于 2009 年曾發(fā)表過一篇論文,精準預測了未來 10 年云計算演進的方向,2019 年又發(fā)表了一篇論文,預測Serverless 將會成為未來云計算最終的產(chǎn)品形態(tài)或服務平臺。
騰訊云連續(xù)兩年舉辦 ServerlessDays 峰會,2020 年邀請了文章主要作者之一 Johann Schleier-Smith ,給我留下印象最深的觀點是,他把云計算分成兩個階段,第一個階段:簡化系統(tǒng)管理,包括虛擬機、容器等,提供可編程的、簡化的管理方式,由云平臺托管基礎設施;下一個階段:簡化開發(fā),開發(fā)者只關注核心代碼,云平臺負責系統(tǒng)管理、運維、架構(gòu)等等,為開發(fā)提供更好的體驗,讓開發(fā)效率得到更大的提升。
在講解了工業(yè)界和學術界的定義之后,我們來對比 Serverless 與傳統(tǒng) Server 的服務方式。
在傳統(tǒng)的 Server 金字塔圖中,從底層系統(tǒng)的安全、系統(tǒng)資源的調(diào)度,到中層的日志、監(jiān)控、運維,再到上一層的數(shù)據(jù)、存儲,最后金字塔尖的業(yè)務邏輯。對于業(yè)務開發(fā)來說,真正產(chǎn)生價值的就是上金字塔尖這部分業(yè)務邏輯的編寫,服務于客戶,為客戶帶來價值。下面的部分更多是基礎的支撐,從這個角度來說,Serverless 就是解決下面的部分基礎設施維護,平臺側(cè)承擔底層基礎部分,給到開發(fā)者更少的運維成本和工作量,Less is more,讓企業(yè)把有效的人力、資源去放到更多產(chǎn)生業(yè)務價值的方面。
以業(yè)務開發(fā)舉例,在規(guī)劃一個項目時,大概有 50% 左右的時間設計整個架構(gòu),比如高可用、高并發(fā)、可拓展,如何設計架構(gòu)才能支撐這樣的規(guī)模,若平臺側(cè)來承接這部分工作,能夠解放大量的人力和精力。
對于商業(yè)模式的改變,在一些典型場景:比如電商秒殺、春晚搶紅包,都有瞬時的流量峰值,為了能承接這樣瞬時的峰值,需儲備巨大的資源,但這部分資源在很長的一段時間內(nèi)是閑置的狀態(tài)。
如何解決資源冗余的問題呢?這種商業(yè)模式在以往衣食住行各行業(yè)早已經(jīng)落地,只是在計算領域?qū)⑵鋸陀?。早期是自建機房,接著開始租用云主機,最終通過 Serverless 形成按需付費。類比交通,購買汽車,自己負擔維護、折舊成本并占用自有時間駕駛;租用汽車,租用期間占用自有時間駕駛且開不開都需要付租金;出租車,按需啟動,里程計費。云廠商提供的計算資源,在租用期間擁有使用權(quán)。但在租用過程中,會有一部分計算資源的冗余,而通過 Serverless 按需付費,根據(jù)實際需求量來申請使用計算服務,達成業(yè)務目標后即可終止計算服務,停止計費。
從這個角度來看,Serverless 核心價值可以歸納到三點:
簡化運維,能夠提供穩(wěn)定運行環(huán)境,支持多場景、彈性伸縮的服務;
更低成本,按需付費,減少冗余資源的計費;
時間效率,通過 Serverless 這種面向事件的編程模式,極大地簡化架構(gòu)設計,簡化不同規(guī)范、不同標準的團隊協(xié)作??焖俚貙I(yè)務落地,快速投放到市場做驗證。
03 Serverless 落地方式
騰訊云 Serverless 產(chǎn)品矩陣
Serverless HTTP
目前支撐微信小程序開發(fā)平臺,比較典型還有 Web 應用、API 服務等等。云函數(shù)已經(jīng)支撐微信開發(fā)平臺超過 100 萬的開發(fā)者,每天超過 150 億次調(diào)用。
Serverless Trigger
即觸發(fā)器,由云上各組件定義"事件",通過事件驅(qū)動模型觸發(fā)對函數(shù)的調(diào)用。
以上兩點是輕量的調(diào)用和服務,音視頻處理和數(shù)據(jù)處理 ETL 屬于重計算場景,進一步細分,可以理解為音視頻處理是對于非結(jié)構(gòu)化數(shù)據(jù)的處理,包括轉(zhuǎn)碼、理解,數(shù)據(jù)處理,ETL 是對結(jié)構(gòu)化數(shù)據(jù)的處理,包括數(shù)據(jù)的分析、匯總、 計算。
上面更多的是從應用的視角去看 Serverless 的產(chǎn)品能力,Serverless Framework 和云函數(shù) SCF 是基礎產(chǎn)品支撐,云函數(shù)是作為新一代計算平臺,支撐上一層應用所有的計算需求。
Serverless Framework 是騰訊云和北美 「Serverless.com」這家企業(yè)合作的產(chǎn)品,是北美最流行的 Serverless 開發(fā)工具。
下面詳細介紹下以上產(chǎn)品能力的使用場景:
Serverless HTTP 產(chǎn)品能力
在傳統(tǒng)業(yè)務模式中,Web 應用和 API Server,首先需要創(chuàng)建計算實例,在計算實例上部署應用服務器,再部署發(fā)布代碼,完成后通過綁定公網(wǎng)入口連接到服務,形成服務閉環(huán)。如果通過 Serverless 來實現(xiàn),API 網(wǎng)關和云函數(shù)天然的集成,只需在函數(shù)中編寫業(yè)務邏輯,如果邏輯較為清晰,幾分鐘即可完成開發(fā)、調(diào)試、發(fā)布上線,極大地提升了業(yè)務迭代效率。
Serverless 觸發(fā)器
基于云原生的架構(gòu),云上的各種組件,例如 COS 對象存儲、Ckafka 消息隊列中間件、CLS 日志服務等等,當定義的事件被觸發(fā)后,組件內(nèi)置觸發(fā)器將調(diào)用云函數(shù)來處理對應的業(yè)務邏輯。COS 對象存儲觸發(fā)器與函數(shù)的長時運行、大規(guī)格實例等產(chǎn)品能力就構(gòu)成了了 Serverless 多媒體解決方案的基礎。
Serverless 音視頻處理
面向開發(fā)者,打造中臺服務,主要提供 3 點差異化能力:
算力可配置,通過函數(shù)規(guī)格顯式的選擇計算實例大小;
框架 / 編碼器可配置,支持部署自研的或者開源的編碼器,實現(xiàn)原有轉(zhuǎn)碼或音視頻處理服務的平滑遷移。
工作流可配置,上下游的產(chǎn)業(yè)鏈、業(yè)務流程串聯(lián),實現(xiàn)整個業(yè)務鏈條閉環(huán)。
在轉(zhuǎn)碼基礎上,Serverless 云函數(shù)提供了更多深度的能力,和騰訊云內(nèi)部有深度積累的各實驗室聯(lián)合探索了很多解決方案,包括智能審核、畫質(zhì)增強、視頻理解、視頻編輯等。
針對音視頻實時互動,Serverless 云函數(shù)也提供了包括一鍵式觸發(fā)直播推、直播流旁路錄制的后處理、內(nèi)容的審核、對原內(nèi)容的增強(實時字幕、實時翻譯)等能力的封裝。
Serverless 數(shù)據(jù) ETL
除了對非結(jié)構(gòu)化數(shù)據(jù)的一些處理,同樣支持對結(jié)構(gòu)化數(shù)據(jù) ETL 的處理,通過對公網(wǎng)API、DB、文件存儲等多數(shù)據(jù)源的拉取、大量數(shù)據(jù)的批處理、加載至目標存儲,覆蓋到電商、搜索、內(nèi)容、監(jiān)測、分析等多個場景。
最后與大家分享下已有企業(yè)級的解決方案,助力更多企業(yè)高效達成業(yè)務目標:Serverless 多媒體處理,Serverless 數(shù)據(jù)處理,Serveless AI 推理,Serverless HTTP。
以上就是我的分享,謝謝。