鯨品堂|淺(qiǎn)析雲原生

2022-11-15 256

什麽是雲原生(shēng)

PART 01


前些年(nián)雲計(jì)算、分布式架構、微服務架構概念比較火熱,這(zhè)一兩年,大家提分布(bù)式架構、微(wēi)服務架(jià)構的聲音少了很多,轉而雲原生,雲原生架構 這些字眼頻繁的(de)出現,什麽是雲原生,雲原生架(jià)構跟之前提的分布式架構,微服務架構有什麽區別呢(ne),帶著這樣的(de)疑問,我們尋找雲原生的定義。當前對雲原生的理解各有各(gè)的說法,沒有一個統一標準化的描述(shù),現在大家(jiā)看得比(bǐ)較多的一種說(shuō)法是CNCF最新的對雲原生的定(dìng)義:


Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.


These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.


雲原生技術有利於各組織在公有雲、私有雲(yún)和混合雲等現代動態環境(jìng)中,構建(jiàn)和運行可彈(dàn)性擴展的應(yīng)用。雲(yún)原生的代表技術包括容器、服務網格、微服務、不可變基礎(chǔ)設施和聲明式API。這些技術能夠構建容錯性好、易於管理和便於觀測的鬆耦(ǒu)合係統。結合強大的自動化手段,雲原生技術(shù)使工程師能夠以極少的工作量實現頻繁和可(kě)預(yù)測的重大變更。


相信大家初次看到這個解釋,還是不能很好地理解雲原生。本文就(jiù)試圖以白話的方式來介紹一下雲原生相關的概念。雲原生的單詞是"Cloud Native", Native 在(zài)英文中有土著的意思,意味著雲應用像土著一樣(yàng)適應雲的(de)環(huán)境,熟練使用(yòng)雲環境的彈性(xìng)等能力,也能從容麵對各種雲環境帶來的複雜度問題。而雲原生架構就是為了幫助應用更好(hǎo)的以雲原生的方(fāng)式在雲上運行(háng)的一組架構原則和最佳(jiā)實踐的集合。雲原生架構的核心思想在於將雲應用中的非業務代碼部(bù)分進行最(zuì)大化的剝離,讓雲基礎設施接管應用大量的非功能特性,例如(rú)彈性伸縮能力,應用高可用能力,應用故障自愈(yù)能力(lì),應用可觀測能力等,讓開發和運維人員更(gèng)專注於(yú)業務本身。



為(wéi)什麽要上雲

PART 02


雲原生架(jià)構是為(wéi)了幫(bāng)應用更好地在(zài)雲(yún)上使(shǐ)用。那我們首先要了解為什(shí)麽應用要上雲。


從技術的視角來(lái)看,有兩個好處。


  • 上雲第一個好處,是(shì)實現應用的彈性伸縮,雲是基於分布式架(jià)構來搭建的,天生就帶有水平擴展(zhǎn)能力的基因。通過這樣的技術特性,保證係統業務量快速增長時,應用係(xì)統(tǒng)的(de)支撐能力也能有效得到保障,另外(wài)可以提升基(jī)礎設施的使用效率,在業務高峰時擴容資源運行,在業務低(dī)峰時縮容資源運行。減少了資源的冗餘規劃建設。

  • 上(shàng)雲第二個好處,是給(gěi)產品交付模式帶來了變化。原有線(xiàn)下的產品交付是每個產品(pǐn)有各自的構建(jiàn)物(wù),按一(yī)定的途徑交付給項目,然後項目部署人員按產品部署文檔,在主機上進行人工操作或借助於工具(jù)實現(xiàn)產品(pǐn)部署。由於缺少標(biāo)準化的交付動作和自動化的(de)交付流程,導致(zhì)產品交付(fù)的周期比較長(zhǎng),交(jiāo)付的效率比較(jiào)低,而且這種(zhǒng)交付模式無法支撐大規模的(de)產品實例(lì)的部署要求。上(shàng)雲之後,基於持續交付+容(róng)器化的技術,將軟件和產品通過CD流(liú)程打包成標準化的鏡像,高(gāo)效地實現在多個雲環(huán)境的快速部署,讓敏捷交付的理念成為現實。交付周期也由原來的月為單位,提升至小時或天為單位。


