溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

serverless是不是下一代計(jì)算范式

發(fā)布時(shí)間:2021-12-30 10:35:01 來(lái)源:億速云 閱讀:103 作者:柒染 欄目:云計(jì)算

這篇文章給大家介紹serverless是不是下一代計(jì)算范式,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

引子

剛過(guò)去的HC2020,華為面向多樣化算力的時(shí)代,發(fā)布了DC分布式計(jì)算的三個(gè)開(kāi)發(fā)套件,其中一個(gè)是元戎組件。元戎是基于函數(shù)計(jì)算的分布式并行應(yīng)用開(kāi)發(fā)框架,希望能夠幫助開(kāi)發(fā)者定義DC分布式計(jì)算的開(kāi)發(fā)模式和運(yùn)行模式。關(guān)于的這里的函數(shù)計(jì)算,不斷有同事詢(xún)問(wèn)這個(gè)和Serverless的關(guān)系或者區(qū)別呢?

在公司不同的場(chǎng)景,推動(dòng)serverless技術(shù)的使用也有兩年時(shí)間了,現(xiàn)在也是借這個(gè)引子,說(shuō)說(shuō)自己的理解。

1.Serverless的本質(zhì)

Serverless當(dāng)前相對(duì)比較正式的定義(CNCF白皮書(shū))有幾個(gè)特征:是云計(jì)算形態(tài)的進(jìn)一步發(fā)展,相對(duì)于當(dāng)前云計(jì)算,它帶來(lái)兩個(gè)關(guān)鍵好處:NoOPSPay as You Run。現(xiàn)階段Serverless技術(shù)的實(shí)現(xiàn)形態(tài),以AWS發(fā)布的Lambda為代表,其他還包括微軟Azure Function,谷歌Cloud Functions等。在2019年伯克利發(fā)布《Cloud Programming Simplified》展望中,把Serverless定義為云計(jì)算的下一代計(jì)算范式。云計(jì)算從微服務(wù)技術(shù)主導(dǎo)到Serverless技術(shù)的演進(jìn),我們看看云計(jì)算的本質(zhì)就可以比較好的理解這些技術(shù)背后的邏輯,也就能理解為什么伯克利繼成功斷言云計(jì)算的興起之后,把目光聚焦在Serverless技術(shù)上呢?

serverless是不是下一代計(jì)算范式

圖1:當(dāng)前serverless技術(shù)的階段和形態(tài)

1.1云計(jì)算興起到云原生生態(tài)的演進(jìn)

云計(jì)算的興起,在CPU硬件能力大力發(fā)展之后,得益于OS+ISV的軟件生態(tài)和虛擬化技術(shù)的成熟。云計(jì)算巧妙地延續(xù)OS+ISV生態(tài),把ISV可以無(wú)縫地遷移到云上。云vendor利用虛擬化技術(shù),對(duì)客戶(hù)提供IAAS服務(wù)。滿(mǎn)足客戶(hù):1、應(yīng)用軟件運(yùn)行條件沒(méi)有發(fā)生變化;2、不用維護(hù)物理主機(jī),只需要關(guān)注應(yīng)用軟件本身。

首先,從云計(jì)算的服務(wù)形態(tài)來(lái)看,對(duì)于企業(yè)應(yīng)用及其基礎(chǔ)設(shè)施,現(xiàn)在變成了用戶(hù)和基礎(chǔ)設(shè)施提供商兩個(gè)層次,如下圖所示。這個(gè)邏輯層次的劃分很重要,在軟件生態(tài)中原來(lái)基礎(chǔ)設(shè)施平臺(tái)和應(yīng)用軟件都是由用戶(hù)自己管理和維護(hù),這時(shí)出現(xiàn)了專(zhuān)業(yè)的平臺(tái)提供者的角色,來(lái)提供基礎(chǔ)設(shè)施。

serverless是不是下一代計(jì)算范式

圖2:云計(jì)算帶來(lái)基礎(chǔ)設(shè)施提供商的概念

