Serverless 终结 Kubernetes?
戳藍(lán)字“CSDN云計(jì)算”關(guān)注我們哦!
Kubernetes 是基礎(chǔ)架構(gòu)管理的終極解決方案嗎?還是說(shuō)我們更加需要 Serverless?究竟哪種技術(shù)能夠解救運(yùn)維團(tuán)隊(duì)?不要忘記,NoOps 的世界即將到來(lái)。
作者 | Daniele Fontani
譯者 | 彎月
封圖 | CSDN 下載自 VCG
出品 | CSDN 云計(jì)算(ID:CSDNcloud)
以下為譯文:
你覺(jué)得 Kubernetes 是 DevOps 世界里最好的技術(shù)嗎?它是終極解決方案嗎?當(dāng)然,這個(gè)世界上沒(méi)有終極解決方案,以前沒(méi)有今后也不會(huì)有,技術(shù)都是瞬息萬(wàn)變的,我們需要時(shí)刻做好準(zhǔn)備。我很喜歡 Kubernetes,很高興再次討論這個(gè)話題。Kubernetes 是當(dāng)前 DevOps 世界里最熱門(mén)的技術(shù)。在本文中,我們將共同探討這樣一個(gè)問(wèn)題:
Kubernetes 是基礎(chǔ)架構(gòu)管理的終極解決方案嗎?還是說(shuō)我們更加需要 Serverless?究竟哪種技術(shù)能夠解救運(yùn)維團(tuán)隊(duì)?不要忘記,NoOps 的世界即將到來(lái)。
我認(rèn)為變革是技術(shù)世界里的常態(tài)。我們的祖先出門(mén)騎馬,而我們乘坐飛機(jī)。這就是技術(shù)進(jìn)步的象征。
在過(guò)去的幾年中,技術(shù)世界發(fā)生了一次小小的革命,越來(lái)越多的應(yīng)用程序從虛擬機(jī)移到了容器中,這主要?dú)w功于 Kubernetes 部署。?
在這場(chǎng)革命發(fā)生期間,還有一個(gè)雖小卻很強(qiáng)大的技術(shù)流行了起來(lái),那就是“Serverless ”。大多數(shù)人將其視為惡魔,而有些人則認(rèn)為它是拯救開(kāi)發(fā)人員于運(yùn)維噩夢(mèng)的“白馬王子”。下面就讓我們一起來(lái)看一看這究竟是機(jī)遇還是麻煩。
Kubernetes 和 Serverless 之間有什么區(qū)別?
Serverless 是一種云模型,可以幫助你擺脫服務(wù)器和基礎(chǔ)架構(gòu)的束縛。其目的是省卻一定的成本,縮短產(chǎn)品上市的時(shí)間,減少運(yùn)維與開(kāi)發(fā)團(tuán)隊(duì)之間的摩擦。具體來(lái)說(shuō),你可以想象有一堵墻能夠吸收你的代碼,并負(fù)責(zé)執(zhí)行代碼,這堵墻就是 Serverless。
最常見(jiàn)的 Serverless 實(shí)現(xiàn)是帶有 SDK 的無(wú)狀態(tài)容器,負(fù)責(zé)將你的代碼集成到系統(tǒng)中,并根據(jù)資源的使用情況向你收費(fèi)。在大多數(shù)情況下,我們只需將我們的函數(shù)上傳到云(函數(shù)即服務(wù),Functions as a Service,即 FaaS),然后通過(guò) HTTP 調(diào)用這些函數(shù)。主流云提供商都提供了類(lèi)似的云體驗(yàn):
亞馬遜:AWS Lambda
微軟 Azure:Azure Functions
谷歌云:Cloud Functions
當(dāng)然并不是真的沒(méi)有服務(wù)器。只不過(guò)你看不到它們,因?yàn)樗鼈儽还?yīng)商藏了起來(lái),并用它們來(lái)提供服務(wù)。服務(wù)器仍在運(yùn)行,但是你看不到內(nèi)存、CPU 或磁盤(pán)空間。你只需關(guān)注代碼,將精力放在真正需要的地方。
那么,什么是 Kubernetes?你可以將 Kubernetes 視為運(yùn)行分布式系統(tǒng)的框架,這些系統(tǒng)源自 Docker 鏡像。Kubernetes 能夠滿足規(guī)模擴(kuò)展的需求,還能夠管理好部署以及負(fù)載平衡。Kubernetes 利用簡(jiǎn)潔且可重復(fù)使用的 YAML 文件來(lái)書(shū)寫(xiě)配置,部署出來(lái)的環(huán)境可輕松復(fù)制。
你只需要更改一些配置文件,就可以全權(quán)掌控容器實(shí)例(服務(wù)和 Pod)、網(wǎng)絡(luò)以及部署。Kubernetes 的功能包括擴(kuò)展規(guī)模、故障轉(zhuǎn)移以及部署模式等等。
與 Serverless 一樣,Kubernetes 可以幫助系統(tǒng)管理員輕松地完成復(fù)雜的體系結(jié)構(gòu)。這項(xiàng)技術(shù)可以將費(fèi)時(shí)費(fèi)力的傳統(tǒng)部署轉(zhuǎn)變成智能快捷的方式。NoOps 的時(shí)代就要來(lái)了!
Kubernetes 有哪些優(yōu)點(diǎn)?
Kubernetes 最大的優(yōu)勢(shì)在于,你可以像處理常規(guī)服務(wù)器一樣處理集群,同時(shí)還無(wú)需管理物理機(jī)器。從邏輯上講,服務(wù)器和集群組件是對(duì)等的關(guān)系。你可以把 Pod 和服務(wù)當(dāng)成虛擬機(jī)來(lái)實(shí)例化。此外,你還擁有網(wǎng)絡(luò)、存儲(chǔ)等等。因此,你可以通過(guò)操控底層的集群來(lái)深入控制所有組件。
與 Serverless 平臺(tái)相比,Kubernetes 的優(yōu)勢(shì)如下:
與過(guò)往技術(shù)有良好的兼容性。如果你正在使用容器,那么毫不費(fèi)力就可以移動(dòng)到 Kubernetes 上;如果你沒(méi)有使用容器,那么也只需將應(yīng)用程序組件容器化。
良好的控制。
供應(yīng)商的限制較少,Kubernetes 就是單純的 Kubernetes,而 Docker 容器也只是 Docker 容器而已。從理論來(lái)講,你只需點(diǎn)一下鼠標(biāo)即可將基礎(chǔ)架構(gòu)移動(dòng)到其他地方。
可以微調(diào)每個(gè)組件的功能。
可在自建的基礎(chǔ)設(shè)施上運(yùn)行(比如可以用于開(kāi)發(fā)環(huán)境,或者極端情況,或者只是你想嘗試些瘋狂的東西)。
成本預(yù)測(cè)。你只需支付集群資源的費(fèi)用,比 Serverless 更好預(yù)測(cè)。
Serverless 的優(yōu)點(diǎn)是什么?
Kubernetes 在減少系統(tǒng)管理員工作方面邁出了一大步,但還沒(méi)有減少到零。Serverless 可以從根本上避免所有系統(tǒng)管理組件,你唯一需要關(guān)心的就是源代碼。就好像一組樂(lè)高積木,將它們拼在一起。每一塊都可以單獨(dú)運(yùn)行,你只需要讓積木塊之間正確溝通即可,僅此而已。由于 FaaS 解決方案需要思想上的轉(zhuǎn)變,因此似乎很難實(shí)施。在這種情況下,你可以采用一些“軟”Serverless 解決方案——無(wú)需更改即可直接托管你的應(yīng)用程序。Heroku 就是這類(lèi)的一個(gè)解決方案,它從服務(wù)器和傳統(tǒng)的 DevOps 中進(jìn)行了抽象,提供了無(wú)運(yùn)維、Serverless 的體驗(yàn),可以促進(jìn)應(yīng)用程序的開(kāi)發(fā),減輕所有托管負(fù)擔(dān)。
Serverless 會(huì)終結(jié) Kubernetes 嗎?
現(xiàn)如今,Serverless 還是一項(xiàng)很新的技術(shù),第一版的 AWS Lambda 于 2014 年發(fā)布。同年,Docker 也邁出了第一步(第一版于 2013 年發(fā)布,但我不確定發(fā)布時(shí)是否可以投入生產(chǎn)環(huán)境)。而 Kubernetes 誕生于 2014 年。
因此,我們可以說(shuō),Serverless 與容器幾乎同時(shí)問(wèn)世,不分伯仲。從這個(gè)角度來(lái)看,Serverless 并非誕生于 Kubernetes 之后,因此我們不能認(rèn)為 Serverless 將取代容器。二者只是 Web 應(yīng)用程序中實(shí)現(xiàn)托管的兩種不同的方法。也許在某些情況下,你可能更喜歡 Serverless ,而有些時(shí)候則會(huì)更喜歡 Kubernetes。那么具體選擇哪個(gè)呢?不得不說(shuō)這要視具體情況而定。普通的咨詢師與優(yōu)秀的咨詢師之間的區(qū)別就在于,優(yōu)秀的咨詢師了解許多互補(bǔ)的解決方案,并能夠根據(jù)實(shí)際情況找到最佳解決方案。
總結(jié)
在本文中,我們分別討論了這兩種解決方案的優(yōu)點(diǎn),你可以根據(jù)對(duì)這兩項(xiàng)技術(shù)的了解找到適合自身的最佳解決方案。你可以使用 Google Cloud 等大型云服務(wù),實(shí)現(xiàn)任何解決方案。你需要花點(diǎn)時(shí)間嘗試一下這些工具,并了解它們的優(yōu)點(diǎn)和缺點(diǎn)。
英文:Is Serverless The End Of Kubernetes?
鏈接:https://towardsdatascience.com/kubernetes-serverless-differences-84699f370609
作者:Daniele Fontani
譯者 :彎月
福利掃描添加小編微信,備注“姓名+公司職位”,入駐【CSDN博客】,加入【云計(jì)算學(xué)習(xí)交流群】,和志同道合的朋友們共同打卡學(xué)習(xí)! 推薦閱讀:微服務(wù)架構(gòu)何去何從? 疫情肆虐下,程序員用代碼告訴你為什么千萬(wàn)不要出門(mén)! 終于!孫宇晨和巴菲特吃上 3153 萬(wàn)元的晚餐,還送了一個(gè)比特幣! 2020年AI如何走?Jeff Dean和其他四位“大神”已做預(yù)測(cè)! 為什么說(shuō) Julia 更優(yōu)于 Python? AI 醫(yī)生“戰(zhàn)疫”在前線 真香,朕在看了!總結(jié)
以上是生活随笔為你收集整理的Serverless 终结 Kubernetes?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 倒计时 1 天 | 2019 中国大数据
- 下一篇: 阿里巴巴宣布架构调整;英伟达放大招!重磅