從業務視角來看,上雲給業務的商業模式帶來了創新的土壤。線下(xià)的係統(tǒng)實現在線化(huà)的轉(zhuǎn)變(biàn),業務價(jià)值的交互效率得到大大地提升。上雲為企業釋放成本紅利,幫助企業從原來(lái)的 CAPEX 模式轉變(biàn)為 OPEX 模式。係統上雲後,係(xì)統跟上下遊客戶聯係得更緊密,為(wéi)係(xì)統的生態發展提供(gòng)了無限可能,有利於更多的業務創新。



應用上雲的方式有哪些

PART 03


看到上雲帶來的好處,業務就需要(yào)根據自身的實際情況(kuàng),選擇合適的上雲方式。




第一種方式:re-host




在不改變應用程序運行環境的前提下將係統(tǒng)和數據遷移上雲。直接遷移一般是將物理機(jī)遷移至虛擬(nǐ)機,或將虛擬機遷移至虛(xū)擬機(jī)。如果企業希望快速上雲或者(zhě)有大型應用需要上雲,直接遷移是(shì)最為合適和有效的一種遷移方法。




第二種方式:   re-platform




在不改變應用核心架構的前提下,將數據和係(xì)統遷移(yí)上(shàng)雲時,對用用(yòng)程序做一些簡單(dān)的雲優化,這種方法稱為“修補後遷移”。比如,用(yòng)雲服務商提供的數據庫服務代替原有的關係型數據庫,或用雲服務商提供的消息隊列服務代替(tì)原有的自建消息中間件。大多數企業都會用這種方(fāng)法來降低管理成本,並提高效率。




第三種方式:   re-factor




“重新構建”即將應用的架構和開發(fā)模式重(chóng)建(jiàn),實現(xiàn)雲原生的應用服務。當現(xiàn)有的應用環(huán)境(jìng)難以滿足日後的使用(yòng),或性能和規模無法滿足日後的需求,將采(cǎi)用“重新構建”這種遷移模式。“重新構建”相對其他幾種方(fāng)法,成本最高,但是從長遠來看,更加滿足未來的業務和係統的需求。


這(zhè)三種方式(shì)上(shàng)雲(yún)考慮的因素對比(bǐ)如下表格所示:


圖片關鍵詞



雲(yún)原生架構使用的(de)技術介紹

PART 04


早期提到雲原生架構技術,有三(sān)駕(jià)馬車(chē)的(de)提(tí)法,微服務+容(róng)器化+DevOPS。具於這三種技術體係,應用能實現re-factor模式的上(shàng)雲目標。這是目前已上雲的大部分企業(yè)采用的技術手段。


另外雲原生架構是在不斷發展的,一方麵,隨著業務發展的需要,物聯網,5G技術普及使用,企業應用也不滿(mǎn)足單一雲上運行的形態,希望實現(xiàn)多雲,混合雲,雲邊協同,邊緣計算等多種形態下(xià)更好(hǎo)的運行。另(lìng)一方麵,雲原生的(de)技術也在不斷地改革創(chuàng)新,例(lì)如Service Mesh, Serverless 等技(jì)術的(de)出現,降低業務上雲的複(fù)雜度,降(jiàng)低業(yè)務在雲上運行的(de)成本。因此雲原生架構使用的技術也是在不斷更新換代的(de)。CNCF 認為的雲原生架(jià)構技術添加了(le)服務(wù)網絡,不可變基礎設施和聲明式(shì)API 這三種技術。


所以我們要從雲原生架構的核心理念來看,隻要是有助於幫助應用更好實現雲原生(shēng)的技術實踐,都應當歸為雲原生架構技術,接(jiē)下來介紹一下雲原生架構主(zhǔ)要使用的哪些技術。




微服務




