新聞中心
選擇serverless還是Kubernetes?這種爭辯并沒有意義
作者:Grace譯 2018-09-26 17:28:15
服務(wù)器
云計算 Kubernetes和Serverless都是令人興奮的強大的平臺,它們可以通過多種方式為企業(yè)在敏捷性,擴展性以及計算性能上獲取巨大的提升。但是,不要忘記Kubernetes能提供一些Serverless所沒有的功能,反之亦然。成功部署其中任何一個方案的關(guān)鍵點在于哪種技術(shù)更適用于當前的場景。

融水網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,融水網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為融水近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的融水做網(wǎng)站的公司定做!
【編者的話】這篇文章作者分別闡述了Kubernetes與Serverless的優(yōu)缺點,實際上兩者可能并不是競爭關(guān)系,在某些架構(gòu)中,兩者可以同時存在以滿足不同的需求。但是最終的目的都是為了使應(yīng)用程序部署更方便快捷,更易管理,更具成本效益以及對開發(fā)人員友好。
Kubernetes和Serverless都是令人興奮的強大的平臺,它們可以通過多種方式為企業(yè)在敏捷性,擴展性以及計算性能上獲取巨大的提升。但是,不要忘記Kubernetes能提供一些Serverless所沒有的功能,反之亦然。成功部署其中任何一個方案的關(guān)鍵點在于哪種技術(shù)更適用于當前的場景。
Kubernetes的興起
Kubernetes是為大規(guī)模的云計算設(shè)計的,一開始就是因為Google使用了超大規(guī)模的部署才開發(fā)了Kubernetes。之后Kubernetes被改造成可以小規(guī)模使用,并且適用于大多數(shù)大型云提供商,這歸功于它過去幾年迅猛的發(fā)展。根據(jù)Cloud Native Computing Foundation(CNCF)的用戶調(diào)查,Kubernetes的增長遠超過所有其他形式的編排軟件。
自***亮相以來,Kubernetes已成為主流。但是,正如從主機遷移到客戶端服務(wù)器上總會遇到各種問題,在采用完全基于容器架構(gòu)的過程中也依然會遇到各種問題,盡管這種容器架構(gòu)是由Kubernetes進行編排的。容器擴展并不是實時的,你需要等到容器上線,同時你也必須處理容器管理問題。據(jù)CNCF調(diào)查表明,存儲,安全以及網(wǎng)絡(luò)問題仍然是通過Kubernetes部署其架構(gòu)的程序員最關(guān)心的問題。
那么選擇Serverless呢?
Serverless架構(gòu),在很多方面只是對微服務(wù)架構(gòu)的重新打包和重新構(gòu)想,這種架構(gòu)正在與Kubernetes形成競爭,因為它允許擴展應(yīng)用程序和部署,無需擔心復雜性和配置問題。這兩個問題正是使用Kubernetes和容器的痛點。 但不要把兩者當做一樣的。
Serverless也被稱為功能即服務(wù)(FaaS),Serverless體系結(jié)構(gòu)仍然需要運行服務(wù)器,但是它是事件驅(qū)動的架構(gòu),相比之下,容器化應(yīng)用程序本質(zhì)上仍然是傳統(tǒng)的應(yīng)用程序,只是分成許多較小的部分或服務(wù)。使用容器化的應(yīng)用程序,它永遠不會完全關(guān)閉。即使沒有人訪問它,容器仍然需要存在并運行。你可以將它們縮小到單個實例,但它們?nèi)栽谶\行并需要花錢。
一個Serverless應(yīng)用,如果沒有請求使用它的功能,那么它的成本可能降低到零,實際上如果沒有請求,它們會停止運行,這可以顯著的降低成本,并且有利于更迅速的伸縮。訪問Serverless程序的請求越多,它的體量就會變得越大。
關(guān)于Serverless架構(gòu)會取代容器化的應(yīng)用程序的想法似乎是一個不合理的建議,并非一切功能都能被簡化成一個短暫的功能(function)。一些程序需要在應(yīng)用程序運行時持久化數(shù)據(jù)以及狀態(tài),Serverless的設(shè)計很難滿足這種需求,但是大家對Serverless的興趣卻在快速增長。
例如,根據(jù)MarketsandMarkets Research的數(shù)據(jù),F(xiàn)aaS(Function as a Service)市場預計將從2016年的1.88美元飆升至2021年的77.2億美元。
然而,這不是一場零和博弈(即參與游戲的個體必須通過其他個體的損失來獲益,所有個體不能同時獲益或者損失),而Serverless的增長并不一定預示著Kubernetes和容器的死亡。實際上,它甚至可能幫助擴展Kubernetes的使用,至少可以通過主要的FaaS提供商來擴展其Serverless產(chǎn)品。
Serverless架構(gòu)很可能通過僅僅支付使用的服務(wù)而不用支付運行容器或一組容器所需的開銷來進一步降低成本,但是這件事需要進行權(quán)衡,不經(jīng)常訪問的Serverless代碼雖然運行成本不高,但在運行時(如Java)或底層容器用于服務(wù)請求的情況下,可能會遇到延遲增加的問題。這些額外的延遲可能令人無法接受。
從一個開發(fā)者的角度來說,F(xiàn)aaS可以極大的促進效率的提升,使程序員的開發(fā)過程更加愉悅,程序員可以更快的將小塊代碼推到生產(chǎn)環(huán)境而不用顧慮配置和管理的開銷,從而提高生產(chǎn)力。
結(jié)論
應(yīng)用程序開發(fā)和部署策略,都在不斷發(fā)展。通常,從一個架構(gòu)到另一個架構(gòu)的遷移標志著***個架構(gòu)的終結(jié),但情況并非總是如此。至少現(xiàn)在,還沒有一個通用的解決方案可以解決低成本的,大規(guī)模的交付應(yīng)用程序所遇到的所有問題。與任何部署模型一樣,架構(gòu)師需要在成本,性能和可管理性之間進行權(quán)衡。
Kubernetes——以及其他的容器化技術(shù)——已經(jīng)擁有了它們應(yīng)得的地位,Kubernetes市場的迅速普及和發(fā)展證明了它正滿足市場需求。雖然我并沒看出容器化的必要性,如果不必要,那么容器編排也沒任何意義,這種解決方案也并總是適用。
同樣Serverless的FaaS顯然填補了市場的需求,并且整體上呈現(xiàn)出顯著的增長。當然,增長并不一定意味著合適,但市場傾向于自我糾正以彌補這一點。
同樣,Kubernetes vs.Serverless不是零和博弈。Serverless的增長并不表示Kubernetes的死亡。每個技術(shù)在現(xiàn)代應(yīng)用程序的開發(fā)和部署中都發(fā)揮著重要作用。在過去的20年中,應(yīng)用程序部署一直朝著更小,更易管理,更具成本效益和開發(fā)人員友好的架構(gòu)邁進,并且毋庸置疑這種趨勢會持續(xù)下去。雖然Serverless可能是將應(yīng)用程序抽象到其最基本組件的邏輯結(jié)論,但并非所有應(yīng)用程序都能以這種方式抽象出來。同理可得,出于對持久性和可伸縮性的需求,某些應(yīng)用程序?qū)枰萜?,需要容器的編排和管理?/p>
如果這兩種技術(shù)沒有直接相互競爭,它們很難不會有持續(xù)性的顯著增長。
譯者介紹
Grace,程序員,研究生畢業(yè)于SUNY at Stony Brook,目前供職于Linktime Cloud Company,對大數(shù)據(jù)技術(shù)以及數(shù)據(jù)可視化技術(shù)感興趣。
名稱欄目:選擇Serverless還是Kubernetes?這種爭辯并沒有意義
本文路徑:http://www.5511xx.com/article/dhiojcj.html


咨詢
建站咨詢
