為什么說Kubernetes的崛起預(yù)示著云原生時(shí)代到來?

李代麗
如今,公有云市場(chǎng)已不只是幾個(gè)大型云計(jì)算廠商在主導(dǎo),一些希望通過云計(jì)算來獲得關(guān)鍵業(yè)務(wù)能力的企業(yè)也在加大推廣力度,加快公有云落地步伐。

現(xiàn)在,云原生、Kubernetes已經(jīng)成為企業(yè)IT領(lǐng)域的時(shí)髦概念,幾乎所有的企業(yè)都在關(guān)注;如果不提這些概念,好像企業(yè)就會(huì)在云市場(chǎng)競(jìng)爭(zhēng)中失去絕對(duì)話語權(quán)。那么,云原生和Kubernetes是怎樣一種關(guān)系?是什么讓Kubernetes超越了Docker ,在容器大戰(zhàn)中獲得領(lǐng)導(dǎo)者地位?本文將逐一進(jìn)行梳理!

kubernetes項(xiàng)目,由google公司在2014年啟動(dòng),能在這么短的時(shí)間內(nèi)“迅速上位”,其實(shí)有點(diǎn)不合常理!

稍微有一點(diǎn)閱歷的人,都會(huì)記得90年代初的那場(chǎng)互聯(lián)網(wǎng)大戰(zhàn),網(wǎng)絡(luò)牌照問題的爭(zhēng)議持續(xù)了好多年,直到TCP/IP協(xié)議推出,一切才歸于平靜!同時(shí),我們也不會(huì)忘記.com時(shí)代的UNIX操作系統(tǒng)之戰(zhàn),當(dāng)很多供應(yīng)商正無法抉擇時(shí),開源Linux像一款黑馬級(jí)應(yīng)用,映入人們的眼簾。

kubernetes和TCP/IP、Linux一樣,他們都有一個(gè)共同特征,那就是在基礎(chǔ)設(shè)施層面上構(gòu)建更廣泛的應(yīng)用。只是,Kubernetes為什么能以超乎尋常的速度走向容器之路?很多人都無法解釋!如果非要找一個(gè)理由,那一定是云原生帶來的強(qiáng)大顛覆力。

云帶來的變化

首先,云計(jì)算的快速發(fā)展,是一切變化的前提。

雖然,kubernetes的快速崛起,由多種因素匯聚而成。但是,有一個(gè)因素非常重要,那就是公有云環(huán)境的逐漸成熟。如今,公有云市場(chǎng)已不只是幾個(gè)大型云計(jì)算廠商在主導(dǎo),一些希望通過云計(jì)算來獲得關(guān)鍵業(yè)務(wù)能力的企業(yè)也在加大推廣力度,加快公有云落地步伐。有越來越多的企業(yè)希望,借助公有云來獲得IT基礎(chǔ)架構(gòu)的可伸縮性、可擴(kuò)展性以及API工具調(diào)用模式的可配置性。

其次,DevOps也是Kubernetes能夠獲勝的關(guān)鍵力量。

DevOps并不是一個(gè)新概念,在容器和 Kubernetes 普及之前,就已經(jīng)成為主流趨勢(shì)了。DevOps的核心思想其實(shí)有兩個(gè):一個(gè)是通過人、流程、工具的最佳組合,幫助企業(yè)更好地開發(fā)、運(yùn)行和管理軟件,提高企業(yè)的工作效率;另一個(gè)是核心是,DevOps提供了廣泛的工具集,能幫助開發(fā)和運(yùn)維團(tuán)隊(duì)自動(dòng)化執(zhí)行很多任務(wù)。DevOps也滲透了以API為主導(dǎo)的連接方式,即每個(gè)數(shù)據(jù)都可成為管理的API,通過自助服務(wù)發(fā)現(xiàn)和控制應(yīng)用。這種可配置的特性,在云時(shí)代得到了傳承,并提供了更好的平臺(tái)。也就是說,Kubernetes和容器的出現(xiàn),讓企業(yè)真正走向了DevOps,獲得了工具落地的新一代IT基礎(chǔ)架構(gòu)。

