還在糾結(jié)選Kubernetes還是Serverless?這個(gè)問題終于解決了

原標(biāo)題:還在糾結(jié)選Kubernetes還是Serverless?這個(gè)問題終于解決了

隨著容器編排引擎Kubernetes的成熟與流行,容器化已經(jīng)開始在IT界尤其是云計(jì)算領(lǐng)域得到廣泛應(yīng)用。與此同時(shí),Serverless正逐漸成為繼容器之后的下一個(gè)技術(shù)潮流。因此,很多企業(yè)面臨Kubernetes和Serverless之間的兩難抉擇。為了解決這個(gè)問題,百度智能云新推出容器實(shí)例產(chǎn)品BCI,將建立這兩者的鏈接,為用戶提供最大的靈活性和便利性。

那么,該產(chǎn)品是如何誕生的,技術(shù)特性是什么?我們還是從容器說起。

1

高歌猛進(jìn)的容器技術(shù)

自從2013年Docker技術(shù)和Kubernetes編排引擎問世以來,容器技術(shù)一路高歌猛進(jìn),逐漸成為了今天絕大部分企業(yè)IT架構(gòu)的轉(zhuǎn)型方向。容器為企業(yè)帶來的架構(gòu)優(yōu)化和效率提升是顯而易見的,利用Docker image輕量級、可移植的特點(diǎn),將業(yè)務(wù)拆分解耦到不同的容器中,分布式部署至跨機(jī)器甚至跨機(jī)房的基礎(chǔ)設(shè)施。

由于每個(gè)容器都可以被獨(dú)立管理和升級并且快速在不同的基礎(chǔ)設(shè)施之間遷移,容器化大大提高了IT生產(chǎn)流程的敏捷程度并且?guī)椭髽I(yè)獲得更高的業(yè)務(wù)可用性。

但是容器也并非是萬能的,隨著容器的數(shù)量和復(fù)雜度增加,用戶需要維護(hù)一個(gè)龐大的集群和編排系統(tǒng)來進(jìn)行容器管理,這就需要企業(yè)付出一定的額外資源用于維護(hù)集群本身,并且對于編排系統(tǒng)(如Kubernetes)的使用也是IT部門需要面臨的一個(gè)新的挑戰(zhàn)。

云服務(wù)商一直在嘗試?yán)迷朴?jì)算的優(yōu)勢降低容器的使用成本和技術(shù)門檻,如百度智能云的容器引擎產(chǎn)品CCE,能夠幫助用戶快速搭建和維護(hù)一個(gè)Kubernetes集群,為用戶解決集群本身的可用性、可觀察性以及對底層資源的兼容性等問題,同時(shí)使得原生的Kubernetes API能夠以對用戶更加友好的方式被使用。

2

新起之秀:Serverless

Serverless是繼容器之后出現(xiàn)的又一個(gè)技術(shù)趨勢,以云服務(wù)商提供的函數(shù)計(jì)算服務(wù)為典型代表(如百度智能云函數(shù)計(jì)算CFC),其核心思想在于服務(wù)提供者完全打包了基礎(chǔ)設(shè)施的搭建、管理與維護(hù),開發(fā)者只需要編寫業(yè)務(wù)代碼并選擇一個(gè)所需的運(yùn)行時(shí),然后平臺(tái)自動(dòng)化地完成資源的創(chuàng)建、調(diào)度以及運(yùn)行時(shí)的生命周期管理,并由平臺(tái)保障業(yè)務(wù)運(yùn)行環(huán)境的高可用性。

函數(shù)計(jì)算服務(wù)對于小型應(yīng)用的開發(fā)者而言非常友好:

  • 不需要提前采購和管理任何服務(wù)器,幾乎為0的啟動(dòng)成本和運(yùn)維成本。
  • 無需關(guān)心資源的擴(kuò)容與縮容,函數(shù)可以在毫秒級完成啟停,帶來了更高的業(yè)務(wù)彈性。
  • 完全按需的付費(fèi)模式,資源只有在業(yè)務(wù)實(shí)際運(yùn)行時(shí)才產(chǎn)生費(fèi)用,不會(huì)再有閑置成本。

在許多輕量級場景中,函數(shù)計(jì)算已經(jīng)得到了不錯(cuò)的應(yīng)用與實(shí)踐,比如小程序、智能設(shè)備、自動(dòng)化數(shù)據(jù)處理等。