其次,我們回到云計(jì)算興起的過(guò)程,如圖三所示,云Vendor利用虛擬化技術(shù)的成熟,沒(méi)有改變?cè)瓉?lái)OS+ISV的生態(tài)玩法,對(duì)用戶(hù)提供IAAS服務(wù),這樣用戶(hù)的軟件幾乎是無(wú)縫遷移到云廠商的基礎(chǔ)設(shè)施之上的。這樣云廠商快速地聚集了一些企業(yè)用戶(hù)上云,在這個(gè)階段之后,云廠商比如AWS快速創(chuàng)新,在IAAS服務(wù)之外,云中間件,云安全,第三方服務(wù)集成大量的云上應(yīng)用運(yùn)行和業(yè)務(wù)邏輯服務(wù)。逐漸構(gòu)建起云原生生態(tài)所需要的生態(tài)環(huán)境。在這個(gè)第一階段之后,容器技術(shù)持續(xù)演進(jìn),云原生的軟件生態(tài)開(kāi)始形成,可以明顯地看到軟件生態(tài)的界面從GuestOS上升到容器的層次,應(yīng)用軟件的部署也是由平臺(tái)提供商來(lái)完成,用戶(hù)不用再關(guān)注基礎(chǔ)設(shè)施運(yùn)行的操作系統(tǒng)是什么了。這個(gè)軟件棧中云廠商即平臺(tái)提供商cover的范圍又上升了一步,這個(gè)變化既是云原生生態(tài)帶來(lái)的變化,又有云廠商商業(yè)邏輯的需要在里面。

serverless是不是下一代計(jì)算范式

圖3:云計(jì)算的產(chǎn)生和演進(jìn)示意圖

為什么這么說(shuō)呢?可以看下一節(jié)。

1.2云計(jì)算的商業(yè)邏輯建立在規(guī)模經(jīng)濟(jì)之上

當(dāng)前云計(jì)算集中在幾個(gè)云廠商,而且成功的廠商都是在自有的消耗大量基礎(chǔ)設(shè)施的業(yè)務(wù)基礎(chǔ)之上,云業(yè)務(wù)才逐漸擴(kuò)大發(fā)展起來(lái)的,比如,AWS和阿里云基于自有的電商服務(wù)平臺(tái)。谷歌云和Azure在分別找到自己的移動(dòng)用戶(hù)服務(wù)和SAAS服務(wù)的規(guī)模運(yùn)營(yíng)之后,兩家也是逐漸占據(jù)市場(chǎng)份額。

觀察云計(jì)算發(fā)展過(guò)程,我們可以說(shuō)云計(jì)算廠商遵循規(guī)模經(jīng)濟(jì)的發(fā)展模式。結(jié)合規(guī)模經(jīng)濟(jì),有兩個(gè)重要的現(xiàn)象或者規(guī)律,了解這兩個(gè)現(xiàn)象,可以很好地幫助我們了解云技術(shù)的演進(jìn)方向。

首先,可以解釋為規(guī)模經(jīng)濟(jì)性,簡(jiǎn)單地說(shuō),隨著生產(chǎn)規(guī)模(云計(jì)算)擴(kuò)大,平均單位產(chǎn)出(服務(wù)收益)成本(基礎(chǔ)設(shè)施成本)趨于下降。英國(guó)的杰弗里·韋斯特研究城市的人口和產(chǎn)業(yè)的發(fā)展規(guī)律,總結(jié)為規(guī)模經(jīng)濟(jì)體的產(chǎn)出呈超線性,而成本遵循亞線性規(guī)律,如下圖所示。

了解到這個(gè)現(xiàn)象,我們可以理解為什么云廠商極力追求規(guī)模。AWS 2002年推出,持續(xù)推進(jìn)云服務(wù),到2013年AWS發(fā)布財(cái)報(bào),才進(jìn)入規(guī)模經(jīng)濟(jì)的盈利期。AWS現(xiàn)在每年投入100億美金的CAPS,持續(xù)構(gòu)建云規(guī)模,全球規(guī)模>500W臺(tái)服務(wù)器?;谝?guī)模成本的優(yōu)勢(shì),構(gòu)建了長(zhǎng)期價(jià)值成本和技術(shù)生態(tài)驅(qū)動(dòng)的良性循環(huán),掌握了云服務(wù)的定價(jià)策略,19年reInvent宣稱(chēng)實(shí)現(xiàn)了70+次的降價(jià)正常,同時(shí)還能獲取云計(jì)算業(yè)務(wù)20+%的營(yíng)業(yè)利潤(rùn)率。

serverless是不是下一代計(jì)算范式

圖4:云計(jì)算遵循規(guī)模經(jīng)濟(jì)性的現(xiàn)象