云原生成為企業(yè)IT最新架構(gòu)趨勢(shì)

在云最佳實(shí)踐和DevOps的雙重因素推動(dòng)下,云本地架構(gòu)發(fā)生了微妙變化,一種基于云和DevOps最佳實(shí)踐基礎(chǔ)之上的云原生架構(gòu),脫穎而出。云原生架構(gòu)能讓企業(yè)以更快的速度實(shí)現(xiàn)云化目標(biāo)。

雖然,云原生架構(gòu)包含傳統(tǒng)的虛擬化、容器以及無服務(wù)器計(jì)算等很多方面,但是綜合來看,Kubernetes是最佳選擇。

原生云不僅僅是一種架構(gòu)方法,它是一個(gè)時(shí)代的縮影,是一種新的架構(gòu)范例。通過原生云,企業(yè)IT將整體進(jìn)入新的變革期。

云原生的前世今生

總體來看,云原生架構(gòu)并不是憑空產(chǎn)生的,它吸收了之前許多架構(gòu)的精華,讓云計(jì)算成為可能。

在2000年左右,企業(yè)部署的是面向服務(wù)的體系架構(gòu)(SOA),主要依賴于復(fù)雜的中間件來實(shí)現(xiàn),通過企業(yè)服務(wù)總線(ESB)處理各種任務(wù),包括系統(tǒng)集成、路由網(wǎng)關(guān)、數(shù)據(jù)轉(zhuǎn)換、安全性問題等,同時(shí)被Web服務(wù)應(yīng)用程序發(fā)現(xiàn)并調(diào)用。

SOA 的架構(gòu)原則,大多采用點(diǎn)對(duì)點(diǎn)的通信連接,服務(wù)調(diào)用和集成邏輯被內(nèi)嵌在應(yīng)用實(shí)現(xiàn)中。這種方式在服務(wù)數(shù)量比較少的時(shí)候,確實(shí)簡(jiǎn)單、高效。但隨著服務(wù)規(guī)模的增長,服務(wù)與服務(wù)之間的通信愈發(fā)復(fù)雜,連接路徑和復(fù)雜性會(huì)劇增,給服務(wù)治理帶來巨大挑戰(zhàn),很多人將這種模式稱為“智能管道,啞端點(diǎn)”。

之后,隨著云的興起,再加上容器和微服務(wù)的推波助瀾,SOA最終讓位給微服務(wù)架構(gòu)體系。

與基于XML的“啞端點(diǎn)”式的Web服務(wù)模式不同,微服務(wù)是松耦合、高內(nèi)聚的單個(gè)執(zhí)行單元,整體架構(gòu)更偏向于“智能端點(diǎn)、啞管道”模式,所有的執(zhí)行都通過一個(gè)個(gè)小程序來實(shí)現(xiàn)。但是為了確保這些程序的集成性,我們必須通過基于HTTP協(xié)議的輕量級(jí)開源簡(jiǎn)單隊(duì)列服務(wù)來實(shí)現(xiàn)。

當(dāng)企業(yè)IT的內(nèi)部環(huán)境,開始從SOA向以云為中心的微服務(wù)體系結(jié)構(gòu)轉(zhuǎn)變的背景下,用“啞管道”替換ESB,意義重大。但是實(shí)現(xiàn)起來,存在著很多挑戰(zhàn),無法做到彈性擴(kuò)展。因此,微服務(wù)架構(gòu)的這種“缺陷”,為Kubernetes的發(fā)展提供了一個(gè)完美的“溫床”。在以kubernetes為重要組件的本地云架構(gòu)中,來自于SOA時(shí)代的ESB的很多優(yōu)勢(shì)被引入到云架構(gòu)模式中,讓用戶可以獲得“智能端點(diǎn)”和“智能服務(wù)網(wǎng)格”。

THEEND