而今,云原生成了耳熟能詳?shù)臒衢T(mén)詞,似乎不提云原生就落伍了,加入CNCF也成了云廠商引以為傲的技術(shù)優(yōu)勢(shì)。
我們也看到各種云原生的定義,有來(lái)自CNCF的“微服務(wù)+容器+持續(xù)交付+DevOps”,也有來(lái)自不同云廠商的說(shuō)法。2020年9月,阿里云成立了云原生技術(shù)委員會(huì),今天我就從云計(jì)算的初心嘗試談?wù)勈裁词钦嬲脑圃?/p>
狹義的云原生
讓我們先回顧云原生的由來(lái)。
云計(jì)算興起之后,以Docker為代表的容器浪潮,席卷業(yè)界,以DevOps和標(biāo)準(zhǔn)化交付而廣受青睞。在此背景下,Google創(chuàng)造性地提出了云原生的概念,并發(fā)布了開(kāi)源編排工具Kubernetes,從統(tǒng)一部署和標(biāo)準(zhǔn)化的角度切入,其后更成立了CNCF基金會(huì),成功地殺出了一片天地。
2020年12月,CNCF大使Ian Coldwater在社交媒體上說(shuō):“Kubernetes現(xiàn)已棄用了對(duì)Docker的支持。您需要注意這一點(diǎn),并作好相應(yīng)的規(guī)劃。這會(huì)搞壞您的集群?!?/p>
這說(shuō)明云原生戰(zhàn)略獲得了歷史性的進(jìn)展。從這個(gè)角度來(lái)看,將云原生等同于容器和服務(wù)網(wǎng)格,是早期對(duì)云原生狹義的理解。
廣義的云原生
那么,什么是廣義的云原生呢?因云而生的軟件、硬件、架構(gòu),就是真正的云原生。
我們認(rèn)為,云原生更多應(yīng)該從客戶(hù)應(yīng)用的視角來(lái)看,部署到云上的應(yīng)用,必須用到了只有大規(guī)模公共云實(shí)踐才能提供的三類(lèi)能力的一類(lèi)或多類(lèi),即彈性、API自動(dòng)化部署和運(yùn)維等特性;服務(wù)化的云原生產(chǎn)品,如RDS、EMR等;因云而生的軟硬一體化架構(gòu)。這,就是云原生。
首先,云原生應(yīng)用是相對(duì)線下傳統(tǒng)企業(yè)IT物理機(jī)上的環(huán)境而言,要用云的方式來(lái)部署和管理應(yīng)用,充分利用云的供應(yīng)效率,要全球部署、即開(kāi)即用、按量付費(fèi)。
客戶(hù)就近獲取云的能力,就是所謂彈性,我們?nèi)ツ瓿鲞^(guò)一本書(shū),書(shū)名叫《彈性計(jì)算 無(wú)處不在的算力》,講的就是背后的原理,要具備這種極致的彈性才是云原生。在云上提供的Kubernetes,是通過(guò)自動(dòng)化部署和運(yùn)維的API標(biāo)準(zhǔn)化,實(shí)現(xiàn)了云原生。
其次,今天我們已經(jīng)看到云原生數(shù)據(jù)庫(kù)、云原生大數(shù)據(jù)、云原生容器、云原生中間件、云原生安全等等概念,這都是在云上可以隨意獲取的服務(wù)化云原生產(chǎn)品,是傳統(tǒng)線下沒(méi)有的服務(wù),有助于獲得性能和成本上的加強(qiáng),這就是云原生。
特別值得一提的是以神龍架構(gòu)為代表的軟硬一體虛擬化。虛擬化經(jīng)歷了純軟件虛擬化、通用硬件虛擬化、到現(xiàn)在的軟硬一體化虛擬化。
通過(guò)計(jì)算存儲(chǔ)的分離,使用專(zhuān)用的神龍芯片,對(duì)虛擬化進(jìn)行加速,從而達(dá)到超越物理服務(wù)器的高性能。作為云計(jì)算架構(gòu)的底層,所有中間件和應(yīng)用層都能從中獲得性能的收益,而無(wú)需進(jìn)行任何代碼和架構(gòu)的修改。
此外,神龍架構(gòu)支撐的是同一套資源架構(gòu)并池的資源能力,包括ECI(Serverless容器)、VM、裸金屬等,從而讓所有的資源能夠統(tǒng)一調(diào)度,進(jìn)而實(shí)現(xiàn)最深的彈性。這也是業(yè)界第一次實(shí)現(xiàn)了統(tǒng)一架構(gòu)和統(tǒng)一資源調(diào)度,被視為中國(guó)云廠商的重大技術(shù)貢獻(xiàn)。
從這種意義上來(lái)說(shuō),神龍架構(gòu)就是因云而生,是典型的云原生。簡(jiǎn)單而言,如果沒(méi)有云計(jì)算的大規(guī)模部署場(chǎng)景,神龍的優(yōu)勢(shì)就不能發(fā)揮得淋漓盡致。
所以,云原生的初心是在云上的原生,如果缺乏云的基本特征,必然不是云原生。極端而言,如果你自己買(mǎi)了兩臺(tái)服務(wù)器,放在辦公室,上面部署了容器,然后用Kubernetes來(lái)管理,那就不是云原生,因?yàn)槿狈椥?、API自動(dòng)化部署和運(yùn)維的能力,連云都不是。
CNCF更多的是倡導(dǎo)一個(gè)系統(tǒng)要用什么組件進(jìn)行架構(gòu),這樣才能實(shí)現(xiàn)互聯(lián)網(wǎng)架構(gòu)和運(yùn)維能力,實(shí)現(xiàn)快速迭代、靈活擴(kuò)展、高效運(yùn)維。而這些能力的發(fā)揮需要這些架構(gòu)框架基于云,兩者結(jié)合則為云原生。
很多人會(huì)問(wèn),某個(gè)開(kāi)源軟件是否是云原生?這個(gè)要看它的架構(gòu)。以開(kāi)源數(shù)據(jù)庫(kù)為例,如果其架構(gòu)上還是針對(duì)傳統(tǒng)的單機(jī)和小規(guī)模,那就不是云原生;如果保持開(kāi)源的接口兼容性,同時(shí)做了云原生改造和重新設(shè)計(jì),運(yùn)維和管控都充分利用了云的基礎(chǔ)能力,那就是云原生的軟件和服務(wù),如阿里云的PolarDB數(shù)據(jù)庫(kù)。
多云和混合云加速了云原生
歷史的發(fā)展總是曲折的,因?yàn)橄嘈潘钥匆?jiàn),也總是一波三折。在盤(pán)山公路上前行時(shí),往往眼中只能看到有限的視野。
為達(dá)到更高的性?xún)r(jià)比、容錯(cuò)和效率,業(yè)界產(chǎn)生了多云和混合云。多云是客戶(hù)將業(yè)務(wù)負(fù)載分別部署到不同的公共云廠商,而混合云更多是客戶(hù)將業(yè)務(wù)負(fù)載部署到公共云和專(zhuān)有云上。
多云是競(jìng)爭(zhēng)的產(chǎn)物,雖然亞馬遜和阿里云一直認(rèn)為用戶(hù)用一家的云就夠了。而混合云的產(chǎn)生角度不同,它是為了滿(mǎn)足客戶(hù)分步上云的意愿,同時(shí)滿(mǎn)足部分行業(yè)監(jiān)管合規(guī)的需求,而構(gòu)建的一種云架構(gòu)。
無(wú)論是多云還是混合云,云廠商為了降低業(yè)務(wù)分布式部署的難度,讓客戶(hù)更容易接受,都會(huì)敦促客戶(hù)對(duì)業(yè)務(wù)進(jìn)行單元化改造,因?yàn)镵ubernetes解決了標(biāo)準(zhǔn)化部署和遷移的問(wèn)題。
同時(shí)除了Kubernetes和容器之外,往往涉及到使用公共云帶來(lái)的彈性、加速等等服務(wù)能力,以及數(shù)據(jù)庫(kù)、大數(shù)據(jù)、音視頻等系統(tǒng)的云原生改造。可見(jiàn),Kubernetes加速了狹義的云原生能力。
云原生芯片
從計(jì)算芯片的角度而言,云計(jì)算帶來(lái)了全新的應(yīng)用場(chǎng)景,從而對(duì)CPU提出了新的需求,也就是云原生芯片。
比如阿里云的神龍芯片,就是云原生芯片。它是整個(gè)設(shè)備的核心,因?yàn)橥ㄟ^(guò)它可以讓神龍服務(wù)器完完全全具有虛擬機(jī)的特性,包括虛擬機(jī)的接口。
基于神龍芯片的神龍MOC卡在整個(gè)架構(gòu)中具有重要作用,它具備豐富的管理接口和對(duì)外數(shù)據(jù)接口,可以幫助我們實(shí)現(xiàn)彈性裸金屬服務(wù)器具備的這些功能。
CPU的多元化正在逐漸成為現(xiàn)實(shí)。首先是英特爾的對(duì)手AMD的崛起,雖然都是x86體系,但其芯片在性?xún)r(jià)比高之外,性能和特性也突飛猛進(jìn);其次,x86架構(gòu)之外的發(fā)展非常迅猛,除Ampere的ARM服務(wù)器芯片外,自研的ARM體系正成為很多云廠商的選擇。
AWS的Graviton 2自研芯片使用64位ARM Neoverse內(nèi)核定制而成,設(shè)計(jì)思路是多核加每核單Thread負(fù)載,每個(gè)內(nèi)核都旨在通過(guò)盡可能多的、完全獨(dú)立的內(nèi)核來(lái)交付實(shí)際工作負(fù)載,力圖成為最節(jié)能的處理器。
微軟也在設(shè)計(jì)一款用于數(shù)據(jù)中心的ARM處理器,這是微軟的重大戰(zhàn)略舉措,微軟認(rèn)為,自己的芯片更適合某些需求,更具成本和性能優(yōu)勢(shì)。
云原生CPU正呈現(xiàn)一些共有的特性:主頻不需要特別高、功耗要特別低、獨(dú)立運(yùn)行的核、多核架構(gòu)能更好地支持服務(wù)網(wǎng)格的應(yīng)用、有成熟的軟件生態(tài)等等。
用云原生的思維用好云原生架構(gòu)
對(duì)于云計(jì)算的用戶(hù)來(lái)說(shuō),理解什么是云原生尤為重要。不是簡(jiǎn)單地使用容器來(lái)定義自己的系統(tǒng),而是在設(shè)計(jì)、開(kāi)發(fā)、部署等周期中,使用原汁原味的云原生系統(tǒng),將會(huì)帶來(lái)巨大的競(jìng)爭(zhēng)優(yōu)勢(shì),充分享受云計(jì)算的紅利。
云原生不僅是實(shí)踐,更是一種理念,帶來(lái)的是時(shí)代變革。開(kāi)發(fā)人員的開(kāi)發(fā)環(huán)境也要生在云上、長(zhǎng)在云上。使用類(lèi)似無(wú)影這樣的遠(yuǎn)程工具,讓產(chǎn)品設(shè)計(jì)文檔、開(kāi)發(fā)調(diào)試環(huán)境、部署工具、測(cè)試過(guò)程、POC驗(yàn)證、資源消費(fèi)等等,全部基于云來(lái)進(jìn)行。
所以,云原生帶來(lái)的是思維的變化,是文化的變化,是新時(shí)代的生產(chǎn)力,遠(yuǎn)遠(yuǎn)超越了CNCF定義的Kubernetes標(biāo)準(zhǔn)接口,是未來(lái)使用云的標(biāo)準(zhǔn)方式。
什么是真正的云原生
我們很幸運(yùn),我們正親歷一個(gè)邁入云時(shí)代的歷史性進(jìn)程。
多年以后,新一代的新新人類(lèi),他們會(huì)更幸運(yùn),他們接觸的一切計(jì)算環(huán)境都是云原生的。他們天生就會(huì)認(rèn)為,云計(jì)算資源是無(wú)處不在、取之不盡、用之不竭的,他們不會(huì)關(guān)心云資源在哪里、有多少。就像今天我們使用自來(lái)水一樣,沒(méi)有人會(huì)費(fèi)勁心思考慮水從哪里來(lái)。
因云而生的軟件、硬件、架構(gòu),就是真正的云原生;因云而生的技術(shù),就是云原生技術(shù)。
責(zé)任編輯:PSY
-
云計(jì)算
+關(guān)注
關(guān)注
39文章
7824瀏覽量
137454 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8893瀏覽量
137464 -
云原生
+關(guān)注
關(guān)注
0文章
249瀏覽量
7952
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論