但是函數(shù)計(jì)算同樣不能解決企業(yè)的全部問題,它要求用戶的業(yè)務(wù)以函數(shù)為粒度進(jìn)行拆分、函數(shù)之間完全通過接口通訊并且對業(yè)務(wù)的無狀態(tài)化要求更高。對于復(fù)雜的業(yè)務(wù)系統(tǒng)而言,要滿足這些要求并不簡單,而且即便用戶的業(yè)務(wù)架構(gòu)可以真正實(shí)現(xiàn)函數(shù)化改造,現(xiàn)有的大規(guī)模函數(shù)協(xié)作、編排和管理技術(shù)也還不夠成熟,很難完全投入生產(chǎn)。

在面對容器化和Serverless時(shí),用戶通常需要對業(yè)務(wù)進(jìn)行拆分,根據(jù)業(yè)務(wù)屬性選擇更合適的架構(gòu),有時(shí)會(huì)因此而面臨兩難的技術(shù)抉擇。

那么有沒有一種技術(shù)可以在充分發(fā)揮容器編排引擎優(yōu)勢的同時(shí),又享受到Serverless帶來的低成本和高彈性呢?

3

魚和熊掌也可兼得

Kata-Container和Virtual-Kubelet這兩個(gè)新技術(shù)的發(fā)展為這個(gè)問題帶來了新的思路,而百度智能云基于兩者提供的新產(chǎn)品:百度智能云容器實(shí)例(Baidu Container Instance — BCI),也許會(huì)是一個(gè)不錯(cuò)的答案。

  • Kata-Container:作為一種啟動(dòng)docker的插件,為容器提供了更強(qiáng)的隔離性,解決了多租戶情況下容器的安全問題。
  • Virtual-Kubelet:CNCF 社區(qū)項(xiàng)目,幫助用戶將kubernetes的管理范疇從物理集群拓展到任意的容器提供者。

BCI為用戶提供了可以直接啟動(dòng)的容器化資源,不需要預(yù)先購買服務(wù)器和集群,用戶在業(yè)務(wù)需要時(shí)可以隨時(shí)啟動(dòng)一個(gè)或多個(gè)容器,在業(yè)務(wù)完成后可以隨時(shí)將其釋放。

相比虛擬機(jī),BCI充分發(fā)揮了容器化的優(yōu)勢,使用標(biāo)準(zhǔn)的Docker Image啟動(dòng)、細(xì)粒度的資源劃分、在數(shù)秒內(nèi)完成啟動(dòng)或停止、隨時(shí)進(jìn)行多副本復(fù)制。

對于小型應(yīng)用的開發(fā)者,BCI可以體現(xiàn)出媲美函數(shù)計(jì)算的Serverless特性。將應(yīng)用打包到Docker image中,即可啟動(dòng)或停止容器,只需要為應(yīng)用運(yùn)行實(shí)際消耗的資源付費(fèi),也完全不需要關(guān)心底層資源如何管理和調(diào)度,而kata-container技術(shù)則完全確保了用戶容器運(yùn)行過程中的資源隔離性。

對于有復(fù)雜容器編排需求的企業(yè),BCI可以通過Virtual-Kubelet接入到CCE集群中,從而成為用戶集群中的一個(gè)虛擬節(jié)點(diǎn),這個(gè)虛擬節(jié)點(diǎn)幾乎沒有資源邊界,用戶也無需為它預(yù)先購買任何服務(wù)器。用戶可以使用標(biāo)準(zhǔn)的Kubernetes API管理自己的容器(比如創(chuàng)建Deployment),通過指定部署節(jié)點(diǎn),將業(yè)務(wù)容器部署到BCI容器實(shí)例中運(yùn)行。

BCI的出現(xiàn)將建立起容器和Serverless之間的鏈接,大大拓展百度智能云CCE的管理邊界,為用戶提供極大的便利和靈活性。

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2019-07-09
還在糾結(jié)選Kubernetes還是Serverless?這個(gè)問題終于解決了
那么有沒有一種技術(shù)可以在充分發(fā)揮容器編排引擎優(yōu)勢的同時(shí),又享受到Serverless帶來的低成本和高彈性呢?將應(yīng)用打包到Docker image中,即可啟動(dòng)或停止容器,只需要為應(yīng)用運(yùn)行實(shí)際消耗的資源付

長按掃碼 閱讀全文