華為云計(jì)算 云知識(shí) 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è)無(wú)法快速響應(yīng)激烈的市場(chǎng)競(jìng)爭(zhēng)和用戶需求,所以越來(lái)越多的企業(yè)開(kāi)始尋求應(yīng)用現(xiàn)代化,而無(wú)服務(wù)器架構(gòu)(Serverless)正好可以解決這一難題。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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