其次,可以解釋為規(guī)模的有效性。生產(chǎn)規(guī)模不斷擴(kuò)大,當(dāng)基礎(chǔ)設(shè)施單位成本降到最低時(shí),達(dá)到最佳生產(chǎn)規(guī)模,如果生產(chǎn)技術(shù)沒(méi)有發(fā)生變革,這時(shí)再繼續(xù)擴(kuò)大生產(chǎn)規(guī)模,平均單位產(chǎn)出成本轉(zhuǎn)而逐漸上升。當(dāng)前進(jìn)入規(guī)模效應(yīng)良性循環(huán)的AWS,其capex/收入比基本保持在40-50%左右,雖然相對(duì)穩(wěn)定,也需要尋求繼續(xù)成本下降的空間。

serverless是不是下一代計(jì)算范式

圖5:規(guī)模經(jīng)濟(jì)LAC曲線

而同時(shí),當(dāng)前云廠商主體服務(wù)IAAS,為租戶(hù)提供虛擬機(jī)資源,都遇到了資源利用率低的問(wèn)題,包括CPU利用率和內(nèi)存利用率。業(yè)內(nèi)數(shù)據(jù):云廠商提供的數(shù)據(jù)中心,CPU資源利用率不高于20-30%。租戶(hù)購(gòu)買(mǎi)固定VCPU和內(nèi)存配置的虛擬機(jī),云廠商實(shí)際在平臺(tái)使用的是裝箱算法,按照租戶(hù)的需求,裝配到數(shù)據(jù)中心的空余空間中去。租戶(hù)按照其業(yè)務(wù)峰值購(gòu)買(mǎi)了資源,在這種情況下,大量租戶(hù)資源長(zhǎng)時(shí)間處于業(yè)務(wù)非峰值態(tài),云廠商對(duì)于資源利用率這個(gè)問(wèn)題基本都是無(wú)能為力。而同時(shí),云廠商自運(yùn)營(yíng)的業(yè)務(wù),通過(guò)不同業(yè)務(wù)的混部,SLA的調(diào)度等技術(shù),比如谷歌很早就已經(jīng)宣稱(chēng)Brog的改進(jìn)版可以在數(shù)據(jù)中心獲得90%的CPU資源利用率。這樣一個(gè)現(xiàn)狀,也是云廠商不約而同地提出共享計(jì)算實(shí)例的原因,比如AWS T實(shí)例等。通過(guò)用戶(hù)SLA策略,在用戶(hù)知情的情況下,獲得對(duì)VCPU的共享的控制權(quán),實(shí)現(xiàn)高CPU利用率。

回到前面我們提到用戶(hù)和平臺(tái)提供商兩個(gè)角度。首先,云廠商希望能夠獲得更多的對(duì)資源的控制權(quán),讓超大規(guī)模的云計(jì)算繼續(xù)享有規(guī)模的經(jīng)濟(jì)性,能夠做到單位資源成本繼續(xù)下降。其次,租戶(hù)擔(dān)一方面心其業(yè)務(wù)運(yùn)行的平穩(wěn)性,另一方面也希望能夠更加聚焦業(yè)務(wù)本身。所以我們可以理解了云計(jì)算技術(shù)的方向:云廠商管理的軟件棧層次肯定會(huì)越來(lái)越高,云計(jì)算技術(shù)必須能夠解決用戶(hù)業(yè)務(wù)的彈性和高可擴(kuò)展。云廠商獲得應(yīng)用運(yùn)行資源的最大控制權(quán),追求高資源利用率和低成本,租戶(hù)獲得業(yè)務(wù)SLA保證的應(yīng)用。

Serverless技術(shù)正是云廠商的基于規(guī)模經(jīng)濟(jì)的一個(gè)選擇。

1.3 Serverless技術(shù)是匹配云原生規(guī)模經(jīng)濟(jì)的選擇

如圖3所示,Serverless在容器Runtime之后,進(jìn)一步實(shí)現(xiàn)計(jì)算抽象,云廠商負(fù)責(zé)管理的軟件棧進(jìn)一步提升到Runtime。這里筆者把函數(shù)計(jì)算和Serverless技術(shù)分開(kāi)。函數(shù)計(jì)算是一種計(jì)算范式的抽象,把計(jì)算抽象進(jìn)一步為兩個(gè)層次,函數(shù)(代碼邏輯)和函數(shù)運(yùn)行時(shí)(函數(shù)運(yùn)行需要的資源,庫(kù)等),即

函數(shù)計(jì)算= 函數(shù)+函數(shù)運(yùn)行時(shí)

