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