鍥子
? ? ? ?參與云原生轉(zhuǎn)型項目調(diào)研也有近半年時間了,從年初聽同事講云原生的云里霧里,到開始百度云原生的概念,然后接觸各大頭部云廠商,全面鋪開進(jìn)行方案交流與選型調(diào)研,一路走來,確實收獲頗多,進(jìn)境用一日千里來形容也不為過。
一、云原生定義界定
? ? ? ? 關(guān)于云原生的定義有多次發(fā)展,從Pivotal公司的Matt Stine于2013年首次提出云原生(CloudNative)的概念,到2015年,云原生剛推廣時,Matt Stine在《遷移到云原生架構(gòu)》一書中定義了符合云原生架構(gòu)的幾個特征:12因素、微服務(wù)、自敏捷架構(gòu)、基于API協(xié)作、扛脆弱性;到了2017年,Matt Stine在接受InfoQ采訪時,將云原生架構(gòu)又重新歸納為模塊化、可觀察、可部署、可測試、可替換、可處理等6大特質(zhì);而Pivotal官網(wǎng)對云原生的最新概括為4個要點:DevOps+持續(xù)交付+微服務(wù)+容器。?
? ? ? ? 2015年云原生計算基金會(CNCF)成立,CNCF參與進(jìn)來后,最初把云原生定義為包括:容器化封裝+自動化管理+面向微服務(wù);到了2018年,CNCF又更新了云原生的定義,把服務(wù)網(wǎng)格(Service Mesh)和聲明式API加了進(jìn)來。
? ? ? ? 從這些定義可以看到CNCF將云原生的定義更偏技術(shù)化,更偏向于界定云原生應(yīng)用的技術(shù)能力特征,而Matt Stine的定義從最初的技術(shù)架構(gòu)能力特征,逐步演化到研發(fā)管理。如果單從企業(yè)數(shù)字化轉(zhuǎn)型的角度來看,會顯得更加立體化又簡明易記,也因此更容易做普適性推廣,也更符合企業(yè)云原生轉(zhuǎn)型的全面目標(biāo)價值。其對云原生概括為4個要點——DevOps+持續(xù)交付+微服務(wù)+容器,其實筆者更傾向于將DevOps與持續(xù)交付合二為一,統(tǒng)稱DevOps——畢竟DevOps敏捷交付體系建設(shè)就是為了持續(xù)交付、敏捷迭代業(yè)務(wù)——因此從云原生宣傳推廣的角度出發(fā),筆者將云原生體系(而不只是云原生技術(shù)架構(gòu)或者云原生應(yīng)用特征)的定義,還是濃縮為傳統(tǒng)三駕馬車(DevOps+微服務(wù)+容器),這樣既囊括技術(shù)解決方案,也能包含研發(fā)管理建設(shè)思路,能真正成為解鎖企業(yè)數(shù)字化轉(zhuǎn)型的“他山之石”。

二、云計算演進(jìn)之路