微(wēi)服務架構是相對(duì)於單體架(jià)構來(lái)說的,兩(liǎng)者分屬不同的架構風格。在微服(fú)務(wù)架構中,服務是一個單一的、可獨立部署的軟件組件(jiàn),它(tā)實現了一(yī)些(xiē)有用的功能,服務(wù)的API封裝了其內部實現,與單體架(jià)構不同,開發(fā)人員無法繞過服務的API直接訪問服務內部的方(fāng)法和數據,因此(cǐ),微服務架構(gòu)強製實現了應用程序的模塊化。


微服務架構的最(zuì)核心特性是服務之間的鬆耦合性(xìng)。服務之間的交互采用API完成,這樣做就封裝了服務的實現細節,從而實(shí)現了在不影響客戶端的情況下,對實現方(fāng)式做出修(xiū)改。


微服務架(jià)構通過將大的係統按(àn)照業務服務的粒度進行拆分,每(měi)個服務可獨立開發、測試(shì)、驗證和(hé)部署,這樣分解後,帶來的好處有如下幾點:


使大型的複(fù)雜應用程序可以持續交付(fù)和持續部署


每個(gè)服務都相對較小並容易維護


服務可以獨立部署


服務可(kě)以(yǐ)獨立擴展


微服務架構可以實現團隊的自治


更(gèng)容易實驗和采納新的技術


更好的容錯性


但(dàn)微服務(wù)也不是銀(yín)彈,引入微(wēi)服務是有成本的,使用它(tā)會引入更多技術(shù)挑戰,比如問題定位的複雜度,日誌分析的複(fù)雜度,應(yīng)用可觀測性的複雜度,應(yīng)用高可(kě)用的複雜度等方麵(miàn),企業需要根據業務的不同的階段進行合理的引入,不能完全為了微服務而“微服務”。


国产亚洲熟妇在线视频科技在微服務的技術領域提供了微服務框架產品ZDubbo,微服務治理平台產品SGP。


SGP產品功能圖示(shì):圖片關鍵詞

圖片(piàn)關鍵詞




DevOPS




DevOPS包(bāo)含(hán)Dev和OPS兩個領域,Dev領域踐行敏捷研發的理念,實現產品高頻的持續交付能力;OPS領(lǐng)域(yù)提供各種運維能力,滿足係統(tǒng)可觀測性的需求。


圖(tú)片關鍵詞

浩(hào)鯨科技在DevOPS領域提供(gòng)ZCM產品




容(róng)器(qì)




基於容器鏡(jìng)像的技術,直接將一個應用運行所需的完整環境都打包(bāo)進(jìn)了鏡像(xiàng)。這樣就可以實現應用的(de)集裝箱式的交付能力,提升了交(jiāo)付效(xiào)率;另(lìng)一方麵,基於容器輕(qīng)量化的特性(xìng),滿足雲應用彈性伸縮時(shí),快速拉起應用的能力要求。


圖片關鍵詞

国产亚洲熟妇在线视频科技在容(róng)器(qì)領域(yù)提(tí)供容器雲平(píng)台產品圖片關鍵詞




雲(yún)原生(shēng)中間(jiān)件




雲原生中間件提供更多的雲上應(yīng)用運行所需的技術組件能力,提供高性能,高穩定,易使用,易運維的(de)技術組件,幫助業務(wù)應用屏蔽技(jì)術複雜度,實(shí)現技術的複用。


国产亚洲熟妇在线视频科技在中間件領域提供分布(bù)式緩存中間(jiān)件產品ZCache, 分布式消息中間件產品(pǐn)ZMQ,分布式數(shù)據庫中間件產(chǎn)品ZDAAS。


圖片關鍵詞

ZCache產品(pǐn)功能示意圖(tú)

圖片關鍵(jiàn)詞
ZMQ產品功能示意圖

圖片關鍵(jiàn)詞

ZDAAS產品功能示意圖




服務網絡(luò)




