鯨品堂|淺析云原生

2022-11-15 228

什么是云原生

PART 01


前些年云計算、分布式架構、微服務架構概念比較火熱,這一兩年,大家提分布式架構、微服務架構的聲音少了很多,轉而云原生,云原生架構 這些字眼頻繁的出現,什么是云原生,云原生架構跟之前提的分布式架構,微服務架構有什么區別呢,帶著這樣的疑問,我們尋找云原生的定義。當前對云原生的理解各有各的說法,沒有一個統一標準化的描述,現在大家看得比較多的一種說法是CNCF最新的對云原生的定義:


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.


云原生技術有利于各組織在公有云、私有云和混合云等現代動態環境中,構建和運行可彈性擴展的應用。云原生的代表技術包括容器、服務網格、微服務、不可變基礎設施和聲明式API。這些技術能夠構建容錯性好、易于管理和便于觀測的松耦合系統。結合強大的自動化手段,云原生技術使工程師能夠以極少的工作量實現頻繁和可預測的重大變更。


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



為什么要上云

PART 02


云原生架構是為了幫應用更好地在云上使用。那我們首先要了解為什么應用要上云。


從技術的視角來看,有兩個好處。


  • 上云第一個好處,是實現應用的彈性伸縮,云是基于分布式架構來搭建的,天生就帶有水平擴展能力的基因。通過這樣的技術特性,保證系統業務量快速增長時,應用系統的支撐能力也能有效得到保障,另外可以提升基礎設施的使用效率,在業務高峰時擴容資源運行,在業務低峰時縮容資源運行。減少了資源的冗余規劃建設。

  • 上云第二個好處,是給產品交付模式帶來了變化。原有線下的產品交付是每個產品有各自的構建物,按一定的途徑交付給項目,然后項目部署人員按產品部署文檔,在主機上進行人工操作或借助于工具實現產品部署。由于缺少標準化的交付動作和自動化的交付流程,導致產品交付的周期比較長,交付的效率比較低,而且這種交付模式無法支撐大規模的產品實例的部署要求。上云之后,基于持續交付+容器化的技術,將軟件和產品通過CD流程打包成標準化的鏡像,高效地實現在多個云環境的快速部署,讓敏捷交付的理念成為現實。交付周期也由原來的月為單位,提升至小時或天為單位。


從業務視角來看,上云給業務的商業模式帶來了創新的土壤。線下的系統實現在線化的轉變,業務價值的交互效率得到大大地提升。上云為企業釋放成本紅利,幫助企業從原來的 CAPEX 模式轉變為 OPEX 模式。系統上云后,系統跟上下游客戶聯系得更緊密,為系統的生態發展提供了無限可能,有利于更多的業務創新。



應用上云的方式有哪些

PART 03


看到上云帶來的好處,業務就需要根據自身的實際情況,選擇合適的上云方式。




第一種方式:re-host




在不改變應用程序運行環境的前提下將系統和數據遷移上云。直接遷移一般是將物理機遷移至虛擬機,或將虛擬機遷移至虛擬機。如果企業希望快速上云或者有大型應用需要上云,直接遷移是最為合適和有效的一種遷移方法。




第二種方式:   re-platform




在不改變應用核心架構的前提下,將數據和系統遷移上云時,對用用程序做一些簡單的云優化,這種方法稱為“修補后遷移”。比如,用云服務商提供的數據庫服務代替原有的關系型數據庫,或用云服務商提供的消息隊列服務代替原有的自建消息中間件。大多數企業都會用這種方法來降低管理成本,并提高效率。




第三種方式:   re-factor




“重新構建”即將應用的架構和開發模式重建,實現云原生的應用服務。當現有的應用環境難以滿足日后的使用,或性能和規模無法滿足日后的需求,將采用“重新構建”這種遷移模式?!爸匦聵嫿ā毕鄬ζ渌麕追N方法,成本最高,但是從長遠來看,更加滿足未來的業務和系統的需求。


這三種方式上云考慮的因素對比如下表格所示:


圖片關鍵詞



云原生架構使用的技術介紹

PART 04


早期提到云原生架構技術,有三駕馬車的提法,微服務+容器化+DevOPS。具于這三種技術體系,應用能實現re-factor模式的上云目標。這是目前已上云的大部分企業采用的技術手段。


另外云原生架構是在不斷發展的,一方面,隨著業務發展的需要,物聯網,5G技術普及使用,企業應用也不滿足單一云上運行的形態,希望實現多云,混合云,云邊協同,邊緣計算等多種形態下更好的運行。另一方面,云原生的技術也在不斷地改革創新,例如Service Mesh, Serverless 等技術的出現,降低業務上云的復雜度,降低業務在云上運行的成本。因此云原生架構使用的技術也是在不斷更新換代的。CNCF 認為的云原生架構技術添加了服務網絡,不可變基礎設施和聲明式API 這三種技術。


所以我們要從云原生架構的核心理念來看,只要是有助于幫助應用更好實現云原生的技術實踐,都應當歸為云原生架構技術,接下來介紹一下云原生架構主要使用的哪些技術。