? ? ? ? 這三駕馬車中“容器”是承上啟下的至關(guān)重要的一層,往下,容器技術(shù)代表著IT基礎(chǔ)設(shè)施(計算、存儲、網(wǎng)絡(luò)等)在資源虛擬化技術(shù)成熟并商用(第二代云計算)之后,在資源標(biāo)準(zhǔn)化道路上的又一關(guān)鍵進(jìn)步。
? ? ? ? 先回過頭去看第一代云計算技術(shù)代表VMare的虛擬化之路,其最初是誕生于解決應(yīng)用程序在不同操作系統(tǒng)與兼容型PC機(jī)上統(tǒng)一運(yùn)行的痛點問題,具體實現(xiàn)目標(biāo)是屏蔽WinTel時代大量兼容型臺式機(jī)的硬件差異、OS差異(特別是Windows與Linux兩大陣營),以期通過虛擬化構(gòu)建一個“行之四海皆準(zhǔn)”的標(biāo)準(zhǔn)化計算環(huán)境,供目標(biāo)應(yīng)用程序無差別運(yùn)行。繼而,在此基礎(chǔ)上再拓展出資源動態(tài)擴(kuò)縮容等企業(yè)級商用支撐能力,最終形成企業(yè)IT架構(gòu)中Iaas層的商用解決方案,這便有了第一代的云計算技術(shù)。
? ? ? ? 在1999年當(dāng)時的時代背景下,其在資源虛擬化方面的貢獻(xiàn)是革命性的,但是VMare基于普適全市場PC機(jī)的宿主機(jī)型設(shè)計思路,必然需要花費(fèi)了大量架構(gòu)精力去做各類異構(gòu)資源的兼容,因此其虛擬化技術(shù)從一開始就是“負(fù)重奔跑”的,其帶來的巨大性能損耗也是可以預(yù)見的。
? ? ? ? 但是,不可否認(rèn),其代表的第一代云計算技術(shù),為企業(yè)IT架構(gòu)特別是運(yùn)行架構(gòu)的發(fā)展做出了非常卓越的貢獻(xiàn),其彈性擴(kuò)容、資源超賣、故障遷移等云計算典型能力特征,在云計算技術(shù)演進(jìn)到第三代的今天,依然是評估一朵云基礎(chǔ)技術(shù)能力的關(guān)鍵性基礎(chǔ)指標(biāo)。
? ? ? ? 在VMware將計算資源虛擬化的基礎(chǔ)上,云計算第二代技術(shù)集中體現(xiàn)在“軟件可定義”這個關(guān)鍵詞上,其中尤為值得大書特書的便是軟件定義網(wǎng)絡(luò)(簡稱SDN)。嚴(yán)格來說,在VMware將計算資源實現(xiàn)虛擬化之后,云平臺已經(jīng)具備一定的軟件定義計算的能力了,而SDN的出現(xiàn)則大幅下推了軟件可定義的IT體系架構(gòu)下界——由計算層(主要是OS)下推到了網(wǎng)絡(luò)層,而又大幅擴(kuò)展了企業(yè)IT架構(gòu)虛擬化的范圍——從單機(jī)拓展到了大型數(shù)據(jù)中心級別。
? ? ? ? 這種演進(jìn)帶來的技術(shù)進(jìn)化也不僅僅是將網(wǎng)絡(luò)控制能力虛擬化、軟件化,而是已經(jīng)開始產(chǎn)生變革性的局部IT體系架構(gòu)升華。例如,頭部云廠商,在設(shè)計云內(nèi)VPC之間互聯(lián)互通方案時,不約而同地采用了隧道直通方案,從而省去了傳統(tǒng)云上VPC互通時的網(wǎng)元中轉(zhuǎn)環(huán)節(jié),這一點與傳統(tǒng)云廠商的設(shè)計思路形成鮮明的方案對比。傳統(tǒng)云廠商依然是按照傳統(tǒng)機(jī)房網(wǎng)絡(luò)思維在設(shè)計云上網(wǎng)絡(luò)方案,說直白一點,不過是把傳統(tǒng)IDC網(wǎng)絡(luò)聯(lián)通方案Copy到了云上,而頭部公有云廠商,因為有大流量、高并發(fā)等高性能互聯(lián)網(wǎng)場景訴求,于是在云上網(wǎng)絡(luò)方案的設(shè)計上做了更大膽的突破。其實,如果從這個角度再反過頭來審視“網(wǎng)絡(luò)的本質(zhì)”,你會對網(wǎng)絡(luò)有更高一層的認(rèn)知(后續(xù)有機(jī)會我們再來深入探討)。
? ? ? ? 第二代云計算技術(shù)伴隨著AWS、Azure、阿里云、騰訊云、華為云等公有云廠商的崛起而發(fā)揚(yáng)光大,直至今日依然時刻影響著各類大中小型企業(yè)的IT架構(gòu)演進(jìn),“上云”已然成為企業(yè)IT架構(gòu)升級的必由之路。
? ? ? ? 然而,IT上云的“前浪”還未上岸,云原生轉(zhuǎn)型的“后浪”又已經(jīng)轟然而至。隨著容器技術(shù)大規(guī)模應(yīng)用于云上,基本可以判斷,云計算技術(shù)演進(jìn)到第三代了,即云原生時代。而且云原生時代,對于云的運(yùn)用已經(jīng)提升到了全新的層次。以往云計算對企業(yè)IT架構(gòu)的支撐僅僅是停留在IT資源層面,即其只是作為一項IaaS層的資源管理落地方案來實現(xiàn)其價值的,貢獻(xiàn)巨大但依然不夠全面徹底。而云原生在基于云計算技術(shù)的基礎(chǔ)上,演進(jìn)成了一整套體系解決方案——容器、微服務(wù)、DevOps。當(dāng)然,這三架馬車是需要長于云上的(現(xiàn)階段也有大量專家脫離云,基于其商業(yè)目的或自身技術(shù)認(rèn)知局限,獨獨側(cè)重容器來談云原生,這是非常片面因而值得商榷的),筆者的觀點也非常直接鮮明——只有充分結(jié)合云的能力形成的云原生解決方案,才是真正能有質(zhì)變性提升、可落地的解決方案,才能真正發(fā)揮云原生1+1+1>3的效果。

