Serverless是什么?
CNCF( 云原生 計(jì)算基金會(huì))給出的定義是:一種新的云原生計(jì)算模型,無需服務(wù)器管理而構(gòu)建和運(yùn)行應(yīng)用程序的架構(gòu)。一個(gè)或多個(gè)功能的應(yīng)用上傳到平臺(tái)后執(zhí)行、擴(kuò)展和計(jì)費(fèi)。聽起來有些抽象,簡(jiǎn)單來說就是構(gòu)建應(yīng)用程序時(shí)不再需要管理服務(wù)器,由平臺(tái)負(fù)責(zé)它的執(zhí)行、擴(kuò)展,并根據(jù)運(yùn)行量計(jì)費(fèi)。
信通院也給出了定義:即以應(yīng)用為中心,無需關(guān)注基礎(chǔ)設(shè)施的計(jì)算模式。FaaS不是其唯一的形態(tài),Serverless是一整套能力的合集,越來越多的第三方服務(wù)演進(jìn)為全托管的Serverless形態(tài)。
信通院的定義更多地強(qiáng)調(diào)在Serverless的落地形態(tài)上,包括現(xiàn)在已經(jīng)廣泛推出的FaaS產(chǎn)品-函數(shù)計(jì)算服務(wù),還有近幾年推出的Serverless容器,Serverless應(yīng)用引擎,以及第三方的服務(wù)比如Serverless 數(shù)據(jù)庫 。同時(shí)對(duì)這些產(chǎn)品還需要有配套的開發(fā)、測(cè)試以及CICD工具,保證可觀測(cè)和安全。
針對(duì)Serverless帶來的價(jià)值或者說好處,IBM對(duì)使用Serverless應(yīng)用的用戶做了一次調(diào)查,報(bào)告顯示,36%的用戶認(rèn)為serverless降低了運(yùn)維成本,34%的用戶認(rèn)為提升了性能,33%的用戶認(rèn)為帶來了更好彈性,其他分別是提升了開發(fā)、上線效率和節(jié)省人力。BBVA對(duì)使用AWS函數(shù)計(jì)算服務(wù)lambda開發(fā)應(yīng)用和直接使用服務(wù)器開發(fā)應(yīng)用的收益做了對(duì)比,在請(qǐng)求頻率不高時(shí),lambda有很大成本的優(yōu)勢(shì),同時(shí),使用函數(shù)計(jì)算開發(fā),交付的周期也由周提升到天甚至是小時(shí)級(jí)別。在未來,云上交付模式會(huì)逐步從Serverful為主轉(zhuǎn)向Serverless為主。

華為云FunctionGrap:三大應(yīng)用場(chǎng)景開啟Serverless新時(shí)代
為了幫助更多的用戶享受 Serverless 技術(shù)紅利,華為云在 Serverless 的基礎(chǔ)設(shè)施上,以華為元戎為底座,推出了華為云 FunctionGraph。
華為云FunctionGraph是一項(xiàng)基于事件驅(qū)動(dòng)的函數(shù)托管計(jì)算服務(wù)。通過 函數(shù)工作流 ,只需編寫業(yè)務(wù)函數(shù)代碼并設(shè)置運(yùn)行的條件,無需配置和管理服務(wù)器等基礎(chǔ)設(shè)施,函數(shù)以彈性、免運(yùn)維、高可靠的方式運(yùn)行。
華為云FunctionGraph提供新一代Serverless函數(shù)計(jì)算與編排服務(wù)。函數(shù)計(jì)算是基于事件驅(qū)動(dòng)的云托管計(jì)算服務(wù),函數(shù)的執(zhí)行靠云上各類事件觸發(fā),比如API網(wǎng)關(guān)觸發(fā)的http請(qǐng)求,從消息中間件接收到的消息,對(duì) 對(duì)象存儲(chǔ) 上的文件做增刪操作等。編排服務(wù)方面,華為云以CNCF Serverless Workflow 規(guī)范為標(biāo)準(zhǔn),聯(lián)合2012實(shí)驗(yàn)室華為元戎團(tuán)隊(duì)共同打造了華為云FunctionGraph Workflow,為用戶提供函數(shù)流管理功能,并支持可視化拖拽式的函數(shù)編排。
根據(jù)實(shí)際的業(yè)務(wù)實(shí)踐FunctionGraph的適用場(chǎng)景可以分成三類:
第一類是數(shù)據(jù)處理,在移動(dòng)互聯(lián)網(wǎng)的浪潮下,我們都會(huì)面對(duì)大量的文本、圖片、視頻等數(shù)據(jù)處理訴求,主要特點(diǎn)是當(dāng)流量不可預(yù)知或處理訴求比較低頻時(shí),函數(shù)毫秒級(jí)別自動(dòng)彈性的特性,可以很好的削峰填谷,節(jié)省資源和運(yùn)維的成本;而當(dāng)數(shù)據(jù)量比較大時(shí),也可以并發(fā)加快處理速度。
第二類是Web應(yīng)用及后端,使用API網(wǎng)關(guān)作為函數(shù)的觸發(fā)器,接收請(qǐng)求,觸發(fā)函數(shù)執(zhí)行。前端開發(fā)者使用函數(shù)開發(fā),可以方便地實(shí)現(xiàn)傳統(tǒng)后端技術(shù)棧才能實(shí)現(xiàn)的業(yè)務(wù),讓前端開發(fā)者成為全棧工程師,更聚焦業(yè)務(wù),提升開發(fā)效率。
第三類是云服務(wù)粘合、能力擴(kuò)展,隨著各行各業(yè)智能化的深入,帶來了更多的應(yīng)用開發(fā)場(chǎng)景,通常需要集成各類服務(wù)快速的上線,這些服務(wù)提供了API或者SDK,使用函數(shù)可以靈活的轉(zhuǎn)換數(shù)據(jù),串聯(lián)服務(wù)。

