国产特级全黄一级97毛片,今天最新中文字幕mv高清,天堂av免费在线,日韩av黄,粉嫩av绯色av性色av蜜臀av,日韩福利视频在线,一区二区美女视频

您當前的位置是:  首頁 > 資訊 > 文章精選 >
 首頁 > 資訊 > 文章精選 >

如何利用云原生技術構建現(xiàn)代化應用

2021-07-19 15:46:45   作者:愚奇   來源:CTI論壇   評論:0  點擊:


  今天,云和云計算技術已經(jīng)被企業(yè)廣泛所接受,關于云、云計算、云原生都有非常多的話題,但是我比較想討論的是在所有云當中真正的主角,就是我們的應用。
  因為當企業(yè)應用上云后,這些應用的高可用能力有可能提升了一部分,但仍存有許多問題;而當我們探討上云后這些應用的運維效率,卻未必有很大的提升,因為所有的運維都是基于基礎設施進行的,而云計算是一個比較大的基礎設施的改變;如果我們再問,上云后整個應用的開發(fā)速度是不是得到了極大的提升,這個時候很多人都要說,并不。
  因此,今天主要探討的就是如何利用云原生相關的技術幫助我們的應用去做優(yōu)化,從傳統(tǒng)應用轉變成現(xiàn)代化應用。
  非典型的典型 - 云上眾生相
  我們先采取一個從個體再到整體的形而上的方式,來看一個比較典型的企業(yè)案例。
  這個企業(yè)雖然和很多上云企業(yè)有很多不同,比如說行業(yè)、應用類別、上云動機等等,但他們同時也有很多共同點:比如上云后解決了很多問題但仍然遺留了相當多的問題。這個企業(yè)屬于新零售行業(yè),有不錯的銷售額。
  但是隨著業(yè)務的發(fā)展,傳統(tǒng)的 ERP 軟件已經(jīng)不能滿足業(yè)務發(fā)展的訴求,最主要體現(xiàn)在當他要參與 618、雙十一這樣的年度大促時,他的 ERP 供應商告訴他,他們的軟件并不能支持達到上千或者上萬的 TPS,只能夠支持到百級的 TPS。因此對于這些新零售的電商企業(yè)而言,他們沒有辦法去滿足大規(guī)模業(yè)務發(fā)展的訴求,也因此找到了阿里云。
  阿里云為企業(yè)提供了基于阿里云互聯(lián)網(wǎng)架構的解決方案,也同時讓這些新的互聯(lián)網(wǎng)應用、新的電商平臺應用遷移到阿里云上。整體而言,開發(fā)是找了 ISV 去進行委托開發(fā),把客戶的應用從線下 IDC 遷移到了線上公共云上,在這里面最主要的技術升級是區(qū)域化,上云之后整體的運維是客戶自己的運維部門來負責。整個遷云的過程也非常成功,很好地解決了客戶應用的大規(guī)模問題,使得客戶可以很好地參與 618、雙十一這類的大促。
  同時由于整體軟件也就是這個電商平臺采用的是自研方式,所以比較大地釋放了像傳統(tǒng) ERP 一樣高昂的成本。但由于整體的結構迭代非常快,導致在有一次大促中,由于業(yè)務量非常大,導致原來架構中的一個隱患引發(fā)了比較大的生產(chǎn)事故,對客戶自己而言,他們評估這次事故給他們造成了非常大體量的損失。
  To 云:“不上很焦慮,上了也焦慮”
  所以說今天的很多企業(yè),他們對于上云都有很多的焦慮,體現(xiàn)在他們思考到底要不要上云,因為上云不能只是單純跟風,而是要想上云到底可以為他們解決什么問題。
 
  對于上云之后的企業(yè),他們雖然取得了階段性的成功,也需要思考他們還有哪些問題沒有得到解決。所以說不管有沒有上云的企業(yè),他們都非常焦慮,這就體現(xiàn)在他們都在思考怎么樣才能很好地縮短研發(fā)周期,以支持快速的業(yè)務發(fā)展需要;怎么樣去提升整體的運維效率,并在這個過程中讓他們的 IT 部門具備很強的控制力;在整體上云和上云之后,可以比較好地降低整體的 IT 應用成本,以及降低軟件的復雜度,提升整個系統(tǒng)的高可用能力等,這些方方面面絕大部分都聚焦在應用的非功能性特性上面。
  1、焦慮的根源
  所有的這些焦慮,我們可以從應用的角度去深度分析是什么原因造成的。
  
  大家知道對于應用而言,核心的就是架構,包括了應用的業(yè)務架構和技術架構。從應用架構上去看,需要滿足客戶的應用發(fā)展訴求。比如說數(shù)據(jù)的產(chǎn)生,隨著今天 IoT 不斷普及,數(shù)據(jù)會產(chǎn)生非常大的接入量,對于這些數(shù)據(jù)的處理也帶來了更高的要求。
  基于傳統(tǒng)的、更多的服務于人的請求的響應式數(shù)據(jù)處理方式已經(jīng)不能滿足于業(yè)務的需求,對于 IoT 設備更多的是基于請求、響應這類事件的模型和方式。同樣的,企業(yè)的業(yè)務發(fā)展需要跟更多的公司去進行生態(tài)的連接。這些大量的業(yè)務訴求也對底層的技術架構帶來了比較多的要求。這些要求就體現(xiàn)在,要求底層的技術架構能夠支持高度的冗余,能支持微服務和海量的業(yè)務并發(fā)、以及能夠支持動態(tài)伸縮、能夠提供 SLA 等。
  如果我們再進一步深度發(fā)掘,這里面到底是需要解決什么樣的核心矛盾時,我們可以發(fā)現(xiàn)其實核心矛盾在于隨著上云、業(yè)務的復雜度不斷增加,使得 IT 有更多的管理成本。而這個成本就體現(xiàn)在,所有的微服務、高可用都需要用高度的系統(tǒng)冗余去解決。同時由于業(yè)務的快速發(fā)展,需要整個 IT 系統(tǒng)去響應頻繁的變換。核心矛盾就在于,系統(tǒng)的高度冗余與系統(tǒng)的頻繁變化之間的矛盾,所有的分布式系統(tǒng)都在圍繞這一主要矛盾來進行解決。
  舉個例子,在原來的單機時代,如果我們只需要一個人管理一臺機器,用一臺機器上的軟件就可以滿足自身業(yè)務發(fā)展的要求,那么我們顯然沒有這么多的矛盾。只有當一個人變成幾十甚至上百個人,當這樣一臺機器不是運行在一個節(jié)點而是幾十上百甚至上千個節(jié)點時,整個 IT 需要處理的復雜度就從 1 對 1 變成了 1 對 N 的頻發(fā)。所以說整體的復雜度得到了一個極大的提升,這也是我們所講的矛盾的根源。
  2、快速解和深度解
  那么對于這樣的矛盾有什么樣的解法呢?今天在云的時代,我們總結了一下有快速的解法和需要更多資源投入的深度解法。
  
  快速解就包括了 re-host 的模式,即把應用的運行環(huán)境從傳統(tǒng)的線下 IDC 遷移到了云的環(huán)境。在這種模式下,應用的架構沒有發(fā)生變化,應用的風險也是比較低的,但是價值的回報只能說是較高。與此對應的另一個解法就是 re-platform,就是把整體應用的交付和運維都改變,但是應用的軟件架構不發(fā)生改變。
  比如說我們通過容器的方式去改變整個軟件的留存,改變整體的運維留存。那么在這個模式下面,它的架構變更的幅度是相對比較小的,實施風險是中等且可以得到比較高的價值回報。
  但如果我們要徹底解決上面的問題,那么就要采取整個軟件重構的 re-build 方式,或者對于軟件的重要模塊去進行一個 re-factor 重構的模式。這些模式都會涉及到軟件的架構發(fā)生變化,因此它的實施風險也是很高的,但同樣的高投入高風險也帶來了高回報,改變后的應用可以更好地解決矛盾。
  所有的解法都與云原生有著非常大的關系。云原生被提出來的最主要的原因,是企業(yè)上云之后發(fā)現(xiàn)很多應用不能很好地去利用云的特性,因此有人說很多應用不是云原生類型的應用。因此,云原生被提出來了。
  云原生的關鍵內涵
  我們先不去討論云原生的定義是什么,但我們要專門提出關于云原生的三個關鍵內涵,理解這三個內涵對于我們怎么樣去利用云原生構建現(xiàn)代化應用有非常大的幫助。
  
  • 云原生技術:今天云原生的技術有閉源的和大量開源的。閉源通常體現(xiàn)在對應用相對透明的云廠商的基礎設施上面。同樣,大量的開源技術對于應用而言有比較大的關系,因為所有的應用會直接構架在這些開源的云原生技術棧上面。但如果說這些應用要比較好地去利用底層的云原生技術,我們通常會建議這些場景中我們的應用可以大量采用云原生的產(chǎn)品。
  • 云原生產(chǎn)品:一部分客戶的技術棧都基于開源的技術棧所構建,但開源的技術棧雖然在很多技術、功能、穩(wěn)定性上沒有問題,在可維護性和跟底層基礎設施的配合上卻可能會出現(xiàn)問題。因此我們會推薦應用盡量在云原生產(chǎn)品上去構建。
  • 云原生理念:光靠技術和產(chǎn)品無法很好地解決前面提到的應用面臨的方方面面的問題,因為技術和產(chǎn)品是生產(chǎn)工具,生產(chǎn)工具的改變往往會導致整個企業(yè)的 IT 文化,也就是生產(chǎn)關系的改變。
  在整個 IT 文化當中,起到最主要作用的就是這其中整個企業(yè)的生產(chǎn)流程,以及生產(chǎn)流程之間人與人的合作關系。由于云原生的技術和產(chǎn)品在工具層面帶來了改變,那么不可避免地就帶來了在整個生產(chǎn)流水線,即企業(yè)的生產(chǎn)流程之間的改變。
  比如說,原先有的崗位對人的要求發(fā)生了改變,或者原先的崗位沒有了,同樣一些新的崗位可能就被創(chuàng)造出來了。在這過程中,受到最大影響的就是人,包括人與人之間的協(xié)作關系。因此要很好地去運用云原生,特別要注意的就是云原生的技術和產(chǎn)品對于整個企業(yè)的生產(chǎn)流程、生產(chǎn)流水線上帶來的改變,特別是對于人和組織上面要求的升級。
  1、云原生是云計算的再升級
  云原生不僅能幫助大家更好地去建好云、用好云、管好云,同樣也是整個云計算的再升級。
  
  這不僅體現(xiàn)在云的基礎設施層面的升級,即云計算的提供廠商會意識到今天所提供的基礎設施還不能比較好地滿足應用的要求,需要不斷地升級以能夠更好地滿足應用在高效的交付、運維上面的需求。
  同樣的,他也會要求應用在架構上徹底升級,讓應用體現(xiàn)出更好的彈性、韌性和可觀測性。有了基礎設施和應用的升級,我們會進一步去追求整體研發(fā)效率的提升,這其中有采用 Serverless 這些新的計算形態(tài)去幫助我們應用提升整體的交付和運維效率的方式,以及更重要的就是解決頻繁變化的 IT 系統(tǒng)當中的快速迭代和系統(tǒng)穩(wěn)定性之間的矛盾。
  所以我們說云原生是云計算整體的一個再升級。
  2、什么是現(xiàn)代化應用
  什么是現(xiàn)代化應用,跟傳統(tǒng)的應用又有什么區(qū)別呢?
  
  現(xiàn)代化應用中包含彈性、可觀測性和度量、無狀態(tài)和安全等典型特征,在整體的一個計算結構上我們可以看到,現(xiàn)代化應用跟云原生應用有非常多相似之處。它們之間的區(qū)別在于,現(xiàn)代化的應用不一定要跑在云上。
  云原生應用顧名思義一定與云相關,但是他們很多特征都是一樣的,它們都要求整體的應用要構建在云原生的技術產(chǎn)品之上,這些技術和產(chǎn)品能真正地體現(xiàn)在應用采用云原生的架構時,并且在整體的實施過程中要徹底貫徹云原生的開發(fā)理念。這樣的應用才能夠比較好地跑在各種基礎設施上面。
  既然提到了架構是承載應用的關鍵要素,那么云原生架構有什么特點呢?
  云原生架構
  云原生架構是一組架構原則、設計模式和設計方法的組合。在這個組合上面有非常明顯的、區(qū)別于傳統(tǒng)架構的特點。
 
  云原生架構會盡量幫助我們的應用把其中的非功能性代碼進行剝離。而在傳統(tǒng)應用中,有不少代碼需要去處理非功能性的問題。云原生架構下,這部分代碼剝離出來后會被放到云原生的基礎設施、產(chǎn)品和技術中去,由底層的 PaaS 平臺和 IaaS 平臺去承載客戶應用當中非功能性的問題,從而讓開發(fā)人員更多關注業(yè)務代碼的編寫。
  有了這樣的云原生架構去接管應用中原有的大量非功能特性,業(yè)務中原本因非功能性問題造成的業(yè)務中斷也可以被避免,同時使應用具備了更輕量、敏捷、高度自動化的特征。
  1、云原生架構原則
  
  我們在云原生架構下抽取出了最重要的 7 個云原生架構原則:
  1. 服務化原則:微服務化顆粒度可以更好地滿足客戶應用的特征;
  2. 彈性原則:從虛擬機到容器層面到進一步應用層面具備不同彈性;
  3. 韌性原則:高可用原則的進一步提升,應用在各種情況下持續(xù)為客戶提供服務;
  4. 可觀測性原則:與監(jiān)控不同,可觀測性模型可事先提供大量從日志到鏈路跟蹤的有效信息,從而主動發(fā)現(xiàn)系統(tǒng)中的潛在風險;
  5. 自動化原則:從底層的硬件到軟件、組件,都有比較大的提升,因此更希望有自動化原則去幫助我們更有效地運維,從而降低運維成本;
  6. 零信任原則:云原生架構可以運行在不同架構上,因而對安全提出了新的要求,要求所有的應用不管運行在什么環(huán)境都是不信任的,每次運行請求都需要校驗合法性;
  7. 持續(xù)演進原則:可以根據(jù)企業(yè)的特點,每個階段采取適合的演進目標,長期迭代后使每個目標最終演變到現(xiàn)代化的應用。
  2、云原生的主要架構模式
  云原生的架構模式非常多,列舉如下圖所示,詳細的內容可以參考近期出版的《阿里云云原生架構實踐》。
  
  3、阿里云云原生架構方法
  
  關于云原生的架構方法,我們提出了 ACNA 的架構方法。這是阿里云關于云原生架構的一個架構設計方法,包含了對云原生架構的評估體系和成熟度的度量體系,同時也包含了阿里云對廣大客戶在對應用實施云原生技術改造過程中,積累的最佳實踐和用到的產(chǎn)品體系和技術。在這之中有一些架構視角,我們希望對每個企業(yè)來說,他們可以根據(jù)自己企業(yè)的情況去選擇與之相匹配的技術架構能力,最終為業(yè)務發(fā)展、企業(yè)戰(zhàn)略發(fā)展服務。
  4、阿里云云原生架構閉環(huán)
  整個架構方法是包含了多個視角的綜合體,在這之中我們希望通過架構持續(xù)演進能形成一個閉環(huán)。
  
  整個架構閉環(huán)包含了最主要的八個階段。從識別業(yè)務痛點到確定架構目標,在評估風險過程中選取相應的技術制定迭代計劃,推動落地計劃中我們建議企業(yè)在實施云原生架構過程中有一些專門的機構去評審整體的風險,從而讓整個過程形成一個閉環(huán)。而在這個過程中要特別關注架構治理視角,這需要有相應的組織或人員來幫助應用在迭代過程中進行架構治理。
  5、如何衡量云原生架構的成熟度
  在 ACNA 里我們提出了一個衡量云原生架構的成熟度模型,其中有六個關鍵維度,我們簡稱 SESORA。
  
  這六個維度的能力,也是在現(xiàn)代化應用中的最主要的六個關鍵指標。每個指標從 0-3 分為了四個等級,每個等級有對應的得分,在評估后可以得出一個關于應用在云原生架構上得到的評分高低。今天阿里云提出的這個 SESORA 模型已經(jīng)在業(yè)界中得到很多機構和企業(yè)的采納,從而可以幫助企業(yè)在云原生架構改造上提高成熟度。
  客戶案例
  最后來看兩個典型案例。第一個案例是在阿里云上的應用怎么通過云原生的產(chǎn)品去有效預防在系統(tǒng)架構設計當中穩(wěn)定性的風險。我們采用了微服務的架構模式,有大量數(shù)據(jù)是存放在 MongoDB 中的,在這個架構中客戶采用了 PTS、ARMS 和 AHAS 這個組合,這可以比較好地幫客戶去主動探測系統(tǒng)中是否存在潛在的風險,從而去預防穩(wěn)定性的風險。
  
  第二個案例是關于 Serverless 的案例,解決的問題是幫助微服務應用快速上云。因為在這個過程中,我們往往需要應用去解決很多問題,而在 Serverless 模式下,這些底層的部署都得到了很大的復雜度降低。
  當客戶應用有突發(fā)流量增加時,Serverless 會探測到并主動申請新資源,從而使新增流量得到及時響應;當突發(fā)流量消失時 Serverless 也會主動釋放資源,從而降低成本。
  來源:阿里巴巴云原生團隊
【免責聲明】本文僅代表作者本人觀點,與CTI論壇無關。CTI論壇對文中陳述、觀點判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。

專題

CTI論壇會員企業(yè)