三、基于云計算再來看云原生三駕馬車——老樹發(fā)新芽
? ? ? ? 如果單論三駕馬車的單項解決方案,其實都不是新玩意。這三者,也就容器技術(shù)看似相對新潮一點,但其實早在2001年,通過 Jacques Gélinas 的?VServer 項目,隔離環(huán)境的實施就進(jìn)入了 Linux 領(lǐng)域,這便是容器技術(shù)的雛形。只不過直到2008年,Docker的崛起才讓容器技術(shù)發(fā)揚(yáng)光大、廣為人知(引自RedHat官網(wǎng)《容器簡史》)。因當(dāng)前Docker+Kubernetes已成容器技術(shù)領(lǐng)域事實上的產(chǎn)業(yè)標(biāo)準(zhǔn),因此本文所討論容器相關(guān)技術(shù)均以此兩類技術(shù)為默認(rèn)基準(zhǔn)。
? ? ? ? 微服務(wù)技術(shù),就更不新鮮了,借助下圖,軟件應(yīng)用架構(gòu)從最初的單體式架構(gòu),到上個世紀(jì)80年度的MVC架構(gòu)(1979年,Trygve Reenskaug在一篇論文中首次提出MVC模型),再到前后端分離后的跨進(jìn)程互訪的RPC架構(gòu)(Birrell和Nelson在1984 發(fā)表于ACM Transactions on Computer Systems 的論文《Implementing remote procedure calls》對 RPC 做了經(jīng)典的詮釋),再到上個世紀(jì)90年代中期提出、2002年Gartner提攜的SOA,再到2014年Martin Fowler 與 Jam es Lewis共同提出的微服務(wù),其一路就是IT軟件開發(fā)技術(shù)的演進(jìn)發(fā)展歷程。就技術(shù)本質(zhì)而言,從RPC架構(gòu)其實就已經(jīng)與現(xiàn)在的微服務(wù)技術(shù)同宗同源了。

