Serverless是什么?
CNCF( 云原生 計算基金會)給出的定義是:一種新的云原生計算模型,無需服務器管理而構(gòu)建和運行應用程序的架構(gòu)。一個或多個功能的應用上傳到平臺后執(zhí)行、擴展和計費。聽起來有些抽象,簡單來說就是構(gòu)建應用程序時不再需要管理服務器,由平臺負責它的執(zhí)行、擴展,并根據(jù)運行量計費。
信通院也給出了定義:即以應用為中心,無需關注基礎設施的計算模式。FaaS不是其唯一的形態(tài),Serverless是一整套能力的合集,越來越多的第三方服務演進為全托管的Serverless形態(tài)。
信通院的定義更多地強調(diào)在Serverless的落地形態(tài)上,包括現(xiàn)在已經(jīng)廣泛推出的FaaS產(chǎn)品-函數(shù)計算服務,還有近幾年推出的Serverless容器,Serverless應用引擎,以及第三方的服務比如Serverless 數(shù)據(jù)庫 。同時對這些產(chǎn)品還需要有配套的開發(fā)、測試以及CICD工具,保證可觀測和安全。
針對Serverless帶來的價值或者說好處,IBM對使用Serverless應用的用戶做了一次調(diào)查,報告顯示,36%的用戶認為serverless降低了運維成本,34%的用戶認為提升了性能,33%的用戶認為帶來了更好彈性,其他分別是提升了開發(fā)、上線效率和節(jié)省人力。BBVA對使用AWS函數(shù)計算服務lambda開發(fā)應用和直接使用服務器開發(fā)應用的收益做了對比,在請求頻率不高時,lambda有很大成本的優(yōu)勢,同時,使用函數(shù)計算開發(fā),交付的周期也由周提升到天甚至是小時級別。在未來,云上交付模式會逐步從Serverful為主轉(zhuǎn)向Serverless為主。
華為云FunctionGrap:三大應用場景開啟Serverless新時代
為了幫助更多的用戶享受 Serverless 技術紅利,華為云在 Serverless 的基礎設施上,以華為元戎為底座,推出了華為云 FunctionGraph。
華為云FunctionGraph是一項基于事件驅(qū)動的函數(shù)托管計算服務。通過 函數(shù)工作流 ,只需編寫業(yè)務函數(shù)代碼并設置運行的條件,無需配置和管理服務器等基礎設施,函數(shù)以彈性、免運維、高可靠的方式運行。
華為云FunctionGraph提供新一代Serverless函數(shù)計算與編排服務。函數(shù)計算是基于事件驅(qū)動的云托管計算服務,函數(shù)的執(zhí)行靠云上各類事件觸發(fā),比如API網(wǎng)關觸發(fā)的http請求,從消息中間件接收到的消息,對 對象存儲 上的文件做增刪操作等。編排服務方面,華為云以CNCF Serverless Workflow 規(guī)范為標準,聯(lián)合2012實驗室華為元戎團隊共同打造了華為云FunctionGraph Workflow,為用戶提供函數(shù)流管理功能,并支持可視化拖拽式的函數(shù)編排。
根據(jù)實際的業(yè)務實踐FunctionGraph的適用場景可以分成三類:
第一類是數(shù)據(jù)處理,在移動互聯(lián)網(wǎng)的浪潮下,我們都會面對大量的文本、圖片、視頻等數(shù)據(jù)處理訴求,主要特點是當流量不可預知或處理訴求比較低頻時,函數(shù)毫秒級別自動彈性的特性,可以很好的削峰填谷,節(jié)省資源和運維的成本;而當數(shù)據(jù)量比較大時,也可以并發(fā)加快處理速度。
第二類是Web應用及后端,使用API網(wǎng)關作為函數(shù)的觸發(fā)器,接收請求,觸發(fā)函數(shù)執(zhí)行。前端開發(fā)者使用函數(shù)開發(fā),可以方便地實現(xiàn)傳統(tǒng)后端技術棧才能實現(xiàn)的業(yè)務,讓前端開發(fā)者成為全棧工程師,更聚焦業(yè)務,提升開發(fā)效率。
第三類是云服務粘合、能力擴展,隨著各行各業(yè)智能化的深入,帶來了更多的應用開發(fā)場景,通常需要集成各類服務快速的上線,這些服務提供了API或者SDK,使用函數(shù)可以靈活的轉(zhuǎn)換數(shù)據(jù),串聯(lián)服務。
華為視頻作為FunctionGraph的種子用戶,成功通過使用華為云FunctionGraph縮短版本上線周期。面對不同的終端,前端工程師在頁面排版方面會有不同的定制化訴求,如果將數(shù)據(jù)請求的API全部交給后臺來做,那么前端一旦發(fā)生變化后端的API都需要隨之變化,這需要后端開發(fā)人員投入大量工作支持。使用FunctionGraph后,通過前端基于函數(shù)開發(fā)BFF層,實現(xiàn)前后端解耦,前端工程師有能力做全棧工作,大大提升工作效率。
助力伙伴,共創(chuàng)新價值
作為典型的華為云Serverless解決方案,憑借持續(xù)的實踐與積累,華為云FunctionGraph目前已經(jīng)沉淀了多種應用模板。FunctionGraph可以幫助客戶提升在開發(fā)、彈性、成本上能力提升,幫助各行各業(yè)的企業(yè)用戶降本增效,滿足了業(yè)務創(chuàng)新與發(fā)展的需求。
鄭州迅課教育科技有限公司總經(jīng)理張棪結(jié)合在線教育業(yè)務中的Serverless應用場景為大家?guī)戆咐v解。
在在線教育業(yè)務中會面臨不可預知的突發(fā)流量,如大規(guī)模直播活動、考前大規(guī)模練題等,需要不斷向服務端提交請求,這類接口如果放在主服務中可能會對穩(wěn)定性產(chǎn)生影響。將接口與主服務解耦用Serverless的方式來調(diào)用,并輔以消息隊列來削峰填谷,可以大幅提升便利性和性能。
Serverless具有降本增效、低運維、高可用的優(yōu)點。如實際業(yè)務中給對象存儲增加離線下載場景,對于已有多個域名下的下載鏈接,需要下載后轉(zhuǎn)存到對象存儲,視頻轉(zhuǎn)碼時將遠程文件拉取到華為云處理。針對這類低頻、異步并發(fā)的業(yè)務使用FunctionGraph可以很好的避免資源閑置,平穩(wěn)度過流量高峰。
函數(shù)前100萬次/月調(diào)用免費,點擊試用→ http://m.cqfng.cn/product/functiongraph.html