華為云計算 云知識 Serverless 高速發(fā)展,華為云推出 FunctionGraph2.0
Serverless 高速發(fā)展,華為云推出 FunctionGraph2.0

隨著數(shù)字經(jīng)濟(jì)的快速發(fā)展和擴(kuò)張,傳統(tǒng)單體架構(gòu)和微服務(wù)架構(gòu)愈發(fā)難以支撐企業(yè)業(yè)務(wù)轉(zhuǎn)型,導(dǎo)致企業(yè)無法快速響應(yīng)激烈的市場競爭和用戶需求,所以越來越多的企業(yè)開始尋求應(yīng)用現(xiàn)代化,而無服務(wù)器架構(gòu)(Serverless)正好可以解決這一難題。

Serverless 技術(shù)的興起,極大簡化了 云計算 的編程模型,讓開發(fā)者無需再關(guān)注資源申請、環(huán)境搭建、 負(fù)載均衡 、擴(kuò)縮容等服務(wù)器相關(guān)的底層操作,只要聚焦核心業(yè)務(wù)上層應(yīng)用邏輯的開發(fā)創(chuàng)新與實現(xiàn)即可,這為企業(yè)降本提質(zhì)增效、企業(yè)數(shù)字化轉(zhuǎn)型和應(yīng)用現(xiàn)代化帶來了希望的曙光。

值得關(guān)注的是,在云計算「下半場」,Serverless 在戰(zhàn)略方向和新興技術(shù)方面的表現(xiàn),已經(jīng)成為各大廠商和開源社區(qū)的共識。

在單體架構(gòu)時代,底層設(shè)施和開發(fā)運維都需要開發(fā)者親力親為,這不僅降低了開發(fā)者的工作效率,也不利于行業(yè)的進(jìn)一步發(fā)展。這一過程就好比你全款買了一輛車,不僅需要學(xué)駕照還得會開車,用車的時候還會涉及加油、保險、保養(yǎng)等事情及相關(guān)費用。

到了微服務(wù)時代,開發(fā)者只需要自行在云上租賃虛機(jī)、容器等基礎(chǔ)設(shè)施即可,底層搭建可以交給服務(wù)提供商,相對減輕了開發(fā)者的壓力,就好比租車出行,雖然不用關(guān)注買車、保養(yǎng)等事情,但仍需要學(xué)駕照會開車,使用期間關(guān)注車況、路況等等。

為了更好解放開發(fā)者生產(chǎn)力,讓開發(fā)者更加聚焦業(yè)務(wù)價值,于是 Serverless 架構(gòu)應(yīng)運而生。在 Serverless 架構(gòu)時代,開發(fā)者不需要關(guān)心底層操作系統(tǒng)、虛擬機(jī)、容器等基礎(chǔ)設(shè)施,僅實現(xiàn)業(yè)務(wù)邏輯,用時付費即可。這一過程就像是用戶打車出行,用時坐車抵達(dá)目的地付費即可,連駕照都不需要學(xué),也不需要關(guān)注車況、路況等。

因此,Serverless 給用戶帶來了自動駕駛的體驗,它給商業(yè)帶來了省錢,給業(yè)務(wù)部署帶來了免運維,給 DevOps 帶來了單機(jī)端的編程體驗。

Serverless 高速發(fā)展,華為云推出 Function Graph2.0-云投網(wǎng)
 

Serverless 能夠解除云對業(yè)務(wù)的束縛,并提供新的計算模式、新的開發(fā)模式、新的使用模式、新的資源概念、新的商業(yè)模式和新的服務(wù)生態(tài),把云上業(yè)務(wù)變成無服務(wù)器、按需供給、按需計費,幫助企業(yè)降本、業(yè)務(wù)提質(zhì)、開發(fā)增效。

為了幫助更多的企業(yè)享受 Serverless 技術(shù)紅利,作為行業(yè)的領(lǐng)跑者華為云在 Serverless 的基礎(chǔ)設(shè)施上,以華為元戎為底座,推出了華為云 FunctionGraph2.0 以及各項泛化服務(wù),該產(chǎn)品不僅能夠支持全場景應(yīng)用,也可以給用戶帶來更快彈性、更快上線、更簡運維等極致的體驗。