微服務




微服務架構是相對于單體架構來說的,兩者分屬不同的架構風格。在微服務架構中,服務是一個單一的、可獨立部署的軟件組件,它實現了一些有用的功能,服務的API封裝了其內部實現,與單體架構不同,開發人員無法繞過服務的API直接訪問服務內部的方法和數據,因此,微服務架構強制實現了應用程序的模塊化。


微服務架構的最核心特性是服務之間的松耦合性。服務之間的交互采用API完成,這樣做就封裝了服務的實現細節,從而實現了在不影響客戶端的情況下,對實現方式做出修改。


微服務架構通過將大的系統按照業務服務的粒度進行拆分,每個服務可獨立開發、測試、驗證和部署,這樣分解后,帶來的好處有如下幾點:


使大型的復雜應用程序可以持續交付和持續部署


每個服務都相對較小并容易維護


服務可以獨立部署


服務可以獨立擴展


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


更容易實驗和采納新的技術


更好的容錯性


但微服務也不是銀彈,引入微服務是有成本的,使用它會引入更多技術挑戰,比如問題定位的復雜度,日志分析的復雜度,應用可觀測性的復雜度,應用高可用的復雜度等方面,企業需要根據業務的不同的階段進行合理的引入,不能完全為了微服務而“微服務”。


浩鯨科技在微服務的技術領域提供了微服務框架產品ZDubbo,微服務治理平臺產品SGP。


SGP產品功能圖示:圖片關鍵詞

圖片關鍵詞




DevOPS




DevOPS包含Dev和OPS兩個領域,Dev領域踐行敏捷研發的理念,實現產品高頻的持續交付能力;OPS領域提供各種運維能力,滿足系統可觀測性的需求。


圖片關鍵詞

浩鯨科技在DevOPS領域提供ZCM產品




容器




基于容器鏡像的技術,直接將一個應用運行所需的完整環境都打包進了鏡像。這樣就可以實現應用的集裝箱式的交付能力,提升了交付效率;另一方面,基于容器輕量化的特性,滿足云應用彈性伸縮時,快速拉起應用的能力要求。


圖片關鍵詞

浩鯨科技在容器領域提供容器云平臺產品圖片關鍵詞




云原生中間件




云原生中間件提供更多的云上應用運行所需的技術組件能力,提供高性能,高穩定,易使用,易運維的技術組件,幫助業務應用屏蔽技術復雜度,實現技術的復用。


浩鯨科技在中間件領域提供分布式緩存中間件產品ZCache, 分布式消息中間件產品ZMQ,分布式數據庫中間件產品ZDAAS。


圖片關鍵詞

ZCache產品功能示意圖

圖片關鍵詞
ZMQ產品功能示意圖

圖片關鍵詞

ZDAAS產品功能示意圖




服務網絡




服務網格是用于處理服務間通信的專用基礎設施層,負責在微服務間進行可靠的請求傳遞。服務網格通常通過一組輕量級網絡代理來實現,這些代理與應用程序代碼一起部署,而不需要感知應用程序本身。


隨著規模和復雜性的增長,服務網格包含的實現的功能越來越多,它的需求包括服務發現、負載均衡、故障恢復、指標收集和監控以及通常更加復雜的運維需求,例如A/B測試、金絲雀發布、限流、訪問控制和端到端認證等。其部署結構如下圖所示:圖片關鍵詞


圖片關鍵詞


服務網格有如下幾個特點:- 應用程序間通訊的中間層 - 輕量級網絡代理 - 應用程序無感知 - 解耦應用程序的重試/超時、監控、追蹤和服務發現 - 實現跨語言的服務通訊能力。




不可變基礎設施




一個工作負載(比如容器、虛擬機等)一旦部署以后就不會被修改。當需要更新,修復或修改某些內容的時候,只需要將新的、經過驗證的工作負載替換舊的即可。


不可變基礎設施的作用主要體現在系統的穩定性方面。傳統的應用程序一旦部署到用戶特定的服務器上以后,服務器系統是會不斷變化的,不是操作系統升級,就是安裝了新的應用,可能引起沖突,導致應用程序需要跟著用戶系統環境的改變而不斷升級,這中間就會不斷地出現新的問題。而不可變基礎設施就規避了所有的這些問題,因為云原生應用是部署在不可變的基礎設施上的,因此就不存在變化的問題。




聲明式API




聲明式API是一種比命令式API更高級的接口設計方式,簡單來說,命令式API提供給用戶怎么做的能力,而聲明式API給用戶提供了做什么的能力?;诼暶魇紸PI,可以讓云應用更輕松的使用基礎設施的能力,讓業務開發的精力聚焦業務本身。



云原生架構成熟度的評估體系

PART 05


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


圖片關鍵詞


圖片關鍵詞



官方微信公眾號

浩鯨云計算科技股份有限公司 版權所有 2003-2023

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

亚洲精品免费视频_热99re6久精品国产首页青柠_精品国产专区91在线_亚洲美洲欧洲偷拍片区