? ? ? ? 而DevOps,最早于2009 年6月,在美國圣荷西舉辦的第二屆Velocity大會上,一個名為“10+ Deploys Per Day: Dev and Ops Cooperation at Flickr”的演講,便成為了DevOps 萌發(fā)的標(biāo)志。
? ? ? ? 所以若單論各單項技術(shù)(這里的“技術(shù)”不單指開發(fā)技術(shù),而是涵蓋整個信息技術(shù)知識體系的各項專業(yè)技術(shù),有此基礎(chǔ)認(rèn)知共識,才比較適合閱讀本文),都是10年前的“老”技術(shù)了,但是在云上進(jìn)行組合后,所產(chǎn)生的“化學(xué)反應(yīng)”才真正標(biāo)志著云原生時代的到來!
1、云+容器質(zhì)變性推進(jìn)計算環(huán)境的運(yùn)行標(biāo)準(zhǔn)化進(jìn)程
? ? ? ? 當(dāng)前第三代云計算技術(shù),首先是基于第二代云計算廠商的公有云大規(guī)模實踐發(fā)展而來,即便沉淀到私有云領(lǐng)域,基本都是沿用公有云架構(gòu),再做的企業(yè)級能力下沉,其在基礎(chǔ)資源管理方面,也充分體現(xiàn)了公有云的特點。
????首先便是基礎(chǔ)硬件的標(biāo)準(zhǔn)化思路的變革——第二代云對于基礎(chǔ)硬件的標(biāo)準(zhǔn)化思路與第一代云截然相反,第一代云計算技術(shù)企圖以軟件虛擬化技術(shù)去全面兼容市面參差不齊的異構(gòu)PC機(jī),也正由于在普適兼容方面投入過多,從而導(dǎo)致性能損耗過大,而第二代云在此方面做了減法,基于大規(guī)模公有云實踐經(jīng)驗,其反向要求入云納管的硬件設(shè)備,特別是計算服務(wù)器首先必須是標(biāo)準(zhǔn)化的(甚至根據(jù)云廠商要求進(jìn)行定制),要求滿足云廠商的硬件兼容標(biāo)準(zhǔn),由此來大幅降低硬件兼容范圍,基于此再來進(jìn)行針對性調(diào)優(yōu)、推動虛擬化核心技術(shù)沉入OS內(nèi)核、推動硬件虛擬化技術(shù)支持,以此來大幅降低虛擬化性能損耗。目前頭部廠商均宣稱其基于KVM的虛擬機(jī)技術(shù),性能損耗均已能降低到5%以內(nèi)(優(yōu)秀者可以到3%以內(nèi))。
? ? ? ?由此可以預(yù)見,全行業(yè)級別的云基礎(chǔ)硬件規(guī)格標(biāo)準(zhǔn)必然在不遠(yuǎn)的將來出臺,并由此倒推整機(jī)硬件廠商進(jìn)行標(biāo)準(zhǔn)化生產(chǎn),再上溯倒逼上游零部件廠商標(biāo)準(zhǔn)化生產(chǎn),最終實現(xiàn)全行業(yè)全產(chǎn)業(yè)鏈路的標(biāo)準(zhǔn)化。
? ? ? ? 第二點,隨著AWS的Nitro硬件卡、阿里神龍卡的出現(xiàn),結(jié)合英特爾的DPDK技術(shù),出現(xiàn)了服務(wù)器上網(wǎng)絡(luò)處理指令“繞過”CPU、將流量卸載到PCI擴(kuò)展卡處理的性能優(yōu)化方案,此方案能大幅提升云上網(wǎng)絡(luò)性能、全云存儲性能(追趕者還有騰訊云的黑石、華為云的擎天等),應(yīng)用此類智能網(wǎng)卡的服務(wù)器在特定領(lǐng)域(例如高性能計算、云存儲、裸機(jī)容器)將擁有無可比擬的性能優(yōu)勢。
? ? ? ? 基于此類應(yīng)用的前景,隨著頭部云廠商的市場占比不斷攀升,定制版智能網(wǎng)卡、定制版服務(wù)器的市場占比也將不斷提升,繼而可以進(jìn)一步展望一下,智能網(wǎng)卡能否分擔(dān)更多特定CPU/GPU的任務(wù)指令(全局內(nèi)存、CPU資源調(diào)度等,神龍卡能力已經(jīng)涵蓋CPU、內(nèi)存、存儲、GPU等關(guān)鍵計算能力,基本等同于一臺低配服務(wù)器)?而回到本節(jié)中心觀點,在通過增加PCI擴(kuò)展卡方式提升通用云服務(wù)器特定領(lǐng)域性能的同時(目前已實現(xiàn)的是網(wǎng)絡(luò)、存儲,GPU應(yīng)該是可以預(yù)見的),進(jìn)一步增加了云廠商在服務(wù)器領(lǐng)域的標(biāo)準(zhǔn)制定話語權(quán),也更能反向推動傳統(tǒng)服務(wù)器廠商的標(biāo)準(zhǔn)化生產(chǎn)程度。
? ? ? ? 第三點,過往云端計算資源的全局調(diào)度、彈性伸縮能力,均是依托虛擬化技術(shù)(不論是VMware的軟件虛擬化,亦或VT-x/VT-d的通用硬件虛擬化技術(shù))來實現(xiàn),本質(zhì)上依然是借力云服務(wù)器的宿主機(jī)操作系統(tǒng)的資源調(diào)度能力來實現(xiàn),而在“云服務(wù)器定制化、SDN技術(shù)的出現(xiàn)使得云上網(wǎng)絡(luò)也可軟件定義、智能網(wǎng)卡能力不斷強(qiáng)化”這三方面因素驅(qū)動下,操作系統(tǒng)級控制能力下沉、軟硬協(xié)同一體化的硬件級全云資源調(diào)度管理成為了可能,這一點對于傳統(tǒng)虛機(jī)類應(yīng)用或許收益不那么明顯,但是在容器領(lǐng)域,將是革命性的。
? ? ? ?容器技術(shù)如果要達(dá)到真正生產(chǎn)級可用,說到底,依然需要云服務(wù)器上宿主OS環(huán)境的全局統(tǒng)一調(diào)度可控,故若不能做到OS控制能力下沉到硬件,還是基于“宿主機(jī)+VM“模式(全局資源調(diào)度依然只能依靠虛擬化技術(shù),也即是常見的宿主OS+虛擬OS+Docker容器的三級運(yùn)行模式),始終是無法實現(xiàn)物理機(jī)部署模式的性能替代的。只有真正實現(xiàn)裸金屬容器方案落地(即宿主OS上直接運(yùn)行容器,并實現(xiàn)資源自動彈性擴(kuò)展),才能徹底替代物理機(jī)部署模式,來滿足企業(yè)日益高漲的高性能、大并發(fā)、高算力、高容錯的互聯(lián)網(wǎng)場景需求。只有有了OS控制能力下沉到硬件,容器便能真正運(yùn)行在硬件服務(wù)器環(huán)境(即裸金屬),實現(xiàn)硬件級的彈性擴(kuò)縮容,上述互聯(lián)網(wǎng)場景類應(yīng)用的容器化改造才有達(dá)到性能基線要求的可能性,系統(tǒng)云原生改造的第一步”遷移上云“才能真正全面實現(xiàn)。
? ? ? ??第四點,容器服務(wù)長在云上,相比物理機(jī)環(huán)境或者VMare虛機(jī)環(huán)境,容器網(wǎng)絡(luò)性能可借力SDN得到大幅提升,同時可將容器網(wǎng)絡(luò)平面與云上網(wǎng)絡(luò)平面拉平,做統(tǒng)一規(guī)劃設(shè)計,也便于容器化應(yīng)用與傳統(tǒng)應(yīng)用的統(tǒng)一網(wǎng)絡(luò)管理與安全策略控制。當(dāng)前開源容器網(wǎng)絡(luò)解決方案如flannel、calico、weave、Canal等,均是基于過往Internet模式下海量分散單機(jī)尋址路由的背景進(jìn)行設(shè)計,方案著力點都在容器或宿主機(jī)。而云上容器服務(wù)的網(wǎng)絡(luò)解決方案,從調(diào)研來看,均是直接借力SDN能力,將容器網(wǎng)絡(luò)與Overlay網(wǎng)絡(luò)拉平,依托VPC、智能網(wǎng)卡等先進(jìn)云平臺技術(shù)統(tǒng)一提升容器網(wǎng)絡(luò)性能,方案設(shè)計出發(fā)點便是以全數(shù)據(jù)中心容器網(wǎng)絡(luò)傳輸整體性能提升為目標(biāo),不論方案高度還是深度均非開源純?nèi)萜骶W(wǎng)絡(luò)方案可望其項背。這也是筆者堅持”不能脫離云單以容器來論云原生“的另一核心原因!
2、云+容器+微服務(wù),拔高基礎(chǔ)設(shè)施上限至PaaS層
? ? ? ? 依托云平臺的資源軟件可定義能力,搭建統(tǒng)一大集群規(guī)格的PaaS服務(wù),為傳統(tǒng)企業(yè)瞬時提供能比肩一線互聯(lián)網(wǎng)企業(yè)高性能、高可靠性的中間件服務(wù)與應(yīng)用開發(fā)框架能力,并進(jìn)一步推動企業(yè)內(nèi)開發(fā)框架標(biāo)準(zhǔn)化進(jìn)程。
? ? ? ? 微服務(wù)的核心思想便是能力拆分、功能解耦,其與容器是天然一對——服務(wù)的并發(fā)彈性支撐可通過容器的水平伸縮能力來匹配實現(xiàn)、服務(wù)的高可靠可通過容器的自動恢復(fù)特性來滿足。同時,基于應(yīng)用服務(wù)的全面容器化之后,應(yīng)用開發(fā)框架中的大部分非業(yè)務(wù)相關(guān)的框架性能力便能與業(yè)務(wù)應(yīng)用解耦,以SideCar方式獨立運(yùn)行,既能實現(xiàn)應(yīng)用框架獨立于業(yè)務(wù)應(yīng)用的自主升級,也能使業(yè)務(wù)開發(fā)團(tuán)隊更加聚焦于業(yè)務(wù)功能開發(fā)。同時,為跨系統(tǒng)、跨技術(shù)棧的全鏈路服務(wù)追蹤、全局服務(wù)治理提供了技術(shù)落地可能性,這便是ServiceMesh。
? ? ? ? 而即便不用容器技術(shù),僅基于云+微服務(wù)使用場景,應(yīng)用開發(fā)相關(guān)的中間件服務(wù)(例如常見的Redis、MQ等)也能通過云端標(biāo)準(zhǔn)PaaS服務(wù)提供,并支持分租戶、實例級隔離使用。此類公共組件,依托云端的大規(guī)模集群部署能力,可輕松提供比肩一線互聯(lián)廠商的大并發(fā)、高性能、自動彈性擴(kuò)縮容的高性能中間件服務(wù),為業(yè)務(wù)應(yīng)用的性能提升、穩(wěn)定性提升提供統(tǒng)一化、規(guī)模化、專業(yè)化技術(shù)服務(wù)保障。
? ? ? ?在第三代云計算技術(shù),PaaS服務(wù)也成為了云端基礎(chǔ)設(shè)施,在短時間內(nèi)大幅提升傳統(tǒng)企業(yè)系統(tǒng)的運(yùn)行性能、穩(wěn)定性的同時,也能大幅降低企業(yè)應(yīng)用的中間件建設(shè)成本、開發(fā)框架的維護(hù)成本、架構(gòu)人員能力要求與投入,同時,借助業(yè)務(wù)上云,也能輕松實現(xiàn)應(yīng)用開發(fā)框架收斂、中間件服務(wù)標(biāo)準(zhǔn)化,將其版本迭代管理、能力演進(jìn)節(jié)奏都依托云端實現(xiàn),其企業(yè)架構(gòu)治理前景也是非??捎^的。
3、云+容器+DevOps,依托運(yùn)行標(biāo)準(zhǔn)化,降低DevOps對接成本,真正使研發(fā)全流程自動化成為可能。
? ? ? ? 基于云+容器來進(jìn)行DevOps敏捷化運(yùn)作,其核心收益點在于——容器依賴自包含特性帶來的CD環(huán)節(jié)(持續(xù)發(fā)布)的對接改造成本的大幅降低、基礎(chǔ)運(yùn)行環(huán)境大幅軟件可定義之后系統(tǒng)資源的自動化申請與創(chuàng)建使得研發(fā)全流程自動化有了真正落地可能。
? ? ? ? DevOps這個概念并不新鮮,但是在云原生時代以前,除了一線互聯(lián)網(wǎng)企業(yè),鮮有成功案例,其一大原因在于應(yīng)用依賴環(huán)境的繁雜,特別傳統(tǒng)企業(yè),歷史遺留系統(tǒng)多、技術(shù)棧龐雜、框架版本碎片化嚴(yán)重,若要在CD環(huán)境對接改造所有系統(tǒng)的各類運(yùn)行環(huán)境,對接成本高、技術(shù)復(fù)雜度高、發(fā)布后監(jiān)控反饋環(huán)節(jié)對接難度大,最終導(dǎo)致改造后系統(tǒng)運(yùn)行風(fēng)險反而不可控。故而只能在Java等少數(shù)“先進(jìn)且標(biāo)準(zhǔn)”、對接成本更低的領(lǐng)域試點,全面推廣幾無可能。
? ? ? ? 而容器技術(shù)出現(xiàn)后,業(yè)務(wù)應(yīng)用統(tǒng)一打包成依賴自包含的容器鏡像,對運(yùn)行環(huán)境的依賴程度大幅降低,DevOps的流水線系統(tǒng)只需要對接云上統(tǒng)一的容器發(fā)布系統(tǒng),即可輕松實現(xiàn)各類技術(shù)棧應(yīng)用的自動化發(fā)布,再依托云平臺全棧的容器運(yùn)行狀態(tài)監(jiān)控機(jī)制、ServiceMesh流量劫持等能力,在應(yīng)用發(fā)布后狀態(tài)監(jiān)控環(huán)節(jié),也有了可低成本實現(xiàn)的標(biāo)準(zhǔn)化解決方案。整體自動化發(fā)布方案也更加立體,更具備生產(chǎn)落地可行性。
? ? ? ? 第二個原因在于,在傳統(tǒng)機(jī)房的基礎(chǔ)設(shè)施運(yùn)行環(huán)境,系統(tǒng)運(yùn)行資源、網(wǎng)絡(luò)、安全策略等程序運(yùn)行相關(guān)的配置類資源的下發(fā)多為手工操作、流程斷節(jié),即便在編碼研發(fā)環(huán)節(jié)能做到持續(xù)集成、自動化構(gòu)建,應(yīng)用包自動化推送與部署,中間環(huán)節(jié)的應(yīng)用配置下發(fā)或變更依然是手工操作,并不能真正實現(xiàn)全流程自動化,也就依然無法實現(xiàn)快速迭代發(fā)布。而在第二代云計算技術(shù)之后,有賴云上技術(shù)、存儲、網(wǎng)絡(luò)、安全等資源的軟件可定義,程序運(yùn)行所需配置類資源通過調(diào)用云端標(biāo)準(zhǔn)接口即可開通或下發(fā),使全流程自動化發(fā)布真正成為可能。
? ? ? ? 第三點在于,在ServiceMesh出現(xiàn)以前,大部分應(yīng)用運(yùn)行保障相關(guān)的框架級非功能特性(如彈性、韌性、安全、可觀測性、灰度等)均依賴不同技術(shù)棧的應(yīng)用開發(fā)框架能力來保證,甚至如在開發(fā)框架上述能力缺失的情況下,還需要業(yè)務(wù)開發(fā)團(tuán)隊自建,這就導(dǎo)致了此類特性涉及的運(yùn)維自動化、運(yùn)行監(jiān)控等工具能力也需要重復(fù)建設(shè)多套,很難做標(biāo)準(zhǔn)統(tǒng)一的同規(guī)格高質(zhì)量建設(shè),因此即便前面CI/CD做到了全流程自動化,自動化發(fā)布后也不敢在生產(chǎn)無值守運(yùn)行。這一點在容器環(huán)境,伴隨著ServiceMesh技術(shù)的出現(xiàn),才真正有了標(biāo)準(zhǔn)化解法。
? ? ? ? 綜上所述,在云原生時代,通過云上環(huán)境的軟件可定義能力、標(biāo)準(zhǔn)化能力,已經(jīng)可以使大量研發(fā)管理操作、運(yùn)維監(jiān)控操作由過去的手工處理變?yōu)樽詣踊?、?biāo)準(zhǔn)化的系統(tǒng)動作,從而整體性提升企業(yè)IT運(yùn)維自動化水平、質(zhì)變性躍升軟件系統(tǒng)基礎(chǔ)架構(gòu)能力與服務(wù)穩(wěn)定性,最終加快業(yè)務(wù)研發(fā)敏捷迭代速度。

? ? ? ? 也因此,我們可以看到,云原生時代的三駕馬車,已經(jīng)不僅僅是針對云原生應(yīng)用的技術(shù)面的能力表述,還蘊(yùn)含了依托云的IT研發(fā)全生命周期管理含義與研發(fā)團(tuán)隊組織思想,因為更立體。在此,我們可以大膽定義——云原生體系是企業(yè)管理模式向互聯(lián)網(wǎng)模式進(jìn)化的核心關(guān)鍵技術(shù)與管理思想、組織流程的深度融合,應(yīng)該也能成為實現(xiàn)國家的互聯(lián)網(wǎng)+戰(zhàn)略的一條重要路徑,也必將大幅推動中國乃至世界企業(yè)的互聯(lián)網(wǎng)化進(jìn)程!