華為云 Serverless 函數(shù)計算服務(wù) FunctionGraph2.0

FunctionGraph2.0 作為華為云 Serverless 解決方案重要產(chǎn)品之一,是一項基于事件驅(qū)動的函數(shù)托管計算服務(wù),開發(fā)者只需編寫業(yè)務(wù)函數(shù)代碼并設(shè)置運行的條件,無需配置和管理服務(wù)器等基礎(chǔ)設(shè)施,函數(shù)以彈性、免運維、高可靠的方式運行。

Serverless 高速發(fā)展,華為云推出 Function Graph2.0-云投網(wǎng)

隨著整個業(yè)務(wù)對 Serverless 的關(guān)注度持續(xù)升溫,Serverless 的應(yīng)用場景日趨復(fù)雜,這對 Serverless 技術(shù)提出了新的挑戰(zhàn)。

為了滿足用戶各種復(fù)雜的業(yè)務(wù)訴求,華為云 FunctionGraph 以華為元戎作為全新內(nèi)核全面升級,并憑借華為元戎的內(nèi)置數(shù)據(jù)系統(tǒng),成為業(yè)內(nèi)首個支持有狀態(tài)的函數(shù)服務(wù)。

相比 1.0,2.0 的版本冷啟動時延更低、 彈性伸縮 更快,可提供快速低成本的微服務(wù) Serverless 化改造。華為云 FunctionGraph2.0 旨在打造新一代函數(shù)計算平臺,幫助更廣泛的開發(fā)者使用 Serverless 方式,支持更復(fù)雜更豐富的應(yīng)用場景,滿足用戶多樣需求。

比如:視頻轉(zhuǎn)碼處理屬于計算密集型,在處理的時候?qū)Y源的消耗很大,而且看視頻的用戶有很明顯的波峰波谷,比如晚上時分用戶數(shù)量會明顯會增加,為了應(yīng)對這種波峰波谷,傳統(tǒng)模式需要提前預(yù)估好最大資源需求量,這導(dǎo)致了資源利用率比較低。

使用華為云 FunctionGraph2.0,可以把視頻切分、轉(zhuǎn)碼、特效處理等以函數(shù)的方式上線,讓開發(fā)者無需提前預(yù)估資源量,就能使視頻轉(zhuǎn)碼成本降低 80%。

在金融領(lǐng)域,傳統(tǒng)金融分析師經(jīng)常要通過 Excel 表格或者 Python 科學(xué)計算庫來做風(fēng)險、量化投資評估,隨著計算數(shù)據(jù)量越來越大,無法快速獲得計算結(jié)果,往往要到第二天才能出結(jié)果,無法做到實時評估,從而可能帶來投資損失。

基于華為云 FunctionGraph2.0 提供的能力,金融分析師只要在代碼中加一些裝飾器,就可以將原來單機(jī)計算任務(wù)自動轉(zhuǎn)化成函數(shù)執(zhí)行,實現(xiàn)單機(jī)程序自動并行到集群上運行,帶來幾個數(shù)量級的性能提升。既享受到云上算力優(yōu)勢,又享受到 Serverless 體驗。

快速低成本的微服務(wù) Serverless 化改造

從當(dāng)下的市場現(xiàn)狀來看,微服務(wù)和函數(shù)在未來幾年可能是一個共存的形態(tài),當(dāng)前存在著大量微服務(wù)應(yīng)用,那么如何高效地支撐其 Serverless 化,快速享用到 Serverless 的技術(shù)紅利,是每個研發(fā)需要面對并解決的問題。

Serverless 高速發(fā)展,華為云推出 Function Graph2.0-云投網(wǎng)

針對 Web 服務(wù),華為云 FunctionGraph2.0 提供 Http 函數(shù)類型,通過 API 網(wǎng)關(guān)直接把 HTTP 請求透傳給 Web 服務(wù),用戶只需把原有的 Web Server 代碼打包為一個 Http 函數(shù),即可近乎 0 成本快速完成 Serverless 化改造,享受 Serverless 所帶來的彈性、按需收費等優(yōu)勢。

