導(dǎo)讀:盡管有人從字面上理解這個(gè)術(shù)語(yǔ),但越來(lái)越多的人和企業(yè)將云原生視為一種新興的架構(gòu)模式。
云原生這個(gè)術(shù)語(yǔ)如今非常熱門(mén),以至于一些企業(yè)正在通過(guò)“云原生”宣傳他們的產(chǎn)品和服務(wù),以順應(yīng)云原生浪潮。
不幸的是,其中很多企業(yè)不了解云原生是什么,或者沒(méi)有真正了解其核心優(yōu)勢(shì)。然而,這些企業(yè)確實(shí)意識(shí)到第二次云計(jì)算革命可能即將來(lái)臨。
首先需要了解這些企業(yè)遇到的困惑。許多人對(duì)“云原生開(kāi)發(fā)”這個(gè)術(shù)語(yǔ)的理解是:構(gòu)建特定云計(jì)算提供商(如AWS、微軟或谷歌)原生的軟件系統(tǒng)。因此,他們可以利用該提供商原生的安全服務(wù)、治理服務(wù)、數(shù)據(jù)庫(kù)服務(wù)等,并利用應(yīng)用程序從云計(jì)算提供商那里獲得更多的收益。
與其相反,非原生系統(tǒng)將與特定的云計(jì)算提供商相分離。雖然系統(tǒng)可以運(yùn)行,但它們沒(méi)有利用原生云服務(wù)。因此,它們的運(yùn)行成本可能會(huì)更高,并且它們沒(méi)有利用有用的原生云服務(wù)來(lái)提高應(yīng)用程序的性能。因?yàn)樗鼈儧](méi)有利用來(lái)自云原生提供商的服務(wù),所以必須自己編寫(xiě)或集成這些服務(wù)。
盡管有人從字面上理解這個(gè)術(shù)語(yǔ),但越來(lái)越多的人和企業(yè)將云原生視為一種新興的架構(gòu)模式。
“云原生”的價(jià)值是什么?
云原生的新興定義可以作為如何設(shè)計(jì)、構(gòu)建、部署和操作系統(tǒng)向前發(fā)展的真正革命。換句話(huà)說(shuō),這種新的云原生方法重新思考了人們?nèi)绾螐膭?chuàng)建的軟件系統(tǒng)中獲得更多價(jià)值,以及如何在所有平臺(tái)上利用這些方法,而不僅僅是公有云。
這種看待云原生價(jià)值的新方法包括云原生計(jì)算基金會(huì)(CNCF)的解釋?zhuān)骸霸圃夹g(shù)使企業(yè)能夠在公有云、私有云和混合云等現(xiàn)代動(dòng)態(tài)環(huán)境中構(gòu)建和運(yùn)行可擴(kuò)展的應(yīng)用程序。”也許更好的說(shuō)法是,云原生應(yīng)用程序可以部署在多個(gè)云計(jì)算環(huán)境中,其中包括傳統(tǒng)平臺(tái)。這是新興云原生主張的核心,并定義了全部?jī)?nèi)容。
云原生計(jì)算基金會(huì)(CNCF)有一個(gè)更大的想法:如果正確地使用云原生,那么將在包括公共云、私有云甚至遺留系統(tǒng)在內(nèi)的許多平臺(tái)上提供動(dòng)態(tài)且可擴(kuò)展的應(yīng)用程序功能。大多數(shù)人對(duì)傳統(tǒng)設(shè)施甚至老舊的私有云的支持感到吃驚。然而,這個(gè)想法是為了推廣一種不用關(guān)注底層技術(shù)就能完成任務(wù)的方法。
容器和微服務(wù)
在通常情況下,云原生方法需要使用容器、容器編排和微服務(wù)以避免鎖定,這是云原生的理想結(jié)果。
新的云原生系統(tǒng)通常定義一個(gè)公共堆棧,其中私有云和公有云是可以駐留在任何平臺(tái)上的基礎(chǔ)。這些平臺(tái)將包括傳統(tǒng)計(jì)算、邊緣計(jì)算以及未來(lái)可能出現(xiàn)的新興平臺(tái)。同樣,這個(gè)想法是以不同的方式構(gòu)建事物,重點(diǎn)關(guān)注正在開(kāi)發(fā)的系統(tǒng)的“大局”最終目標(biāo)。如果只關(guān)注特定技術(shù),那么其價(jià)值將是短暫的。
綜上所述,可以將云原生定義為具有以下優(yōu)勢(shì)的方法:
它利用公有云定義的架構(gòu)優(yōu)勢(shì),而無(wú)需在特定云平臺(tái)上運(yùn)行。
架構(gòu)是獨(dú)立微服務(wù)的集合,可以存在于一個(gè)或多個(gè)輕量級(jí)容器中。
包括云平臺(tái)在內(nèi)的基礎(chǔ)平臺(tái)通常不直接向應(yīng)用程序提供服務(wù),而是使用抽象層。
這些云原生容器允許簡(jiǎn)化部署到任何平臺(tái),包括遺留系統(tǒng)、云計(jì)算平臺(tái),甚至遠(yuǎn)程設(shè)備。
云原生容器可以獲得平臺(tái)支持的通用服務(wù),達(dá)到平臺(tái)的極限,例如可擴(kuò)展性。
可以跨容器定義安全、治理和操作等公共服務(wù),并且可以在與主機(jī)平臺(tái)直接接觸或不直接接觸的情況下加以利用。
云原生容器可以從一個(gè)平臺(tái)遷移到另一個(gè)平臺(tái),例如云平臺(tái)之間或云平臺(tái)到內(nèi)部部署設(shè)施,而不會(huì)嚴(yán)重破壞軟件的功能和數(shù)據(jù)存儲(chǔ)模式。
什么是云原生革命?
上面列出的許多優(yōu)勢(shì)可以在過(guò)去的架構(gòu)方法中找到,例如容器開(kāi)發(fā)和編排,或者在支持技術(shù)中,例如大多數(shù)公有云提供商提供的服務(wù)。
在這里出現(xiàn)的新情況是,人們將云原生視為“如何”而不是“什么”的概念。云原生與技術(shù)無(wú)關(guān);這是關(guān)于人們?nèi)绾翁幚硐到y(tǒng)設(shè)計(jì)、開(kāi)發(fā)和部署,無(wú)論人們部署什么技術(shù)或平臺(tái)。
云原生并不會(huì)采用最熱門(mén)的云計(jì)算技術(shù)來(lái)構(gòu)建和部署應(yīng)用程序。云原生利用了幾種開(kāi)放技術(shù),這些技術(shù)本身并不是真正的解決方案。但是,當(dāng)結(jié)合上面列出的特定架構(gòu)模式時(shí),可以利用任意數(shù)量的技術(shù)來(lái)實(shí)現(xiàn)云原生設(shè)計(jì)模式。
云原生的目標(biāo)是提供比傳統(tǒng)的應(yīng)用程序開(kāi)發(fā)方法更有可能解決當(dāng)前業(yè)務(wù)問(wèn)題并且更持久的軟件系統(tǒng)。云原生也意味不再專(zhuān)注于開(kāi)發(fā)技術(shù)或平臺(tái)。遷移到云原生開(kāi)發(fā)的副作用之一是現(xiàn)在定義了如何完成某事,而不是要利用什么技術(shù)。
對(duì)于那些希望將自己的技術(shù)定義為提供不同于競(jìng)爭(zhēng)對(duì)手的特定價(jià)值的供應(yīng)商,云原生將是一個(gè)令人困惑的難題。云原生方法將迫使許多技術(shù)供應(yīng)商和云計(jì)算服務(wù)提供商找出協(xié)同工作和合作的方式,以支持云原生開(kāi)發(fā)和部署,其中許多不同的技術(shù)配置和解決方案成為最終狀態(tài)云原生解決方案的一部分。
云原生革命的必要元素
這場(chǎng)革命只有在有幾個(gè)部分到位的情況下才能奏效:
首先,負(fù)責(zé)構(gòu)建和部署系統(tǒng)的人員需要采用云原生技術(shù)。無(wú)論云原生多么引人注目,采用因素將是最難實(shí)現(xiàn)的,因?yàn)榧夹g(shù)市場(chǎng)的方向總是難以預(yù)測(cè)。
其次,供應(yīng)商和云計(jì)算服務(wù)提供商必須共同努力,提供可互換且大部分開(kāi)放的技術(shù)。他們不能一直專(zhuān)注于云原生范圍之外的獨(dú)特做事方式。與其相反,他們需要關(guān)注客戶(hù)希望如何構(gòu)建系統(tǒng)以及這些系統(tǒng)的最終目標(biāo)。
有了這兩個(gè)部分,“云原生革命”這個(gè)詞將具有其真正含義。云原生是構(gòu)建和部署系統(tǒng)的方式的一種翻天覆地的變化。此外,它的重點(diǎn)是消除企業(yè)的技術(shù)依賴(lài),這在過(guò)去是不可能的?,F(xiàn)在需要看看是否將云計(jì)算服務(wù)實(shí)現(xiàn)原生化,以便期待更光明的未來(lái)。