服務網格是用(yòng)於處理服務間通信的專用基礎設施層,負責在微服務間進行(háng)可靠的請求傳遞。服務網格通常(cháng)通過(guò)一組輕量級網絡(luò)代理來實現(xiàn),這些代理與應用程序代碼一起部署(shǔ),而不需要感知應用程序本身(shēn)。


隨(suí)著(zhe)規模和複雜性的增長,服務網格包含的實現的功能越來越多,它的需求包括服務發現、負載均衡、故(gù)障恢(huī)複、指標收集和監控以及通常更加複雜的運維需求,例如A/B測試(shì)、金絲雀發布、限流、訪問控製和端到端認證等。其(qí)部(bù)署結構如下圖(tú)所示:圖片關鍵(jiàn)詞


圖片關鍵詞


服務網格有如下幾個特(tè)點:- 應用程序間通訊的中(zhōng)間層 - 輕量級網絡代理(lǐ) - 應用程序無感知 - 解耦應用程序的重試/超時、監控、追蹤(zōng)和(hé)服務發(fā)現 - 實(shí)現跨語言的服務(wù)通(tōng)訊能力。




不(bú)可變基礎設施




一個(gè)工作負載(比如容器、虛擬機等)一旦部署以後就不會(huì)被修改(gǎi)。當需要更新,修複或修改某些內容的時候,隻需要將新(xīn)的、經過驗證的工作負載替換舊的即可。


不可變基礎設施的作用主要體現在係統的穩定性方麵(miàn)。傳統的應用程序一旦部署到用戶特定的服務器上以後(hòu),服務器係統是會(huì)不(bú)斷變化的,不是操作(zuò)係統升級,就是安裝了新(xīn)的應用,可(kě)能引起衝(chōng)突,導致應用程序(xù)需要跟著用戶係(xì)統(tǒng)環境的改變而不斷升級,這(zhè)中間就會不斷地出現新的問題。而(ér)不可變基礎設施(shī)就規避了所有(yǒu)的這些問題(tí),因為雲原生應(yīng)用(yòng)是部署在不可變的基礎設施上的,因此就不(bú)存在變化的問題。




聲明(míng)式API




聲明式API是一種比命令式API更高級的接(jiē)口設計方式,簡單來說,命令式API提供給用戶怎麽做的能力,而聲(shēng)明(míng)式API給(gěi)用戶提供了做什麽的能力。基於聲明式API,可以讓(ràng)雲應用更輕鬆的使用基礎設(shè)施的(de)能力,讓業務開發的精力聚焦業務本(běn)身。



雲原生架構成熟(shú)度的評估體係

PART 05


如何評估應用上(shàng)雲落地的成效,阿裏雲給出了雲原生架構成(chéng)熟度模型(SESORA),將雲原生(shēng)化分割成服(fú)務化能力(Service)、彈性能力(Elasticity)、無服務器化程度(dù)(Serverless)、可觀測性(Observability)、韌性能力(Resilience)、自動化水平(píng)(Automation)六個不同維度(SESORA),每個評估維度設立ACNA-1至ACNA-4 四個不同等級並依次計作0至3分,同時設立零級、基礎(chǔ)級、發展級、成熟(shú)級四個不同成熟等級。雲原生(shēng)架構成熟度模型的提出,對企業雲(yún)原生化現(xiàn)狀、能力和發展路徑不清(qīng)晰等問題,給出評估與優化方向,幫助企(qǐ)業(yè)走上數字化轉型(xíng)“最短路徑”。


圖片關鍵詞


圖片(piàn)關鍵詞



官(guān)方微信公眾號

浩(hào)鯨雲計算科技股份有限(xiàn)公司 版權所有 2003-2023

蘇ICP備10224443號-6       蘇公網安備 32011402011374號

国产亚洲熟妇在线视频-亚洲熟妇AV乱码在线观看-亚州国产AV一区二区三区伊在-中文字幕无码人妻少妇免费视频-欧美 日韩 人妻 高清 中文-熟妇人妻中文字幕无码老熟妇-丰满熟女人妻一区二区三-亚洲精品字幕