Serverless 高速發(fā)展,華為云推出 Function Graph2.0-云投網(wǎng)

除了 Http 函數(shù)外,支持自定義容器 鏡像 也是兼容原有服務(wù)的一種方式。開發(fā)者可以直接把容器鏡像作為交付件提交給 FunctionGraph,F(xiàn)unctionGraph 會把該函數(shù)處理成為一個 Http Server,HTTP Server 用于接收函數(shù)的所有入口請求,包括事件觸發(fā)和 Http 函數(shù)調(diào)用。讓開發(fā)者無需改造代碼或重新編譯二進(jìn)制依賴,本地調(diào)測與線上環(huán)境一致。同時自定義容器鏡像方式兼容了原有容器生態(tài)。

將讀寫時延降低 10 倍,極大拓寬 Serverless 的應(yīng)用范圍

眾所周知,大部分應(yīng)用是有狀態(tài)的,而當(dāng)前市面上大部分 Serverless 產(chǎn)品均不支持有狀態(tài),開發(fā)者在使用過程中需要進(jìn)行狀態(tài)訪問、存儲、失效和并發(fā)控制等管理。

與此同時,狀態(tài)數(shù)據(jù)需要外置對外部存儲頻繁讀寫,導(dǎo)致通信/計算 (序列化和反序列化) 開銷變大,而且外部存儲難以進(jìn)行彈性伸縮,不足以支持延遲與吞吐敏感型應(yīng)用。

華為云 FunctionGraph2.0 不僅支持傳統(tǒng)無狀態(tài)函數(shù),而且支持狀態(tài)數(shù)據(jù)內(nèi)置的有狀態(tài)函數(shù)。

基于有狀態(tài)函數(shù),開發(fā)者可以不用關(guān)心狀態(tài)的存取以及各種鎖的操作等,幫助開發(fā)者屏蔽狀態(tài)管理的復(fù)雜度,簡化應(yīng)用開發(fā)邏輯;有狀態(tài)函數(shù)可以直接訪問數(shù)據(jù),由于狀態(tài)數(shù)據(jù)內(nèi)置,所以函數(shù)無需訪問外置存儲,較大地降低了通信/計算開銷。相比無狀態(tài)函數(shù),讀寫時延降低 10 倍,對延遲與吞吐敏感型應(yīng)用、以狀態(tài)為中心的計算更具友好性。

比如,在今天的很多游戲場景中,用戶每次登陸都需要訪問上次的房間、進(jìn)度數(shù)據(jù)等狀態(tài),如果通過無狀態(tài)函數(shù)則需要頻繁訪問外置數(shù)據(jù),導(dǎo)致時延過長,無法保證游戲競技最看重的實時體驗。

而華為云 FunctionGraph2.0 有狀態(tài)函數(shù)通過讀取「記憶」可直接內(nèi)部訪問數(shù)據(jù),為用戶提供極致流暢的游戲體驗。

回顧 Serverless 軟件架構(gòu)的演進(jìn)歷程,最初的 Serverless 負(fù)載假設(shè)是:短暫、異步、可擴(kuò)展的并行任務(wù);獨立、無狀態(tài)、不需要瞬時冷啟動;易被 Vendor 鎖定,這樣的假設(shè)會導(dǎo)致 Serverless 的應(yīng)用場景非常受限。

Serverless 高速發(fā)展,華為云推出 Function Graph2.0-云投網(wǎng)

隨著 Serverless 技術(shù)逐漸被大眾采納,應(yīng)用不斷地豐富、復(fù)雜。華為云認(rèn)為,未來,Serverless 技術(shù)將朝著更加通用的方向發(fā)展,Serverless 支持的負(fù)載應(yīng)當(dāng)具備如下特征:任意的可并行、可擴(kuò)展的計算任務(wù);有狀態(tài)、復(fù)雜邏輯的微服務(wù)應(yīng)用;開放、支持多云,這也是華為云 Serverless 努力的方向。

Serverless 或?qū)榛ヂ?lián)網(wǎng)行業(yè)帶來跨越式的變革,接下來會有更多的企業(yè)享受到 Serverless 帶來的開發(fā)紅利,Serverless 技術(shù)未來可期。