Serverless計(jì)算也是利用函數(shù)計(jì)算上述的抽象,在云原生生態(tài)下,進(jìn)一步讓用戶(hù)聚焦到業(yè)務(wù)代碼邏輯,直接使用云廠商提供的Runtime,相比容器,云廠商管理的軟件棧又提升了一個(gè)層次。筆者把Serverless技術(shù)歸到云原生的技術(shù),因?yàn)閟erverless為租戶(hù)提供服務(wù),必須依賴(lài)云廠商提供的大量后臺(tái)的服務(wù)及其運(yùn)行時(shí),即

Serverless= FaaS+BaaS

函數(shù)計(jì)算這個(gè)層次的抽閑,借助于終端用戶(hù)或IOT等事件型的應(yīng)用,將代碼和其運(yùn)行時(shí)分離,云廠商提供函數(shù)代碼的運(yùn)行時(shí)及其物理資源。如下圖所示,平臺(tái)提供商獲得了軟件棧最大可控制的范圍,而用戶(hù)只需要關(guān)注其代碼。因此,函數(shù)粒度的應(yīng)用,讓平臺(tái)提供商獲得了最大的技術(shù)空間,基于這個(gè)空間,讓云計(jì)算的規(guī)模成本進(jìn)一步得到下降,所以Serverless技術(shù)是云廠商必選的選擇項(xiàng)。

serverless是不是下一代計(jì)算范式

圖6:Serverless使平臺(tái)提供商獲得軟件棧中最大的可控制技術(shù)空間

然而,在當(dāng)前階段的Serverless,適用范圍還主要是事件式,短時(shí)間任務(wù)型的應(yīng)用。用戶(hù)編寫(xiě)任務(wù)的函數(shù),在執(zhí)行時(shí)間,資源上有一個(gè)約束。平臺(tái)提供商基于此獲得最大的調(diào)度權(quán)限,所以提供了按次收費(fèi),按需收費(fèi)的定價(jià)策略。在海量終端的服務(wù)驅(qū)動(dòng)的場(chǎng)景獲得很好的應(yīng)用,充分發(fā)揮了serverless按需彈性,按需計(jì)費(fèi)的好處。顯然這樣的應(yīng)用范圍,是不足以滿(mǎn)足云廠商的期待的。所以從Serverless= FaaS+BaaS,另外一個(gè)BaaS方面,云廠商要推動(dòng)serverless計(jì)算的快速演進(jìn)。

Serverless 官方定義中從用戶(hù)角度看到的兩個(gè)關(guān)鍵特征NoOPS和Pay as You Run。符合這兩個(gè)特征的形態(tài)也是Serverless技術(shù),所以Serverless技術(shù)又比函數(shù)計(jì)算概念廣泛,不一定非得基于函數(shù)計(jì)算的抽象,只要能為用戶(hù)提供NoOPS和Pay as You Run的業(yè)務(wù)也就可以歸到Serverless技術(shù)中去。所以云廠商不斷的推進(jìn)兩件事情。

一件事情是把BaaS serverless化,這個(gè)我們都已經(jīng)看到了,云DB,云存儲(chǔ)的serverless產(chǎn)品都已經(jīng)推出。還有一件事情,云廠商需要推動(dòng)現(xiàn)在的應(yīng)用serverless化,即當(dāng)前用戶(hù)繼續(xù)關(guān)于自己應(yīng)用服務(wù)及其runtime,但是服務(wù)的autoscaling,并行化模板都由云廠商來(lái)提供。這一點(diǎn)谷歌的產(chǎn)品策略中可以清晰地看到這一點(diǎn)。

谷歌對(duì)于Serverless兩條明確的技術(shù)線:一是cloudRun產(chǎn)品,基于K8S容器平臺(tái)演進(jìn)的Serverless平臺(tái),相當(dāng)于Serverless的應(yīng)用平臺(tái),推動(dòng)已有的微服務(wù)化應(yīng)用演進(jìn)到serverless化;二是移動(dòng)應(yīng)用的CloudFunction+MBaaS的產(chǎn)品。兩條技術(shù)線推動(dòng)Serverless技術(shù)演進(jìn)。AWS當(dāng)然也不會(huì)落后,雖然AWS沒(méi)有想谷歌一樣的運(yùn)行時(shí)平臺(tái)的強(qiáng)大生態(tài)控制權(quán),但是AWS也直接提供AutoScaling、ASM等服務(wù)指導(dǎo)應(yīng)用服務(wù)Serverless化。

基于上述我們對(duì)serverless技術(shù)背后的商業(yè)邏輯,所以它成為了云廠商的必選,也是伯克利斷言serverless是云時(shí)代下一代計(jì)算范式的底氣所在。

關(guān)于serverless是不是下一代計(jì)算范式就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI