云原生架構(gòu)原則
云原生架構(gòu)本身作為一種架構(gòu),也有若干架構(gòu)原則作為應(yīng)用架構(gòu)的核心架構(gòu)控制面,通過遵從這些架構(gòu)原則可以讓技術(shù)主管和架構(gòu)師在做技術(shù)選擇時(shí)不會(huì)出現(xiàn)大的偏差。
服務(wù)化原則
當(dāng)代碼規(guī)模超出小團(tuán)隊(duì)的合作范圍時(shí),就有必要進(jìn)行服務(wù)化拆分了,包括拆分為微服務(wù)架構(gòu)、小服務(wù)( Mini Service)架構(gòu),通過服務(wù)化架構(gòu)把不同生命周期的模塊分離出來,分別進(jìn)行業(yè)務(wù)迭代,避免迭代頻繁模塊被慢速模塊拖慢,從而加快整體的進(jìn)度和穩(wěn)定性。同時(shí)服務(wù)化架構(gòu)以面向接口編程,服務(wù)內(nèi)部的功能高度內(nèi)聚,模塊間通過公共功能模塊的提取增加軟件的復(fù)用程度。
分布式環(huán)境下的限流降級(jí)、熔斷隔倉、灰度、反壓、零信任安全等,本質(zhì)上都是基于服務(wù)流量(而非網(wǎng)絡(luò)流量)的控制策略,所以云原生架構(gòu)強(qiáng)調(diào)使用服務(wù)化的目的還在于從架構(gòu)層面抽象化業(yè)務(wù)模塊之間的關(guān)系,標(biāo)準(zhǔn)化服務(wù)流量的傳輸,從而幫助業(yè)務(wù)模塊進(jìn)行基于服務(wù)流量的策略控制和治理,不管這些服務(wù)是基于什么語言開發(fā)的。
彈性原則
大部分系統(tǒng)部署上線需要根據(jù)業(yè)務(wù)量的估算,準(zhǔn)備一定規(guī)模的機(jī)器,從提出采購申請(qǐng),到供應(yīng)商洽談、機(jī)器部署上電、軟件部署、性能壓測(cè),往往需要好幾個(gè)月甚至一年的周期;而這期間如果業(yè)務(wù)發(fā)生變化了,重新調(diào)整也非常困難。彈性則是指系統(tǒng)的部署規(guī)??梢噪S著業(yè)務(wù)量的變化自動(dòng)伸縮,無須根據(jù)事先的容量規(guī)劃準(zhǔn)備固定的硬件和軟件資源。好的彈性能力不僅縮短了從采購到上線的時(shí)間,讓企業(yè)不用操心額外軟硬件資源的成本支出(閑置成本),降低了企業(yè)的IT成本,更關(guān)鍵的是當(dāng)業(yè)務(wù)規(guī)模面臨海量突發(fā)性擴(kuò)張的時(shí)候,不再因?yàn)槠綍r(shí)軟硬件資源儲(chǔ)備不足而“說不”,保障了企業(yè)收益。
可觀測(cè)原則
今天大部分企業(yè)的軟件規(guī)模都在不斷增長,原來單機(jī)可以對(duì)應(yīng)用做完所有調(diào)試,但在分布式環(huán)境下需要對(duì)多個(gè)主機(jī)上的信息做關(guān)聯(lián),才可能回答清楚服務(wù)為什么宕機(jī)、哪些服務(wù)違反了其定義的SLO、目前的故障影響哪些用戶、最近這次變更對(duì)哪些服務(wù)指標(biāo)帶來了影響等等,這些都要求系統(tǒng)具備更強(qiáng)的可觀測(cè)能力。可觀測(cè)性與監(jiān)控、業(yè)務(wù)探活、APM等系統(tǒng)提供的能力不同,前者是在云這樣的分布式系統(tǒng)中,主動(dòng)通過日志、鏈路跟蹤和度量等手段,讓一次APP點(diǎn)擊背后的多次服務(wù)調(diào)用的耗時(shí)、返回值和參數(shù)都清晰可見,甚至可以下鉆到每次三方軟件調(diào)用、SQL請(qǐng)求、節(jié)點(diǎn)拓?fù)?、網(wǎng)絡(luò)響應(yīng)等,這樣的能力可以使運(yùn)維、開發(fā)和業(yè)務(wù)人員實(shí)時(shí)掌握軟件運(yùn)行情況,并結(jié)合多個(gè)維度的數(shù)據(jù)指標(biāo),獲得前所未有的關(guān)聯(lián)分析能力,不斷對(duì)業(yè)務(wù)健康度和用戶體驗(yàn)進(jìn)行數(shù)字化衡量和持續(xù)優(yōu)化。
韌性原則
當(dāng)業(yè)務(wù)上線后,最不能接受的就是業(yè)務(wù)不可用,讓用戶無法正常使用軟件,影響體驗(yàn)和收入。韌性代表了當(dāng)軟件所依賴的軟硬件組件出現(xiàn)各種異常時(shí),軟件表現(xiàn)出來的抵御能力,這些異常通常包括硬件故障、硬件資源瓶頸(如CPU/網(wǎng)卡帶寬耗盡)、業(yè)務(wù)流量超出軟件設(shè)計(jì)能力、影響機(jī)房工作的故障和災(zāi)難、軟件 bug、黑客攻擊等對(duì)業(yè)務(wù)不可用帶來致命影響的因素。
韌性從多個(gè)維度詮釋了軟件持續(xù)提供業(yè)務(wù)服務(wù)的能力,核心目標(biāo)是提升軟件的MTBF ( Mean TimeBetween Failure,平均無故障時(shí)間)。從架構(gòu)設(shè)計(jì)上,韌性包括服務(wù)異步化能力、重試/限流/降級(jí)/熔斷Ⅰ反壓、主從模式、集群模式、AZ內(nèi)的高可用、單元化、跨region容災(zāi)、異地多活容災(zāi)等。
所有過程自動(dòng)化原則
技術(shù)往往是把“雙刃劍”,容器、微服務(wù)、DevOps、大量第三方組件的使用,在降低分布式復(fù)雜性和提升迭代速度的同時(shí),因?yàn)檎w增大了軟件技術(shù)棧的復(fù)雜度和組件規(guī)模,所以不可避免地帶來了軟件交付的復(fù)雜性,如果這里控制不當(dāng),應(yīng)用就無法體會(huì)到云原生技術(shù)的優(yōu)勢(shì)。通過 laC ( lnfrastructure asCode ) . GitOps、OAM (Open Application Model ) . Kubernetes operator和大量自動(dòng)化交付工具在CIICD流水線中的實(shí)踐,一方面標(biāo)準(zhǔn)化企業(yè)內(nèi)部的軟件交付過程,另一方面在標(biāo)準(zhǔn)化的基礎(chǔ)上進(jìn)行自動(dòng)化,通過配置數(shù)據(jù)自描述和面向終態(tài)的交付過程,讓自動(dòng)化工具理解交付目標(biāo)和環(huán)境差異,實(shí)現(xiàn)整個(gè)軟件交付和運(yùn)維的自動(dòng)化。
零信任原則
零信任安全針對(duì)傳統(tǒng)邊界安全架構(gòu)思想進(jìn)行了重新評(píng)估和審視,并對(duì)安全架構(gòu)思路給出了新建議。其核心思想是,默認(rèn)情況下不應(yīng)該信任網(wǎng)絡(luò)內(nèi)部和外部的任何人/設(shè)備/系統(tǒng),需要基于認(rèn)證和授權(quán)重構(gòu)訪問控制的信任基礎(chǔ),諸如IP地址、主機(jī)、地理位置、所處網(wǎng)絡(luò)等均不能作為可信的憑證。零信任對(duì)訪問控制進(jìn)行了范式上的顛覆,引導(dǎo)安全體系架構(gòu)從“網(wǎng)絡(luò)中心化”走向“身份中心化”,其本質(zhì)訴求是以身份為中心進(jìn)行訪問控制。
零信任第一個(gè)核心問題就是ldentity,賦予不同的Entity 不同的 Identity,解決是誰在什么環(huán)境下訪問某個(gè)具體的資源的問題。在研發(fā)、測(cè)試和運(yùn)維微服務(wù)場(chǎng)景下,ldentity 及其相關(guān)策略不僅是安全的基礎(chǔ),更是眾多(資源,服務(wù),環(huán)境)隔離機(jī)制的基礎(chǔ);在員工訪問企業(yè)內(nèi)部應(yīng)用的場(chǎng)景下,ldentity 及其相關(guān)策略提供了靈活的機(jī)制來提供隨時(shí)隨地的接入服務(wù)。
架構(gòu)持續(xù)演進(jìn)原則
今天技術(shù)和業(yè)務(wù)的演進(jìn)速度非???,很少有一開始就清晰定義了架構(gòu)并在整個(gè)軟件生命周期里面都適用,相反往往還需要對(duì)架構(gòu)進(jìn)行一定范圍內(nèi)的重構(gòu),因此云原生架構(gòu)本身也應(yīng)該和必須是一個(gè)具備持續(xù)演進(jìn)能力的架構(gòu),而不是一個(gè)封閉式架構(gòu)。除了增量迭代、目標(biāo)選取等因素外,還需要考慮組織(例如架構(gòu)控制委員會(huì))層面的架構(gòu)治理和風(fēng)險(xiǎn)控制,特別是在業(yè)務(wù)高速迭代情況下的架構(gòu)、業(yè)務(wù)、實(shí)現(xiàn)平衡
關(guān)系。云原生架構(gòu)對(duì)于新建應(yīng)用而言的架構(gòu)控制策略相對(duì)容易選擇(通常是選擇彈性、敏捷、成本的維度),但對(duì)于存量應(yīng)用向云原生架構(gòu)遷移,則需要從架構(gòu)上考慮遺留應(yīng)用的遷出成本/風(fēng)險(xiǎn)和到云上的遷入成本/風(fēng)險(xiǎn),以及技術(shù)上通過微服務(wù)Ⅰ應(yīng)用網(wǎng)關(guān)、應(yīng)用集成、適配器、服務(wù)網(wǎng)格、數(shù)據(jù)遷移、在線灰度等應(yīng)用和流量進(jìn)行細(xì)顆粒度控制。
圖書推薦
關(guān)鍵點(diǎn)
1.架構(gòu)設(shè)計(jì)新模式:讓架構(gòu)設(shè)計(jì)更高效、更快捷、更完美。
2.全流程解析:涵蓋架構(gòu)設(shè)計(jì)的不同應(yīng)用場(chǎng)景,介紹從編寫各種文檔,到應(yīng)用圖形圖表與UML建模、設(shè)計(jì)模式、數(shù)據(jù)庫設(shè)計(jì),再到編寫代碼、開發(fā)軟件架構(gòu)等關(guān)鍵環(huán)節(jié)。
3.實(shí)戰(zhàn)檢驗(yàn):ChatGPT結(jié)合多種架構(gòu)設(shè)計(jì)工具及案例實(shí)操講解,理解更加透徹。
4.100%提高架構(gòu)設(shè)計(jì)效率:揭秘ChatGPT與架構(gòu)設(shè)計(jì)高效融合的核心方法論和實(shí)踐經(jīng)驗(yàn)。
5.超值資源:贈(zèng)送教學(xué)視頻及配套工具,供讀者下載學(xué)習(xí)。
內(nèi)容簡介
本書是一本旨在幫助架構(gòu)師在人工智能時(shí)代展翅高飛的實(shí)用指南。全書以ChatGPT為核心工具,揭示了人工智能技術(shù)對(duì)架構(gòu)師的角色和職責(zé)進(jìn)行顛覆和重塑的關(guān)鍵點(diǎn)。本書通過共計(jì) 13 章的系統(tǒng)內(nèi)容,深入探討AI技術(shù)在架構(gòu)
設(shè)計(jì)中的應(yīng)用,以及AI對(duì)傳統(tǒng)架構(gòu)師工作方式的影響。通過學(xué)習(xí),讀者將了解如何利用ChatGPT這一強(qiáng)大的智能輔助工具,提升架構(gòu)師的工作效率和創(chuàng)造力。
本書的讀者主要是架構(gòu)師及相關(guān)從業(yè)人員。無論你是初入職場(chǎng)的新手架構(gòu)師還是經(jīng)驗(yàn)豐富的專業(yè)人士,本書都將成為你的指南,幫助你在人工智能時(shí)代展現(xiàn)卓越的架構(gòu)設(shè)計(jì)能力。通過本書的指導(dǎo),你將學(xué)習(xí)如何運(yùn)用ChatGPT等工具和技術(shù),以創(chuàng)新的方式構(gòu)建高效、可靠、可擴(kuò)展的軟件架構(gòu)。
同時(shí),本書也適用于對(duì)架構(gòu)設(shè)計(jì)感興趣的其他技術(shù)類從業(yè)人員,如軟件工程師、系統(tǒng)分析師、技術(shù)顧問等。通過學(xué)習(xí)本書的內(nèi)容,你可以深入了解人工智能對(duì)架構(gòu)設(shè)計(jì)的影響和帶來的挑戰(zhàn),拓展自己的技術(shù)視野,提升對(duì)軟件系統(tǒng)整體架構(gòu)的理解和把握能力。
作者簡介
關(guān)東升,一個(gè)在IT領(lǐng)域摸爬滾打20多年的老程序員、知名培訓(xùn)專家、暢銷書作家,精通多種信息技術(shù)。曾參與設(shè)計(jì)和開發(fā)北京市公交一卡通系統(tǒng)、國家農(nóng)產(chǎn)品追溯系統(tǒng)、金融系統(tǒng)微博等移動(dòng)客戶端項(xiàng)目,并在App Store發(fā)布多款游戲和應(yīng)用軟件。長期為中國移動(dòng)、中國聯(lián)通、中國南方航空、中國工商銀行和天津港務(wù)局等企事業(yè)單位提供培訓(xùn)服務(wù)。先后出版了50多部IT圖書,廣受讀者歡迎。文章來源:http://www.zghlxwxcb.cn/news/detail-762615.html
當(dāng)當(dāng)網(wǎng)鏈接
京東的鏈接文章來源地址http://www.zghlxwxcb.cn/news/detail-762615.html
到了這里,關(guān)于AI時(shí)代架構(gòu)設(shè)計(jì)新模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!