華為視頻作為FunctionGraph的種子用戶,成功通過使用華為云FunctionGraph縮短版本上線周期。面對(duì)不同的終端,前端工程師在頁面排版方面會(huì)有不同的定制化訴求,如果將數(shù)據(jù)請(qǐng)求的API全部交給后臺(tái)來做,那么前端一旦發(fā)生變化后端的API都需要隨之變化,這需要后端開發(fā)人員投入大量工作支持。使用FunctionGraph后,通過前端基于函數(shù)開發(fā)BFF層,實(shí)現(xiàn)前后端解耦,前端工程師有能力做全棧工作,大大提升工作效率。

助力伙伴,共創(chuàng)新價(jià)值
作為典型的華為云Serverless解決方案,憑借持續(xù)的實(shí)踐與積累,華為云FunctionGraph目前已經(jīng)沉淀了多種應(yīng)用模板。FunctionGraph可以幫助客戶提升在開發(fā)、彈性、成本上能力提升,幫助各行各業(yè)的企業(yè)用戶降本增效,滿足了業(yè)務(wù)創(chuàng)新與發(fā)展的需求。

鄭州迅課教育科技有限公司總經(jīng)理張棪結(jié)合在線教育業(yè)務(wù)中的Serverless應(yīng)用場(chǎng)景為大家?guī)戆咐v解。
在在線教育業(yè)務(wù)中會(huì)面臨不可預(yù)知的突發(fā)流量,如大規(guī)模直播活動(dòng)、考前大規(guī)模練題等,需要不斷向服務(wù)端提交請(qǐng)求,這類接口如果放在主服務(wù)中可能會(huì)對(duì)穩(wěn)定性產(chǎn)生影響。將接口與主服務(wù)解耦用Serverless的方式來調(diào)用,并輔以消息隊(duì)列來削峰填谷,可以大幅提升便利性和性能。
Serverless具有降本增效、低運(yùn)維、高可用的優(yōu)點(diǎn)。如實(shí)際業(yè)務(wù)中給對(duì)象存儲(chǔ)增加離線下載場(chǎng)景,對(duì)于已有多個(gè)域名下的下載鏈接,需要下載后轉(zhuǎn)存到對(duì)象存儲(chǔ),視頻轉(zhuǎn)碼時(shí)將遠(yuǎn)程文件拉取到華為云處理。針對(duì)這類低頻、異步并發(fā)的業(yè)務(wù)使用FunctionGraph可以很好的避免資源閑置,平穩(wěn)度過流量高峰。
函數(shù)前100萬次/月調(diào)用免費(fèi),點(diǎn)擊試用→ http://m.cqfng.cn/product/functiongraph.html