解決方案架構(gòu)師修煉之道

推薦序二

  • 在IT領(lǐng)域里硬梁,解決方案架構(gòu)師的培養(yǎng)成本也是極高的阶剑,架構(gòu)的優(yōu)劣決定著企業(yè)IT的建設(shè)和運(yùn)營成本外莲,架構(gòu)設(shè)計(jì)上的漏洞可能會(huì)給企業(yè)帶來巨大的損失淋昭。一名優(yōu)秀的解決方案架構(gòu)師在成長的道路上,要學(xué)習(xí)各類IT知識(shí),在項(xiàng)目中摸爬滾打,總結(jié)經(jīng)驗(yàn)教訓(xùn)龙巨,從實(shí)踐中提煉方法論

推薦序四

  • 我們介入后秸弛,圍繞發(fā)布目標(biāo)瞳腌,反向梳理了三大模塊工作細(xì)節(jié)及其配合關(guān)系,包括功能性開發(fā)與測試、非功能性開發(fā)與驗(yàn)證、產(chǎn)品運(yùn)營與推廣等咆畏,幫助產(chǎn)品相關(guān)的幾十人的業(yè)務(wù)與技術(shù)團(tuán)隊(duì)就目標(biāo)形成共識(shí)麦牺,包括幫助團(tuán)隊(duì)明確和調(diào)整優(yōu)先級(jí),舍棄一些不太重要的功能,提升安全相關(guān)模塊開發(fā)、性能測試渣刷、用戶體驗(yàn)驗(yàn)證的優(yōu)先級(jí)
  • 《數(shù)字化轉(zhuǎn)型:企業(yè)破局的34個(gè)錦囊》

本書贊譽(yù)

  • 《架構(gòu)之道:軟件構(gòu)建的設(shè)計(jì)方法》
  • 架構(gòu)師的價(jià)值就是教團(tuán)隊(duì)以正確的方式開發(fā)產(chǎn)品碌嘀。架構(gòu)師其實(shí)有許多種和蚪,比如系統(tǒng)架構(gòu)師浆洗、應(yīng)用架構(gòu)師、數(shù)據(jù)架構(gòu)師、安全架構(gòu)師等聪黎。如果說哪一種架構(gòu)師既懂技術(shù),又懂產(chǎn)品滤淳,還懂業(yè)務(wù)汇歹,那一定就是解決方案架構(gòu)師
  • 解決方案架構(gòu)師的重要性越來越受到行業(yè)的關(guān)注。這個(gè)角色由企業(yè)架構(gòu)領(lǐng)域的應(yīng)用架構(gòu)師與IT架構(gòu)師發(fā)展而來,它的興起與演進(jìn),契合了當(dāng)下從“架構(gòu)適配業(yè)務(wù)的內(nèi)部視角”到“業(yè)務(wù)驅(qū)動(dòng)架構(gòu)的外部視角”關(guān)注點(diǎn)變化的趨勢
  • 每個(gè)公司內(nèi)部都面臨著各種各樣的業(yè)務(wù)問題悬垃,面對這些棘手的問題羊赵,解決方案架構(gòu)可以幫助識(shí)別、理解、解決業(yè)務(wù)中出現(xiàn)的各類問題。在這個(gè)過程中租幕,我們首先需要對解決方案架構(gòu)的定義達(dá)成共識(shí)盆赤,并對解決方案架構(gòu)的發(fā)展有深刻理解

譯者簡介

  • 《AI重新定義企業(yè):從微軟等真實(shí)案例中學(xué)習(xí)》
  • 《回顧活動(dòng)引導(dǎo):24個(gè)反模式與重構(gòu)實(shí)踐》

第1章 解決方案架構(gòu)的含義

  • 解決方案架構(gòu)不僅要考慮業(yè)務(wù)需求,還要處理關(guān)鍵的非功能性需求庸追,如可伸縮性、高可用性强品、可維護(hù)性夫晌、性能凶掰、安全性等
  • 解決方案架構(gòu)師需要進(jìn)行概念驗(yàn)證和原型開發(fā)以評估各種技術(shù)平臺(tái)畅涂,然后采取最佳策略來實(shí)施解決方案
  • 會(huì)在整個(gè)解決方案開發(fā)過程中對團(tuán)隊(duì)進(jìn)行指導(dǎo)愤惰,并提供上線后的指導(dǎo)方針宦言,以維護(hù)和規(guī)模化最終產(chǎn)品
  • 解決方案架構(gòu)從戰(zhàn)略和戰(zhàn)術(shù)的視角商模,對業(yè)務(wù)解決方案的方方面面進(jìn)行定義和展望

圖11 解決方案架構(gòu)環(huán)形圖

image-20211130091915517
  1. 全球分布式團(tuán)隊(duì):在這個(gè)全球化的時(shí)代奠旺,幾乎每個(gè)產(chǎn)品都會(huì)有分布在全球各地的用戶,以及負(fù)責(zé)滿足客戶需求的利益相關(guān)者團(tuán)隊(duì)
  2. 全球合規(guī)性要求:當(dāng)在全球范圍內(nèi)部署解決方案時(shí)施流,每個(gè)國家和地區(qū)都有其法律和合規(guī)制度渔伯,這些都是解決方案需要遵守的
  3. 成本和預(yù)算:解決方案架構(gòu)能夠很好地估計(jì)項(xiàng)目的總成本狐粱,這有助于確定預(yù)算券盅。預(yù)算包括資本支出(CapEx),即前期成本,以及運(yùn)維支出(OpEx),即持續(xù)成本
  4. 解決方案實(shí)施組件:解決方案架構(gòu)預(yù)先提供了產(chǎn)品不同實(shí)施組件的高層次概述锰蓬,這有助于計(jì)劃執(zhí)行過程
  5. 業(yè)務(wù)需求:解決方案架構(gòu)考慮了所有的業(yè)務(wù)需求盈电,包括功能性需求和非功能性需求
  6. IT基礎(chǔ)設(shè)施需求:解決方案架構(gòu)決定了項(xiàng)目執(zhí)行需要的IT基礎(chǔ)設(shè)施
  7. 技術(shù)選型:在解決方案設(shè)計(jì)過程中,解決方案架構(gòu)師會(huì)進(jìn)行概念驗(yàn)證和原型開發(fā),考慮企業(yè)需求,然后推薦合適的實(shí)施技術(shù)和工具
  8. 終端用戶需求:解決方案架構(gòu)特別關(guān)注終端用戶的需求,因?yàn)樗麄儗⑹钱a(chǎn)品的實(shí)際消費(fèi)者
  9. 解決方案維護(hù):解決方案架構(gòu)不僅涉及解決方案的設(shè)計(jì)與實(shí)施,還需要負(fù)責(zé)上線后的活動(dòng)挽鞠,例如解決方案的可伸縮性沽讹、災(zāi)難恢復(fù)、卓越運(yùn)維等
  10. 項(xiàng)目時(shí)間表:解決方案架構(gòu)設(shè)計(jì)根據(jù)每個(gè)組件的復(fù)雜性布局其細(xì)節(jié),通過提供資源估算和相關(guān)風(fēng)險(xiǎn)信息拂盯,進(jìn)一步幫助確定項(xiàng)目里程碑和時(shí)間表
  1. 創(chuàng)建解決方案架構(gòu)的兩種主要情況如下:
  2. 增強(qiáng)現(xiàn)有應(yīng)用程序的技術(shù)兵罢,可能包括硬件更新或軟件重構(gòu)
  3. 從頭創(chuàng)建一個(gè)新的解決方案弥鹦,這樣可以更加靈活地選擇最適合的技術(shù)來滿足業(yè)務(wù)需求
  • 一個(gè)好的解決方案架構(gòu)不僅要滿足功能性和非功能性需求,還要能解決系統(tǒng)的可伸縮性和長期維護(hù)問題
  • 解決方案架構(gòu)可以解決各種解決方案需求臊旭,保持業(yè)務(wù)上下文的完整性落恼。它指定并記錄了技術(shù)平臺(tái)、應(yīng)用程序組件离熏、數(shù)據(jù)需求佳谦、資源需求以及許多重要的非功能性需求,如可伸縮性滋戳、可靠性钻蔑、性能啥刻、吞吐量、可用性矢棚、安全性和可維護(hù)性
  • 解決方案架構(gòu)考慮所有的解決方案郑什,并通過創(chuàng)建能夠適應(yīng)所有業(yè)務(wù)和技術(shù)限制的概念驗(yàn)證府喳,來尋求最佳方案

圖12 解決方案架構(gòu)的有益屬性

image-20211130092048321
  1. 技術(shù)價(jià)值與需求:解決方案架構(gòu)決定了投資回報(bào)率蒲肋,可以通過特定的技術(shù)選型以及市場趨勢來選擇解決方案
  2. 業(yè)務(wù)目標(biāo):解決方案架構(gòu)設(shè)計(jì)的主要任務(wù)是滿足利益相關(guān)者的需求,并適應(yīng)他們的需求變更
  3. 目標(biāo)日期:解決方案架構(gòu)師與所有的利益相關(guān)者(包括業(yè)務(wù)團(tuán)隊(duì)钝满、客戶和開發(fā)團(tuán)隊(duì))持續(xù)合作
  4. 市場機(jī)遇:解決方案架構(gòu)涉及分析和持續(xù)評估市場最新趨勢的過程
  5. 預(yù)算和資源配置:為了獲得更準(zhǔn)確的預(yù)算兜粘,我們一般建議在估算方面進(jìn)行適當(dāng)?shù)耐顿Y
  6. 項(xiàng)目時(shí)間表:定義準(zhǔn)確的項(xiàng)目時(shí)間表對于解決方案的實(shí)施非常關(guān)鍵
  • 在產(chǎn)品開發(fā)的生命周期中,最具挑戰(zhàn)性的階段是確定需求的性質(zhì)弯蚜,特別是當(dāng)所有的需求都需要作為高優(yōu)先級(jí)來處理孔轴,而且它們一直都在快速變化時(shí)。當(dāng)不同的利益相關(guān)者對同一需求有不同的看法時(shí)碎捺,這種挑戰(zhàn)就更加嚴(yán)峻
  • 在這種情況下路鹰,解決方案架構(gòu)有助于消除分歧,并定義一個(gè)所有成員都能理解的標(biāo)準(zhǔn)
  • 持續(xù)獲得反饋并根據(jù)反饋進(jìn)行調(diào)整收厨,是高質(zhì)量交付的關(guān)鍵晋柱,應(yīng)該在解決方案設(shè)計(jì)和開發(fā)的所有階段予以遵循
  • 解決方案架構(gòu)師應(yīng)該對所有的需求進(jìn)行仔細(xì)驗(yàn)證,然后通過創(chuàng)建產(chǎn)品的工作模型作為原型诵叁,用多個(gè)參數(shù)對結(jié)果進(jìn)行評估和研究雁竞,以找到最適合產(chǎn)品開發(fā)的解決方案
  • 根據(jù)業(yè)務(wù)需求評估,以及應(yīng)用程序的敏捷性拧额、速度和安全性來構(gòu)建原型碑诉,從而實(shí)現(xiàn)最佳技術(shù)平臺(tái)的選擇
  • 對于經(jīng)過深思熟慮獲得的解決方案架構(gòu),最常見的問題一般與非功能性需求有關(guān)侥锦。對于產(chǎn)品開發(fā)生命周期进栽,資源和預(yù)算是有幫助的
  • 在解決方案架構(gòu)的初始階段需要進(jìn)行大量的規(guī)劃
  • 在通常情況下,你必須處理應(yīng)用程序中的非功能性需求(NonFunctionalRequirement恭垦,NFR
  • 例如安全性快毛、可用性、延遲問題署照、維護(hù)祸泪、日志、隱藏機(jī)密信息建芙、性能問題没隘、可靠性、可維護(hù)性禁荸、可伸縮性右蒲、易用性等阀湿。如果不及時(shí)考慮這些問題,就會(huì)影響項(xiàng)目的交付

圖13 解決方案架構(gòu)的非功能性屬性

image-20211130092135185

圖14 云計(jì)算模式的類型

image-20211130092157313
  • 好的解決方案架構(gòu)不僅可以解決功能性需求瑰妄,還能長期考慮并滿足非功能性需求陷嘴,如可伸縮性、性能间坐、韌性灾挨、高可用性、災(zāi)難恢復(fù)等竹宋。解決方案架構(gòu)可以找到最優(yōu)解決方案劳澄,以適應(yīng)成本、資源蜈七、時(shí)間表秒拔、安全性和合規(guī)性等方面的限制

第2章 組織中的解決方案架構(gòu)師

  • 解決方案架構(gòu)師了解組織的需求和目標(biāo)。通常飒硅,解決方案架構(gòu)師會(huì)參與團(tuán)隊(duì)的工作砂缩。所有的利益相關(guān)者、流程三娩、團(tuán)隊(duì)和組織管理都會(huì)影響解決方案架構(gòu)師角色及其工作
  • 敏捷思維對于解決方案架構(gòu)師來說非常重要
  • 除了解決方案設(shè)計(jì)外庵芭,解決方案架構(gòu)師還需要處理各種約束,以評估風(fēng)險(xiǎn)并規(guī)劃應(yīng)對方案尽棕。另外喳挑,質(zhì)量管理也起著不容忽視的重要作用。在整個(gè)解決方案的生命周期(從需求收集滔悉、解決方案設(shè)計(jì)伊诵、解決方案實(shí)施到測試和發(fā)布)中,解決方案架構(gòu)師都扮演著至關(guān)重要的角色
  • 在應(yīng)用發(fā)布后回官,解決方案架構(gòu)師也需要定期參與相關(guān)事務(wù)曹宴,以確保解決方案的可伸縮性、高可用性和可維護(hù)性歉提。對于更廣泛的消費(fèi)類產(chǎn)品笛坦,解決方案架構(gòu)師還需要與銷售團(tuán)隊(duì)合作,通過在各種論壇上發(fā)布內(nèi)容和公開演講苔巨,成為產(chǎn)品的技術(shù)布道者
  • 對于大型項(xiàng)目版扩,應(yīng)該配有專門的解決方案架構(gòu)師。方案的成敗就取決于解決方案架構(gòu)師

圖21 解決方案架構(gòu)師的類型

image-20211130092253900
  • 解決方案架構(gòu)師可以分為通才型與專業(yè)型
  • 企業(yè)架構(gòu)師負(fù)責(zé)整個(gè)組織的解決方案設(shè)計(jì)侄泽,與股東和領(lǐng)導(dǎo)層一起制訂長期計(jì)劃和解決方案礁芦。其中最重要的一個(gè)方面是確立公司應(yīng)該使用哪些技術(shù),并確保公司使用這些技術(shù)時(shí)保持其一致性和完整性
  • 企業(yè)架構(gòu)師職責(zé)的另一個(gè)重要方面是定義業(yè)務(wù)架構(gòu)
  • 關(guān)于如何組織和交付解決方案,解決方案架構(gòu)師發(fā)揮著至關(guān)重要的作用柿扣。解決方案架構(gòu)師設(shè)計(jì)整體系統(tǒng)肖方,以及不同的系統(tǒng)如何在不同的組別中集成
  • 解決方案架構(gòu)師在項(xiàng)目管理中也發(fā)揮著重要作用,提供有關(guān)資源未状、成本和時(shí)間表估算的建議
  • 技術(shù)架構(gòu)師也可以稱為應(yīng)用架構(gòu)師或軟件架構(gòu)師俯画,負(fù)責(zé)軟件的設(shè)計(jì)和開發(fā)。技術(shù)架構(gòu)師在工程方面與組織合作司草,更側(cè)重于定義團(tuán)隊(duì)軟件開發(fā)的技術(shù)細(xì)節(jié)
  • 云架構(gòu)師能夠制定云遷移策略艰垂,并開發(fā)混合云架構(gòu)。云架構(gòu)師可以建議內(nèi)部應(yīng)用程序如何連接到云翻伺,以及不同的傳統(tǒng)產(chǎn)品如何適應(yīng)云環(huán)境
  • 為了提高整體目標(biāo)受眾的平臺(tái)采用率材泄,架構(gòu)師布道者會(huì)撰寫公開內(nèi)容沮焕,如博客吨岭、白皮書和文章。他們會(huì)在行業(yè)峰會(huì)峦树、技術(shù)講座和會(huì)議等公共平臺(tái)上發(fā)表演講
  • 基礎(chǔ)設(shè)施架構(gòu)師是專業(yè)型架構(gòu)師辣辫,主要致力于企業(yè)IT基礎(chǔ)設(shè)施設(shè)計(jì)、安全防護(hù)和數(shù)據(jù)中心運(yùn)維魁巩。他們與解決方案架構(gòu)師緊密合作急灭,以確保組織的基礎(chǔ)設(shè)施戰(zhàn)略與其整體業(yè)務(wù)需求相一致,并通過分析系統(tǒng)需求和現(xiàn)有環(huán)境來規(guī)劃適當(dāng)?shù)馁Y源能力來滿足需求谷遂。他們能幫助減少用于運(yùn)維支出的資本支出葬馋,以提高組織效率和投資回報(bào)率
  • 網(wǎng)絡(luò)架構(gòu)師需要對網(wǎng)絡(luò)策略、網(wǎng)絡(luò)運(yùn)維肾扰、使用VPN的安全連接畴嘶、防火墻配置、網(wǎng)絡(luò)拓?fù)浼怼⒇?fù)載均衡配置窗悯、DNS路由、IT基礎(chǔ)設(shè)施連接等有非常深入的了解
  • 數(shù)據(jù)架構(gòu)師開發(fā)數(shù)據(jù)模型并設(shè)計(jì)數(shù)據(jù)湖偷拔,以捕獲業(yè)務(wù)的關(guān)鍵績效指標(biāo)(KeyPerformanceIndicator蒋院,KPI)并實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換。他們確保整個(gè)組織的數(shù)據(jù)性能和數(shù)據(jù)質(zhì)量保持一致
  • 數(shù)據(jù)架構(gòu)師需要了解不同的數(shù)據(jù)庫技術(shù)莲绰、BI工具欺旧、數(shù)據(jù)安全性和加密技術(shù),才能做出正確的選擇
  • 安全架構(gòu)師需要使用各種工具和技術(shù)來了解蛤签、設(shè)計(jì)并指導(dǎo)與數(shù)據(jù)辞友、網(wǎng)絡(luò)、基礎(chǔ)設(shè)施和應(yīng)用程序安全相關(guān)的各個(gè)方面
  • 自動(dòng)化可以應(yīng)用在任何地方顷啼,無論是測試和部署應(yīng)用程序踏枣,還是啟動(dòng)基礎(chǔ)設(shè)施昌屉,甚至是確保安全性。自動(dòng)化起著至關(guān)重要的作用茵瀑,DevOps架構(gòu)師可以讓一切都實(shí)現(xiàn)自動(dòng)化
  • 解決方案架構(gòu)師是技術(shù)領(lǐng)導(dǎo)者间驮,也是面向客戶的角色,承擔(dān)了許多職責(zé)马昨。解決方案架構(gòu)師的主要職責(zé)是將組織的業(yè)務(wù)愿景轉(zhuǎn)化為技術(shù)解決方案竞帽,并作為企業(yè)和技術(shù)利益相關(guān)者之間的聯(lián)絡(luò)人

圖22 解決方案架構(gòu)師的職責(zé)模型

image-20211130092346162
  • 解決方案架構(gòu)師設(shè)計(jì)的應(yīng)用程序可能會(huì)影響整體的業(yè)務(wù)產(chǎn)出。這使需求分析成了解決方案架構(gòu)師應(yīng)該具備的關(guān)鍵技能鸿捧。好的解決方案架構(gòu)師需要具備業(yè)務(wù)分析師的技能以及與不同利益相關(guān)者合作的能力
  • 解決方案架構(gòu)師具有廣泛的業(yè)務(wù)經(jīng)驗(yàn)屹篓。他們不僅是技術(shù)專家,而且對業(yè)務(wù)領(lǐng)域也有很深入的理解匙奴。他們要與產(chǎn)品經(jīng)理和其他業(yè)務(wù)利益相關(guān)者緊密合作堆巧,以了解需求的各個(gè)方面
  • 對用戶和客戶來說,非功能性需求(NonFunctionalRequirement泼菌,NFR)可能并不直觀谍肤,但它們的缺失可能對整體的用戶體驗(yàn)產(chǎn)生負(fù)面影響,并阻礙業(yè)務(wù)的開展

圖23 解決方案設(shè)計(jì)中的NFR

image-20211130092427920
  • 好的解決方案架構(gòu)師的主要責(zé)任是傳達(dá)NFR的重要性哗伯,并確保它們作為解決方案交付的一部分得到實(shí)施
  • 他們擁有出色的溝通能力和談判技巧荒揣,這有助于找出解決方案的最佳路徑,同時(shí)讓每個(gè)人都參與其中
  • 架構(gòu)約束是解決方案設(shè)計(jì)中最具挑戰(zhàn)性的屬性之一焊刹。解決方案架構(gòu)師需要仔細(xì)管理架構(gòu)約束系任,并能夠在它們之間進(jìn)行協(xié)調(diào)以找到最佳解決方案

圖24 解決方案設(shè)計(jì)中的架構(gòu)約束

image-20211130092450709
  • 在資源有限的情況下實(shí)現(xiàn)進(jìn)度可能會(huì)影響質(zhì)量,而質(zhì)量又會(huì)因?yàn)椴槐匾?code>bug修復(fù)而增加成本虐块。所以俩滥,在成本、質(zhì)量非凌、時(shí)間和范圍之間找到平衡點(diǎn)是非常重要的举农。范圍蔓延是最具挑戰(zhàn)性的情況之一,因?yàn)樗鼤?huì)對所有其他約束產(chǎn)生負(fù)面影響敞嗡,并增加解決方案交付的風(fēng)險(xiǎn)
  • 處理范圍蔓延對項(xiàng)目的按時(shí)交付有很大幫助
  • 解決方案架構(gòu)師需要為解決方案確定適合的技術(shù)颁糟。解決方案架構(gòu)師需要在技術(shù)層面具備廣度和深度,才能做出正確的決策喉悴,因?yàn)樗x擇的技術(shù)棧會(huì)影響產(chǎn)品的整體交付
  • 創(chuàng)建原型可能是作為解決方案架構(gòu)師最有趣的部分棱貌。為了選擇一個(gè)經(jīng)過驗(yàn)證的技術(shù),解決方案架構(gòu)師需要在各種技術(shù)棧中開發(fā)概念驗(yàn)證(ProofOfConcept箕肃,POC)婚脱,以分析它們是否適合解決方案的功能性和非功能性需求
  • 開發(fā)POC的思路是實(shí)現(xiàn)關(guān)鍵功能的一部分來評估技術(shù),這可以幫助我們根據(jù)其能力來決定技術(shù)棧。它的生命周期很短障贸,并且僅限于由團(tuán)隊(duì)或組織內(nèi)的專家進(jìn)行評審
  • 解決方案設(shè)計(jì)POC是指解決方案架構(gòu)師試圖弄清楚解決方案的基礎(chǔ)構(gòu)件

圖2-5所示的流程圖顯示了解決方案交付生命周期错森。解決方案架構(gòu)師參與了解決方案設(shè)計(jì)和交付的所有階段

image-20211130092522389
  • 解決方案架構(gòu)師不僅僅負(fù)責(zé)解決方案的設(shè)計(jì),他們還幫助項(xiàng)目經(jīng)理進(jìn)行資源和成本估算篮洁,定義項(xiàng)目的時(shí)間表和里程碑涩维、項(xiàng)目的發(fā)布及其支持計(jì)劃。解決方案架構(gòu)師的工作貫穿解決方案生命周期的不同階段袁波,從設(shè)計(jì)到交付及發(fā)布都有參與瓦阐。解決方案架構(gòu)師通過提供專業(yè)知識(shí)和對項(xiàng)目廣泛的了解,幫助開發(fā)團(tuán)隊(duì)克服重重障礙和壁壘
  • 敏捷方法主張通過保持客戶和利益相關(guān)者的密切參與來尋求持續(xù)反饋篷牌,讓他們參與產(chǎn)品開發(fā)的每一個(gè)階段睡蟋,將反饋調(diào)整為需求,評估市場趨勢枷颊,并與他們一起確定利益相關(guān)者的優(yōu)先級(jí)
  • 解決方案架構(gòu)師處理各種項(xiàng)目約束戳杀,如成本、質(zhì)量偷卧、范圍和資源豺瘤,并在它們之間尋找平衡。
  • 解決方案架構(gòu)師幫助項(xiàng)目經(jīng)理估算成本和資源听诸,確定時(shí)間表,并貫穿項(xiàng)目從設(shè)計(jì)到發(fā)布的全過程蚕泽。在項(xiàng)目實(shí)施過程中晌梨,解決方案架構(gòu)師要確保滿足利益相關(guān)者的期望,并擔(dān)任技術(shù)團(tuán)隊(duì)與業(yè)務(wù)團(tuán)隊(duì)之間的聯(lián)絡(luò)人须妻。解決方案架構(gòu)師參與發(fā)布后的應(yīng)用程序監(jiān)控仔蝌、告警、安全性荒吏、災(zāi)難恢復(fù)和擴(kuò)展等相關(guān)工作

第3章 解決方案架構(gòu)的屬性

  • 可伸縮性一直以來都是設(shè)計(jì)解決方案時(shí)的主要考慮因素
  • 可伸縮性意味著系統(tǒng)能夠處理不斷增長的工作負(fù)載敛惊,并且可以應(yīng)用于架構(gòu)的不同層次,例如應(yīng)用服務(wù)器绰更、Web應(yīng)用程序和數(shù)據(jù)庫
  • 按需擴(kuò)容和收縮瞧挤。而公有云讓這一切變得非常簡單
  • 在應(yīng)用程序的不同層上實(shí)現(xiàn)彈性
  • 應(yīng)用程序宕機(jī)是組織不愿意看到的沙热,它會(huì)導(dǎo)致業(yè)務(wù)和用戶的信任度受到損失媒鼓,這使得高可用性成為設(shè)計(jì)解決方案架構(gòu)時(shí)的主要考慮因素之一
  • 要實(shí)現(xiàn)高可用性(HighAvailability蛙紫,HA)架構(gòu)否副,最好將工作負(fù)載分布在數(shù)據(jù)中心相互隔離的區(qū)域中
  • 解決方案架構(gòu)需要考慮的另一個(gè)因素是韌性扒披。當(dāng)應(yīng)用程序出現(xiàn)故障或者面臨斷斷續(xù)續(xù)的問題時(shí)堂飞,應(yīng)當(dāng)采取自我修復(fù)原則路狮,這意味著應(yīng)用程序應(yīng)該能夠在沒有人工干預(yù)的情況下自行恢復(fù)
  • 如以上架構(gòu)所示步绸,負(fù)載均衡器將監(jiān)控實(shí)例的運(yùn)行狀況。一旦某個(gè)實(shí)例停止接收請求显拜,負(fù)載均衡器就會(huì)將它從服務(wù)器機(jī)群中刪除衡奥,并通知自動(dòng)伸縮程序啟動(dòng)新的服務(wù)器進(jìn)行替換
  • 100%容錯(cuò)的架構(gòu)會(huì)因?yàn)樵黾拥娜哂喽葘?dǎo)致高額的成本。容錯(cuò)能力的規(guī)劃取決于應(yīng)用程序的重要性
  • 始終從最小的權(quán)限開始远荠,根據(jù)用戶角色的要求進(jìn)一步提供訪問權(quán)限
  • 通過將所有內(nèi)容部署在公司防火墻后并盡可能地避免互聯(lián)網(wǎng)訪問來將系統(tǒng)暴露降至最低
  • 對服務(wù)器的邏輯訪問必須通過網(wǎng)絡(luò)安全來保護(hù)杰赛,這可以通過配置恰當(dāng)?shù)姆阑饓Σ呗詠韺?shí)現(xiàn)
  • 必須建立一種機(jī)制以在任何安全漏洞發(fā)生時(shí)立刻識(shí)別并采取行動(dòng)
  • 在軟件開發(fā)生命周期中,DevSecOps將最佳實(shí)踐應(yīng)用于實(shí)現(xiàn)安全需求與安全響應(yīng)的自動(dòng)化矮台,它也因此被越來越多的組織所采用
  • 所有的活動(dòng)都需要記錄并在需要時(shí)發(fā)送給審計(jì)師乏屯。任何個(gè)人身份信息(PersonalIdentifiableInformationPII)數(shù)據(jù)(例如客戶電子郵件ID瘦赫、電話號(hào)碼和信用卡號(hào))都需要加密

第4章 解決方案架構(gòu)的設(shè)計(jì)原則

  • 要獲得出色的性能辰晕,請?jiān)诩軜?gòu)設(shè)計(jì)的每一層中使用緩存。緩存可以將數(shù)據(jù)保留在用戶的本地存儲(chǔ)确虱,或?qū)?shù)據(jù)保存在內(nèi)存中含友,以提供超快響應(yīng)
  1. 通過用戶系統(tǒng)中的瀏覽器緩存來加載頻繁請求的網(wǎng)頁
  2. 使用DNS緩存可以快速查詢網(wǎng)站地址
  3. 通過CDN在用戶位置附近緩存高分辨率圖像和視頻
  4. 在服務(wù)器層面,最大限度地利用內(nèi)存緩存來服務(wù)用戶請求
  5. 使用RedisMemcached之類的緩存引擎來處理緩存層的頻繁查詢
  6. 使用數(shù)據(jù)庫緩存來處理內(nèi)存中的頻繁查詢
  7. 注意每一層的緩存過期和緩存逐出情況
  8. 談到面向服務(wù)的思想校辩,解決方案架構(gòu)師總是傾向于采用SOA窘问。最流行的兩種SOA分別是基于SOAPSimpleObjectAccessProtocol,簡單對象訪問協(xié)議)服務(wù)的架構(gòu)和基于RESTful服務(wù)的架構(gòu)

圖47 單體架構(gòu)與微服務(wù)架構(gòu)

image-20211130092627070
  • 解決方案架構(gòu)師在進(jìn)行數(shù)據(jù)存儲(chǔ)選型時(shí)需要考慮眾多因素宜咒,以滿足相應(yīng)的技術(shù)要求
  1. 耐久性要求:應(yīng)如何存儲(chǔ)數(shù)據(jù)以防止數(shù)據(jù)損壞惠赫?
  2. 數(shù)據(jù)可用性:哪個(gè)數(shù)據(jù)存儲(chǔ)系統(tǒng)可以被用來傳遞數(shù)據(jù)?
  3. 延時(shí)要求:數(shù)據(jù)應(yīng)該在多短的時(shí)間內(nèi)返回故黑?
  4. 數(shù)據(jù)吞吐量:數(shù)據(jù)讀寫的需求是什么儿咱?
  5. 數(shù)據(jù)大小:數(shù)據(jù)存儲(chǔ)的需求是什么场晶?
  6. 數(shù)據(jù)負(fù)載:需要支持多少并發(fā)用戶混埠?
  7. 數(shù)據(jù)完整性:如何保持?jǐn)?shù)據(jù)的準(zhǔn)確性和一致性?
  8. 數(shù)據(jù)查詢:數(shù)據(jù)查詢的特征是什么诗轻?

表41 數(shù)據(jù)類型及其示例與存儲(chǔ)類型

image-20211130092719346
  • 在選擇存儲(chǔ)時(shí)钳宪,需要考慮數(shù)據(jù)的溫度(數(shù)據(jù)根據(jù)溫度可以分為熱數(shù)據(jù)、溫?cái)?shù)據(jù)和冷數(shù)據(jù)):
  1. 對于熱數(shù)據(jù)扳炬,必須使用緩存并且延遲達(dá)到亞毫秒級(jí)的緩存數(shù)據(jù)存儲(chǔ)吏颖。股票交易和實(shí)時(shí)產(chǎn)品推薦數(shù)據(jù)都是熱數(shù)據(jù)
  2. 對于溫?cái)?shù)據(jù)(例如財(cái)務(wù)報(bào)表編制或產(chǎn)品性能報(bào)告數(shù)據(jù)),因?yàn)榭梢猿惺芤欢ǖ难舆t(從幾秒到幾分鐘)鞠柄,應(yīng)該使用數(shù)據(jù)倉庫或關(guān)系型數(shù)據(jù)庫
  3. 對于冷數(shù)據(jù)(例如出于審計(jì)需要而存儲(chǔ)3年的財(cái)務(wù)記錄)侦高,可以以小時(shí)為單位規(guī)劃延遲,并將其存儲(chǔ)在存檔中
  • 作為解決方案架構(gòu)師厌杜,你不僅要考慮應(yīng)用程序設(shè)計(jì)奉呛,還要考慮整體的業(yè)務(wù)價(jià)值定位计螺,這與應(yīng)用程序的其他因素息息相關(guān),它有助于提高客戶滿意度并最大化投資回報(bào)率瞧壮。數(shù)據(jù)就是黃金登馒,對數(shù)據(jù)的深入了解可以極大地提升組織的盈利能力
  • 主要的約束包括成本、時(shí)間咆槽、預(yù)算陈轿、范圍、排期和資源秦忿。如何克服這些約束是設(shè)計(jì)解決方案時(shí)需要考慮的重要因素之一
  • MoSCoW是一種流行的需求優(yōu)先級(jí)排序法麦射,可以將客戶的需求分為以下幾類:
  1. MoMusthave,必須具備):對客戶來說至關(guān)重要灯谣,沒有的話產(chǎn)品將無法發(fā)布
  2. SShouldhave潜秋,應(yīng)該具備):一旦客戶開始使用該應(yīng)用程序,它們就是客戶最想要
  3. CoCloudhave胎许,可以具備):錦上添花的需求峻呛,但是沒有它們也不會(huì)影響應(yīng)用程序該有的功能
  4. WWonthave,不需要具備):即便沒有也不會(huì)引起客戶關(guān)注的需求

你需要為客戶規(guī)劃包含Mo需求的最小價(jià)值產(chǎn)品(MinimumViableProduct辜窑,MVP)版本钩述,然后在接下來的迭代中交付S需求。使用這種分階段交付的方式穆碎,你可以充分利用各種資源并克服時(shí)間牙勘、預(yù)算、范圍和資源方面的挑戰(zhàn)惨远。MVP方法可幫助你更好地確定客戶需求

  • 采取敏捷方法可幫助你克服各種約束并構(gòu)建以客戶為中心的產(chǎn)品谜悟。在設(shè)計(jì)原則方面,應(yīng)將一切約束視為挑戰(zhàn)而非障礙北秽,并尋找解決方案
  1. 安全是解決方案設(shè)計(jì)最重要的方面之一,安全上的任何差池都可能對業(yè)務(wù)和組織的未來造成毀滅性的影響
  2. 數(shù)據(jù)中心的物理安全:數(shù)據(jù)中心的所有IT資源都應(yīng)受到保護(hù)最筒,以防未經(jīng)授權(quán)的訪問
  3. 網(wǎng)絡(luò)安全:網(wǎng)絡(luò)應(yīng)該是安全的贺氓,以防止未經(jīng)授權(quán)的服務(wù)器訪問
  4. 身份和訪問管理(IdentityandAccessManagementIAM):只有經(jīng)過身份驗(yàn)證的用戶才能訪問應(yīng)用程序床蜘,用戶可以根據(jù)自己的授權(quán)進(jìn)行相應(yīng)的操作
  5. 數(shù)據(jù)傳輸安全:通過網(wǎng)絡(luò)或互聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)傳輸時(shí)辙培,數(shù)據(jù)應(yīng)該是安全的
  6. 靜態(tài)數(shù)據(jù)安全:存儲(chǔ)在數(shù)據(jù)庫或任何其他存儲(chǔ)中的數(shù)據(jù)應(yīng)該是安全的
  7. 安全監(jiān)控:任何安全突發(fā)事件都應(yīng)該被捕獲,并提醒團(tuán)隊(duì)采取行動(dòng)
  • 任何可重復(fù)執(zhí)行的任務(wù)都應(yīng)該被自動(dòng)化邢锯,以釋放寶貴的人力資源扬蕊,這樣團(tuán)隊(duì)成員就可以將時(shí)間花在更激動(dòng)人心的工作上,并專注于解決實(shí)際問題丹擎。這樣也有助于提高團(tuán)隊(duì)士氣
  1. 應(yīng)用程序測試:應(yīng)用程序的每次更新都需要測試尾抑,以確保沒有任何功能被破壞歇父。另外,人工測試非常耗時(shí)再愈,并且需要大量資源榜苫。最好對可重復(fù)的測試用例進(jìn)行自動(dòng)化,以加快產(chǎn)品部署和發(fā)布的速度翎冲。應(yīng)對生產(chǎn)環(huán)境的伸縮進(jìn)行自動(dòng)化測試垂睬,并使用滾動(dòng)部署技術(shù)(如金絲雀測試和A/B測試)來發(fā)布變更
  2. IT基礎(chǔ)設(shè)施:可以通過基礎(chǔ)設(shè)施即代碼(InfrastructureasCodeIaC)腳本(例如Ansible抗悍、TerraformAmazonCloudFormation)來實(shí)現(xiàn)基礎(chǔ)設(shè)施的自動(dòng)化驹饺。基礎(chǔ)設(shè)施的自動(dòng)化能夠在數(shù)分鐘(而非數(shù)天)內(nèi)完成環(huán)境的搭建
  3. 日志缴渊、監(jiān)控和告警:監(jiān)控是系統(tǒng)的重要組件赏壹,你肯定希望每時(shí)每刻都能監(jiān)控到所有內(nèi)容。你可能還希望通過監(jiān)控來實(shí)現(xiàn)其他自動(dòng)化措施疟暖,例如系統(tǒng)的自動(dòng)伸縮或自動(dòng)提醒團(tuán)隊(duì)采取行動(dòng)
  4. 部署自動(dòng)化:部署是一項(xiàng)重復(fù)的工作卡儒,并且非常耗時(shí),很多應(yīng)急場景下俐巴,都因部署問題導(dǎo)致了上線緊急關(guān)頭的延遲骨望。通過CI/CD(持續(xù)集成和持續(xù)部署)搭建自動(dòng)化的部署流水線,可以讓你更加敏捷欣舵,并通過頻繁的部署來快速迭代產(chǎn)品功能
  5. 安全自動(dòng)化:在對一切自動(dòng)化的同時(shí)擎鸠,不要忘了對安全進(jìn)行自動(dòng)化。如果有人試圖侵入應(yīng)用程序缘圈,你肯定想要立即知道并迅速行動(dòng)劣光。你希望自動(dòng)監(jiān)控系統(tǒng)邊界上的流入流量和流出流量,以便采取預(yù)防措施糟把,并在可疑活動(dòng)發(fā)生時(shí)得到告警

第5章 云遷移和混合云架構(gòu)設(shè)計(jì)

  • 有了云绢涡,企業(yè)不僅可以在全球范圍內(nèi)快速地獲得基礎(chǔ)設(shè)施,還可以使用前所未有的各種技術(shù)遣疯。包括使用以下各種尖端技術(shù):
  1. 大數(shù)據(jù)
  2. 分析
  3. 機(jī)器學(xué)習(xí)
  4. 人工智能
  5. 機(jī)器人學(xué)
  6. 物聯(lián)網(wǎng)(IoT
  7. 區(qū)塊鏈
  • 在云計(jì)算思維下雄可,你將遵循“按需付費(fèi)”模式。你需要適當(dāng)?shù)貎?yōu)化工作負(fù)載并只在需要時(shí)運(yùn)行服務(wù)器
  • LiftandShift是最快的遷移方式缠犀,因?yàn)橹恍枰钚〉墓ぷ髁考纯蛇w移應(yīng)用程序数苫。但是它沒有利用云原生的優(yōu)勢
  1. 最常見的LiftandShift策略是重新托管(Rehost)、更換平臺(tái)(Replatform)及重新部署(Relocate)辨液,它們通常只需要對應(yīng)用程序進(jìn)行最小的變更虐急,就可以完成遷移
  2. Rehost方法速度快、可預(yù)測滔迈、可重復(fù)并且經(jīng)濟(jì)實(shí)用止吁,這使其成為遷移上云的最優(yōu)選擇被辑。Rehost是最快的云遷移策略之一,它將本地環(huán)境中的服務(wù)器或應(yīng)用程序直接整體遷移到云上赏殃。在遷移過程中敷待,只需要對應(yīng)用程序進(jìn)行最小的更改
  3. 使用Replatform遷移策略時(shí),可能需要在目標(biāo)環(huán)境中重新安裝應(yīng)用程序仁热,這將導(dǎo)致應(yīng)用程序變更
  4. 在本地?cái)?shù)據(jù)中心榜揖,你可能會(huì)采用容器或VMware虛擬設(shè)備來部署應(yīng)用程序。你可以使用名為Relocate的加速遷移策略將此類工作負(fù)載移到云上抗蠢。Relocate可以在幾天之內(nèi)遷移上百個(gè)應(yīng)用程序举哟。你可以以最小的工作量和最簡的方式將基于VMware和容器技術(shù)的應(yīng)用程序快速重新部署到云上
  5. Refactor需要更多的時(shí)間和資源來重寫應(yīng)用程序,并進(jìn)行重新架構(gòu)迅矛,然后才能遷移上云妨猩。具有豐富云經(jīng)驗(yàn)或高級(jí)技術(shù)人員的組織通常使用這種方式
  6. 當(dāng)IT資源和項(xiàng)目都遷移到云上后,可能需要為某些服務(wù)器或應(yīng)用程序購買與云兼容的許可證或發(fā)行版
  7. Retain:本地環(huán)境中可能會(huì)存在一些對業(yè)務(wù)至關(guān)重要秽褒,但由于技術(shù)原因(例如壶硅,云平臺(tái)上不支持某個(gè)操作系統(tǒng)或應(yīng)用程序)不適合遷移的應(yīng)用程序。在這種情況下销斟,可以讓它們繼續(xù)運(yùn)行在本地環(huán)境中
  8. 對于即將停用的主機(jī)和應(yīng)用程序庐椒,可以采用Retire策略

第7章 性能考量

  • 吞吐量=(平均I/O大小)×IOPS
  • 如果磁盤IOPS是20000蚂踊,I/O大小是4KB(4096字節(jié))约谈,那么吞吐量將是81.9MB/s

第10章 卓越運(yùn)維考量

  • 新服務(wù)器的啟動(dòng)或服務(wù)的開啟和停止這類工作應(yīng)該通過基礎(chǔ)設(shè)施即代碼(InfrastructureasCodeIaC)來實(shí)現(xiàn)自動(dòng)化犁钟。最重要的是應(yīng)該使用自動(dòng)化來主動(dòng)發(fā)現(xiàn)和響應(yīng)安全威脅棱诱,這樣運(yùn)維團(tuán)隊(duì)也可以得到解放
  • 一定要建立相應(yīng)的流程,讓系統(tǒng)運(yùn)維不依賴具體的人涝动,而且要記錄運(yùn)維流程的所有環(huán)節(jié)
  • 運(yùn)維手冊中需要記錄所有以前的事件和團(tuán)隊(duì)成員為解決這些事件所采取的行動(dòng)迈勋,這樣有利于新的團(tuán)隊(duì)成員在系統(tǒng)運(yùn)維時(shí)快速解決類似事件
  • 設(shè)計(jì)運(yùn)維時(shí),請參考以下最佳實(shí)踐:
  1. 使用腳本自動(dòng)化運(yùn)維手冊醋粟,以減少人為錯(cuò)誤粪躬,因?yàn)槿藶殄e(cuò)誤會(huì)增加運(yùn)維負(fù)擔(dān)
  2. 根據(jù)定義好的(資源標(biāo)識(shí))標(biāo)準(zhǔn)(例如環(huán)境、版本昔穴、應(yīng)用程序所有者和角色),使用資源標(biāo)識(shí)機(jī)制來執(zhí)行各種操作
  3. 將事件響應(yīng)流程自動(dòng)化提前,以便在發(fā)生故障的情況下吗货,系統(tǒng)不需要太多人為干預(yù)即可開始自我修復(fù)
  4. 使用各種工具和功能來自動(dòng)管理服務(wù)器實(shí)例和整個(gè)系統(tǒng)
  5. 在實(shí)例上創(chuàng)建腳本,以便在服務(wù)器啟動(dòng)時(shí)自動(dòng)安裝必需的軟件和安全補(bǔ)丁狈网。這些腳本也稱為引導(dǎo)腳本
  • 卓越運(yùn)維的設(shè)計(jì)原則宙搬。這些原則倡導(dǎo)自動(dòng)化運(yùn)維笨腥、持續(xù)改進(jìn)、增量變更勇垛、故障預(yù)測和響應(yīng)準(zhǔn)備脖母。另外,還介紹了實(shí)現(xiàn)卓越運(yùn)維的各個(gè)階段以及相應(yīng)的技術(shù)選型闲孤。對于規(guī)劃階段谆级,介紹了IT資產(chǎn)管理,它可以跟蹤IT資源的庫存資產(chǎn)讼积;還介紹了配置管理肥照,它可以確定資產(chǎn)之間的依賴關(guān)系
  1. 對于執(zhí)行階段,探討了告警和監(jiān)控勤众,通過各種示例介紹了不同的監(jiān)控類型舆绎,其中包括基礎(chǔ)設(shè)施、應(yīng)用程序们颜、日志吕朵、安全和平臺(tái)監(jiān)控。此外窥突,論述了告警的重要性努溃,并介紹了如何定義告警的嚴(yán)重級(jí)別和與之對應(yīng)的響應(yīng)
  2. 對于改進(jìn)階段,介紹了如何通過大數(shù)據(jù)流水線來進(jìn)行IT運(yùn)維分析波岛,如何使用“五問”(5Why)法來執(zhí)行RCA茅坛,以及審計(jì)的重要性。審計(jì)可以使系統(tǒng)免受任何惡意行為和未被注意到的威脅的侵害

第12章 DevOps和解決方案架構(gòu)框架

  • 每個(gè)團(tuán)隊(duì)都有自己的一套工具则拷、流程和方法贡蓖,這樣不僅非常多余,有時(shí)煌茬,它們之間還會(huì)產(chǎn)生沖突
  • DevOps有助于在不影響質(zhì)量斥铺、可靠性、穩(wěn)定性坛善、韌性或安全性的情況下完成交付
  • DevOps(開發(fā)運(yùn)維的簡稱)方法中晾蜘,開發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)在軟件開發(fā)生命周期的構(gòu)建和部署階段協(xié)同工作,分擔(dān)責(zé)任眠屎,并提供持續(xù)反饋剔交。在整個(gè)構(gòu)建階段,軟件構(gòu)建會(huì)在類生產(chǎn)環(huán)境中被頻繁地測試改衩,這樣有助于及早發(fā)現(xiàn)缺陷
  • DevOps實(shí)踐鼓勵(lì)軟件開發(fā)工程師和專業(yè)運(yùn)維人員更好地合作岖常。這有助于更密切的合作和溝通,從而縮短產(chǎn)品推向市場的時(shí)間(TimeToMarket葫督,TTM)竭鞍,讓發(fā)布更加可靠板惑,提高代碼質(zhì)量,使系統(tǒng)更易于維護(hù)
  • DevOps是文化和實(shí)踐的結(jié)合偎快。它要求組織改變其文化冯乘,打破產(chǎn)品開發(fā)和交付生命周期中所有團(tuán)隊(duì)之間的壁壘。DevOps不僅僅涉及開發(fā)和運(yùn)維晒夹,還涉及整個(gè)組織裆馒,包括管理層、業(yè)務(wù)/應(yīng)用負(fù)責(zé)人惋戏、開發(fā)人員领追、QA工程師、發(fā)布經(jīng)理响逢、運(yùn)維團(tuán)隊(duì)和系統(tǒng)管理員绒窑。DevOps作為首選的運(yùn)維文化,越來越受歡迎舔亭,特別是對于那些涉及云計(jì)算或分布式計(jì)算的組織
  • DevOps的工具和自動(dòng)化將開發(fā)及系統(tǒng)運(yùn)維結(jié)合在一起些膨。以下是DevOps實(shí)踐的關(guān)鍵組成部分:
  1. 持續(xù)集成和持續(xù)交付(CI/CD
  2. 持續(xù)監(jiān)控和改進(jìn)
  3. 基礎(chǔ)設(shè)施即代碼(IaC
  4. 配置管理(CM
  • IaC的實(shí)踐中,基礎(chǔ)設(shè)施是通過代碼和CI來配置和管理的
  • Ansible钦铺、TerraformAWSCloudFormation是時(shí)下流行的基礎(chǔ)設(shè)施即代碼的腳本工具
  • 在追求完全自動(dòng)化的過程中安全是當(dāng)務(wù)之急订雾。為了避免人為錯(cuò)誤,組織正在利用DevOps實(shí)施嚴(yán)格的安全實(shí)施和監(jiān)控矛洞,俗稱DevSecOps
  • 我們現(xiàn)在比以往任何時(shí)候都更加注重安全洼哎。在很多情況下,安全是贏得客戶關(guān)注的唯一途徑沼本。DevSecOps關(guān)注自動(dòng)化安全和規(guī)呢停化安全實(shí)施
  • DevSecOps則需要在整個(gè)流程中確保應(yīng)用程序的安全
  • DevOps是為了提高效率以加快產(chǎn)品發(fā)布,而DevSecOps則是在不減慢產(chǎn)品發(fā)布周期的情況下驗(yàn)證所有構(gòu)件

圖12-4 DevSecOpsCI/CD

image-20211130093320355
  1. 編碼階段抽兆,掃描所有代碼识补,以確保沒有密碼或訪問密鑰被硬編碼在代碼中
  2. 在構(gòu)建階段,標(biāo)記所有安全工件辫红,如加密密鑰和訪問令牌管理等
  3. 在測試階段凭涂,掃描配置,通過安全測試確保滿足所有安全標(biāo)準(zhǔn)
  4. 在部署和環(huán)境準(zhǔn)備階段贴妻,確保所有安全組件都已注冊切油。執(zhí)行校驗(yàn),確保構(gòu)建物沒有被篡改
  5. 在監(jiān)控階段名惩,監(jiān)控所有違反安全標(biāo)準(zhǔn)的情況白翻,以自動(dòng)化的方式執(zhí)行持續(xù)審計(jì)和驗(yàn)證

第13章 數(shù)據(jù)工程和機(jī)器學(xué)習(xí)

  • 在數(shù)據(jù)架構(gòu)中,數(shù)據(jù)流水線一般以數(shù)據(jù)為起點(diǎn),以洞見為終點(diǎn)滤馍。如何從起點(diǎn)到終點(diǎn),取決于一系列的因素

如圖13-1所示底循,大數(shù)據(jù)流水線的標(biāo)準(zhǔn)工作流程包括以下步驟:

image-20211130093427922
  1. 通過合適的工具收集數(shù)據(jù)(攝瘸仓辍)
  2. 持久化存儲(chǔ)數(shù)據(jù)
  3. 數(shù)據(jù)處理或分析。從存儲(chǔ)中獲取數(shù)據(jù)熙涤,對其進(jìn)行操作阁苞,然后將處理后的數(shù)據(jù)再次存儲(chǔ)
  4. 數(shù)據(jù)被其他處理/分析工具使用,或者被同一工具再次處理祠挫,從數(shù)據(jù)中獲得進(jìn)一步的結(jié)果
  5. 為了使結(jié)果對業(yè)務(wù)用戶有用那槽,使用商業(yè)智能(BI)工具將結(jié)果可視化,或者將結(jié)果輸入機(jī)器學(xué)習(xí)算法中進(jìn)行預(yù)測
  6. 一旦將合理的結(jié)果呈現(xiàn)給用戶等舔,這就為他們提供了對數(shù)據(jù)的洞見骚灸,然后他們可以采用這些數(shù)據(jù)進(jìn)行進(jìn)一步的業(yè)務(wù)決策

圖132 大數(shù)據(jù)架構(gòu)設(shè)計(jì)中的工具與流程

image-20211130093521741
  • 數(shù)據(jù)湖是結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的集中存儲(chǔ)庫。數(shù)據(jù)湖正在成為在集中存儲(chǔ)中存儲(chǔ)和分析大量數(shù)據(jù)的一種流行方式慌植。它按原樣存儲(chǔ)數(shù)據(jù)甚牲,使用開源文件格式來實(shí)現(xiàn)直接分析。由于數(shù)據(jù)可以按當(dāng)前格式原樣存儲(chǔ)蝶柿,因此不需要將數(shù)據(jù)轉(zhuǎn)換為預(yù)定義的模式丈钙,從而提高了數(shù)據(jù)攝取的速度
  • 數(shù)據(jù)湖的好處如下:
  1. 從各種來源攝取數(shù)據(jù)
  2. 采集并高效存儲(chǔ)數(shù)據(jù)
  3. 隨著產(chǎn)生的數(shù)據(jù)量不斷擴(kuò)展
  4. 將分析方法應(yīng)用于不同來源的數(shù)據(jù)

圖13-5 數(shù)據(jù)湖的對象存儲(chǔ)

image-20211130093556969

圖136 使用數(shù)據(jù)湖ETL流水線處理數(shù)據(jù)

image-20211130093615494
  • 假設(shè)你的公司想為新玩具的上市向潛在客群發(fā)送營銷優(yōu)惠,你需要設(shè)計(jì)一個(gè)系統(tǒng)來識(shí)別營銷活動(dòng)的目標(biāo)客群交汤〕猓客群可能是數(shù)以百萬計(jì)的用戶,你需要對他們進(jìn)行預(yù)測分析芙扎,而ML可以幫助你解決這一復(fù)雜問題
  • ML就是利用技術(shù)手段根據(jù)歷史數(shù)據(jù)來發(fā)現(xiàn)趨勢星岗、模式,并計(jì)算數(shù)學(xué)預(yù)測模型纵顾。ML可以幫助解決以下復(fù)雜問題:
  • 當(dāng)你可能不知道如何創(chuàng)建復(fù)雜的代碼規(guī)則來做決定時(shí)伍茄。例如,如果你想從圖像和語音中識(shí)別人們的情緒施逾,但無法通過簡單的方法編寫實(shí)現(xiàn)邏輯
  • 當(dāng)你需要人類的專業(yè)知識(shí)分析大量的數(shù)據(jù)來進(jìn)行決策敷矫,但數(shù)據(jù)量太大,人類無法高效完成時(shí)汉额。例如曹仗,雖然人類可以檢測垃圾郵件,但數(shù)據(jù)量太大蠕搜,人工快速完成不切實(shí)際
  • 當(dāng)你需要根據(jù)個(gè)人數(shù)據(jù)調(diào)整和個(gè)性化用戶行為讓相關(guān)信息動(dòng)態(tài)有效時(shí)怎茫。例如個(gè)性化的產(chǎn)品推薦或網(wǎng)站個(gè)性化
  • 當(dāng)有很多任務(wù)和很多可用數(shù)據(jù),但你無法快速跟蹤信息來做出有規(guī)則的決策時(shí)。例如轨蛤,欺詐檢測和自然語言處理
  • 機(jī)器學(xué)習(xí)背后的主要思想是將一個(gè)訓(xùn)練數(shù)據(jù)集提供給機(jī)器學(xué)習(xí)算法蜜宪,讓它從新的數(shù)據(jù)集中預(yù)測一些東西

例如,將一些股市趨勢歷史數(shù)據(jù)提供給機(jī)器學(xué)習(xí)模型祥山,讓它預(yù)測未來6個(gè)月到1年的市場波動(dòng)情況

  • 機(jī)器學(xué)習(xí)就是與數(shù)據(jù)打交道圃验。訓(xùn)練數(shù)據(jù)和標(biāo)簽的質(zhì)量對ML模型的成功至關(guān)重要。高質(zhì)量的數(shù)據(jù)能讓ML模型更準(zhǔn)確缝呕,預(yù)測更正確
  • 在現(xiàn)實(shí)世界中疹启,數(shù)據(jù)往往存在多種問題鲜滩,如缺失值凭迹、噪聲偿枕、偏差、離群值等栈暇。數(shù)據(jù)科學(xué)的部分作用就是對數(shù)據(jù)進(jìn)行清洗麻裁,讓它為機(jī)器學(xué)習(xí)做好準(zhǔn)備
  • 要進(jìn)行數(shù)據(jù)準(zhǔn)備,首先要了解業(yè)務(wù)問題瞻鹏。數(shù)據(jù)科學(xué)家通常非潮ⅲ渴望直接沉浸到數(shù)據(jù)里,開始編寫模型新博,產(chǎn)生洞見

如圖13-8所示薪夕,機(jī)器學(xué)習(xí)工作流程包括以下階段:

  1. 預(yù)處理:在這個(gè)階段,數(shù)據(jù)科學(xué)家對數(shù)據(jù)進(jìn)行預(yù)處理赫悄,并將其劃分為訓(xùn)練原献、驗(yàn)證和測試數(shù)據(jù)集。ML模型使用訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練埂淮,并使用驗(yàn)證數(shù)據(jù)集進(jìn)行評估姑隅。一旦模型就緒,就可以使用測試數(shù)據(jù)集來測試它倔撞〗惭觯考慮到數(shù)據(jù)量和業(yè)務(wù)用例,一般需要將數(shù)據(jù)劃分為訓(xùn)練集痪蝇、測試集和驗(yàn)證集鄙陡,可以將70%的數(shù)據(jù)用于訓(xùn)練,10%用于驗(yàn)證躏啰,20%用于測試
  2. 學(xué)習(xí):在學(xué)習(xí)階段趁矾,要根據(jù)業(yè)務(wù)用例和數(shù)據(jù)選擇合適的機(jī)器學(xué)習(xí)算法。學(xué)習(xí)階段是機(jī)器學(xué)習(xí)流程中的核心给僵,會(huì)在訓(xùn)練數(shù)據(jù)集上訓(xùn)練ML模型毫捣。為了獲得精準(zhǔn)的模型,你需要對各種超參數(shù)進(jìn)行實(shí)驗(yàn),并進(jìn)行模型選擇
  3. 評估:一旦ML模型在學(xué)習(xí)階段得到訓(xùn)練蔓同,就要用已知的數(shù)據(jù)集來評估其準(zhǔn)確性饶辙。使用預(yù)處理階段保留的驗(yàn)證數(shù)據(jù)集來評估模型。如果模型預(yù)測精度沒有達(dá)到可分辨驗(yàn)證數(shù)據(jù)確定的異常的程度牌柄,則需要根據(jù)評估結(jié)果對模型進(jìn)行必要的調(diào)整
  4. 預(yù)測:預(yù)測也被稱為推理畸悬。在這個(gè)階段,部署模型并進(jìn)行預(yù)測珊佣。這些預(yù)測可以實(shí)時(shí)進(jìn)行,也可以按批次進(jìn)行
image-20211130093729083
  • 當(dāng)模型過擬合時(shí)披粟,它將無法泛化咒锻。當(dāng)模型在訓(xùn)練集上表現(xiàn)良好,但在測試集上表現(xiàn)不佳時(shí)守屉,就可以確定模型過度擬合惑艇。這通常表明模型對于訓(xùn)練數(shù)據(jù)量來說過于靈活,這種靈活性使它除了能夠記住數(shù)據(jù)外拇泛,還記住了噪聲滨巴。過擬合對應(yīng)的是高方差,訓(xùn)練數(shù)據(jù)的微小變化會(huì)導(dǎo)致結(jié)果的巨大差異
  • 當(dāng)模型欠擬合時(shí)俺叭,模型無法捕獲訓(xùn)練數(shù)據(jù)集中的基本模式恭取。通常情況下,欠擬合表明模型太簡單或解釋變量太少熄守。欠擬合的模型靈活度不夠蜈垮,無法對真實(shí)模式進(jìn)行建模,對應(yīng)的是高偏差裕照,這表明結(jié)果在某個(gè)區(qū)域顯示出系統(tǒng)性的擬合不足

圖13-9 模型的過擬合與欠擬合

image-20211130093755763
  • 機(jī)器學(xué)習(xí)算法是整個(gè)機(jī)器學(xué)習(xí)工作流程的核心攒发,可以分為監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)

第14章 遺留系統(tǒng)架構(gòu)設(shè)計(jì)

圖14-1展示了遺留系統(tǒng)給企業(yè)帶來的巨大挑戰(zhàn)

  1. 難以滿足用戶需求
  2. 更高的維護(hù)和更新成本
  3. 技能和文檔的缺失
  4. 存在安全隱患
  5. 無法與其他系統(tǒng)兼容
image-20211130174438796

14.1.1 難以滿足用戶需求

  • 以客戶為中心是業(yè)務(wù)成功的關(guān)鍵,無法趕上最新的技術(shù)趨勢將給業(yè)務(wù)帶來巨大的傷害
  • 在當(dāng)前技術(shù)日新月異晋南、競爭激烈的環(huán)境下惠猿,用戶有著非常高的要求。企業(yè)必須根據(jù)用戶的條件作出應(yīng)變负间,因?yàn)樗麄冇卸喾N需求

14.1.2 維護(hù)和更新費(fèi)用較高

  • 遺留系統(tǒng)中有大量的專有軟件偶妖,讓許可費(fèi)大大增加。除此之外唉擂,老舊的軟件不再得到供應(yīng)商的支持餐屎,在軟件生命周期外購買額外的支持可能會(huì)非常昂貴
  • 由于利益相關(guān)者看不到現(xiàn)代化改造的直接效益,因此獲取遺留系統(tǒng)現(xiàn)代化改造的資金會(huì)面臨很大的挑戰(zhàn)

14.1.3 缺乏技能和文檔

  • 遺留技術(shù)(如大型機(jī))有多個(gè)相互依賴的復(fù)雜組件玩祟。這些組件通常都是昂貴的專用服務(wù)器腹缩,而且不容易得到,所以很難自己培訓(xùn)這些技能。企業(yè)很難留住應(yīng)用開發(fā)人員藏鹊,而雇用具備舊技術(shù)和舊操作系統(tǒng)實(shí)踐經(jīng)驗(yàn)的人則難上加難
  • 這些系統(tǒng)沒有適當(dāng)?shù)奈臋n來記錄這些年的工作润讥。當(dāng)老員工與新員工輪換時(shí),有可能流失大量的知識(shí)盘寡。由于缺乏知識(shí)和未知的依賴楚殿,變更系統(tǒng)的風(fēng)險(xiǎn)更高。由于系統(tǒng)的復(fù)雜性和技能的短缺竿痰,任何微小的功能需求都難以被滿足

14.1.4 存在安全風(fēng)險(xiǎn)

  • 對于遺留應(yīng)用的系統(tǒng)健康檢查往往被忽略脆粥,這使得它們更容易成為安全攻擊的目標(biāo)
  • 系統(tǒng)運(yùn)行于不安全的環(huán)境。僅僅一個(gè)漏洞就會(huì)導(dǎo)致很高的風(fēng)險(xiǎn)影涉,使你的應(yīng)用程序变隔、數(shù)據(jù)庫和關(guān)鍵信息暴露在攻擊者面前

14.1.5 無法兼容其他系統(tǒng)

  • 難以改變的遺留系統(tǒng)如果堅(jiān)持使用舊的格式,可能會(huì)導(dǎo)致系統(tǒng)無法兼容蟹倾,你的供應(yīng)商和合作伙伴可能不想使用這樣的系統(tǒng)匣缘。無法適應(yīng)標(biāo)準(zhǔn)會(huì)導(dǎo)致企業(yè)采用復(fù)雜的變通方案,降低生產(chǎn)力鲜棠,從而讓企業(yè)承擔(dān)更大的風(fēng)險(xiǎn)
  • 舊的系統(tǒng)往往建立在單體架構(gòu)上肌厨,添加任何新功能都意味著要重建和測試整個(gè)系統(tǒng)
  • 將單體應(yīng)用拆分為微服務(wù),可以解決伸縮挑戰(zhàn)豁陆,有助于應(yīng)對需求的變化

14.2 遺留系統(tǒng)現(xiàn)代化改造策略

14.2.1 系統(tǒng)現(xiàn)代化改造的好處

  • 應(yīng)用現(xiàn)代化改造的顯著優(yōu)勢如下:
  1. 客戶滿意度
  2. 與時(shí)俱進(jìn)的業(yè)務(wù)戰(zhàn)略:現(xiàn)代化改造的應(yīng)用能讓你更加敏捷柑爸,具備創(chuàng)新能力。團(tuán)隊(duì)可以舒適地適應(yīng)業(yè)務(wù)的變化需求献联,并與新技術(shù)一起發(fā)展
  3. 在競爭中保持領(lǐng)先
  4. 高可靠性和好性能
  5. 使用前沿技術(shù)的能力
  6. 節(jié)省成本

14.2.2 遺留系統(tǒng)的評估

  • 在進(jìn)行評估時(shí)竖配,解決方案架構(gòu)師需要關(guān)注以下幾方面:
  1. 架構(gòu)評估:為了讓架構(gòu)能夠與時(shí)俱進(jìn),你需要對它有整體的了解里逆〗瑁可能會(huì)出現(xiàn)這樣的情況:你決定在技術(shù)上進(jìn)行小幅升級(jí),但整體架構(gòu)是單體的原押,無法伸縮胁镐。你應(yīng)該從可伸縮性、可用性诸衔、性能和安全性等方面審視架構(gòu)
  2. 代碼和依賴性評估

14.2.3 現(xiàn)代化改造方案

  • 現(xiàn)代化改造方法如下:
  1. 架構(gòu)驅(qū)動(dòng)現(xiàn)代化改造:架構(gòu)驅(qū)動(dòng)方法需要實(shí)現(xiàn)最大的敏捷性盯漂。通常,架構(gòu)調(diào)整會(huì)采用與語言無關(guān)和與平臺(tái)無關(guān)的面向服務(wù)的架構(gòu)模式笨农,這為開發(fā)團(tuán)隊(duì)提供了更多創(chuàng)新的靈活性
  2. 采取微服務(wù)的方式能獲得可伸縮性就缆,確保與其他系統(tǒng)更好地集成
  3. 系統(tǒng)重建:解決方案架構(gòu)師需要深入了解遺留系統(tǒng),并實(shí)施逆向工程谒亦,建立新的現(xiàn)代化應(yīng)用
  4. 你需要建立一種機(jī)制竭宰,讓遺留模塊和升級(jí)模塊同時(shí)存在空郊,并能以混合方式進(jìn)行通信
  5. 遷移和增強(qiáng):如果現(xiàn)有系統(tǒng)運(yùn)行得比較好,但存在硬件和成本限制切揭,那么可以采取遷移和小范圍的增強(qiáng)方法

14.2.4 文檔和支持

圖14-4 遺留系統(tǒng)現(xiàn)代化改造技術(shù)

image-20211130174628528

14.3.1 封裝狞甚、重新托管和重新平臺(tái)化

  • 封裝是最簡單的方法,如果系統(tǒng)對業(yè)務(wù)很關(guān)鍵廓旬,并且需要與運(yùn)行采用最新技術(shù)的其他應(yīng)用進(jìn)行通信哼审,那么你可能會(huì)想采取這種方法。在封裝方法中孕豹,你需要圍繞遺留系統(tǒng)構(gòu)建API封裝器涩盾,這將允許其他業(yè)務(wù)應(yīng)用與遺留應(yīng)用通信
  • 重新托管也是最直接的方法之一,通過此方法励背,你可以將應(yīng)用遷移到另一個(gè)硬件供應(yīng)商旁赊,如云上,而不需要對代碼進(jìn)行任何更改椅野。與封裝一樣,由于供應(yīng)商合同的原因籍胯,重新托管方案可以節(jié)省一些成本
  • 重新平臺(tái)化可能會(huì)比重新托管更加復(fù)雜竟闪,并能直接發(fā)揮新操作系統(tǒng)優(yōu)勢。當(dāng)服務(wù)器即將壽終正寢(EOL)杖狼,供應(yīng)商不再提供支持和必要的安全補(bǔ)丁更新時(shí)炼蛤,組織通常會(huì)選擇這種方法
  • 在重構(gòu)方法中,你可以重構(gòu)代碼來適應(yīng)新系統(tǒng)蝶涩。在重構(gòu)時(shí)理朋,整體架構(gòu)不會(huì)變化,只是升級(jí)代碼使其更適合最新版本的編程語言和操作系統(tǒng)
  • 在重新架構(gòu)方法中绿聘,你會(huì)盡可能地重新利用現(xiàn)有代碼來改變系統(tǒng)架構(gòu)
  • 重新設(shè)計(jì)最復(fù)雜嗽上,但能獲得最大的效益。如果遺留系統(tǒng)已經(jīng)完全過時(shí)熄攘,完全無法適應(yīng)業(yè)務(wù)需求兽愤,則可以選擇這種方法

圖14-5 遺留大型機(jī)系統(tǒng)現(xiàn)代化改造上云

image-20211130174658307
  • 重新設(shè)計(jì)遺留系統(tǒng)是一項(xiàng)長期的工作,需要付出大量的努力和更高的成本挪圾。在開始大規(guī)模的現(xiàn)代化改造之前浅萧,作為解決方案架構(gòu)師,你應(yīng)該仔細(xì)分析是否有任何軟件即服務(wù)(SaaS)產(chǎn)品或商業(yè)成品軟件(CommerciallyAvailableOfftheShelf哲思,COTS)能以相對較低的成本滿足業(yè)務(wù)需求洼畅。在進(jìn)行重新設(shè)計(jì)之前,必須先進(jìn)行重新設(shè)計(jì)與購買的成本效益分析(CBA
  • SaaS產(chǎn)品是基于訂閱的棚赔,并按用戶許可證收費(fèi)帝簇,所以如果用戶數(shù)量較少徘郭,它們可以是很好的選擇。對于擁有數(shù)千名用戶的龐大企業(yè)來說己儒,選擇自建系統(tǒng)可能成本效益更高

14.4 遺留系統(tǒng)的云遷移策略

圖14-6 遺留系統(tǒng)現(xiàn)代化改造的云遷移路徑

image-20211130174728144
  • 從升級(jí)中得到的結(jié)果取決于你投入的投資和精力崎岂。在確定現(xiàn)代化改造方法之前,必須徹底了解遺留系統(tǒng)闪湾。你需要從技術(shù)冲甘、架構(gòu)、代碼等各個(gè)維度評估和了解目標(biāo)系統(tǒng)

第15章 解決方案架構(gòu)文檔

  • 為了成功地交付應(yīng)用程序途样,保持一致的溝通非常重要江醇。解決方案架構(gòu)師需要將解決方案的設(shè)計(jì)傳達(dá)給所有的技術(shù)和非技術(shù)利益相關(guān)者
  • 解決方案架構(gòu)文檔(SolutionArchitectureDocumentSAD)提供了一種端到端的應(yīng)用程序視圖何暇,解決了與應(yīng)用程序開發(fā)相關(guān)的所有利益相關(guān)者的需求陶夜,并幫助大家達(dá)成共識(shí)
  • SAD有助于實(shí)現(xiàn)以下目的:
  1. 向所有的利益相關(guān)者傳達(dá)端到端的應(yīng)用程序解決方案
  2. 提供高層次架構(gòu)和不同的應(yīng)用程序設(shè)計(jì)視圖,以滿足應(yīng)用程序的服務(wù)質(zhì)量要求裆站,如可靠性条辟、安全性、性能和可伸縮性
  3. 提供解決方案對業(yè)務(wù)需求的可追溯性宏胯,并關(guān)注應(yīng)用程序如何滿足所有的功能性和非功能性需求(NFR
  4. 提供設(shè)計(jì)羽嫡、構(gòu)建、測試和實(shí)施所需的解決方案的所有視圖
  5. 定義解決方案的影響肩袍,以便于評估杭棵、規(guī)劃和交付
  6. 定義解決方案的業(yè)務(wù)流程、延續(xù)和運(yùn)維氛赐,以便系統(tǒng)上線后不間斷運(yùn)行

圖15-1 SAD視圖

image-20211130174820191
  1. 業(yè)務(wù)視圖:架構(gòu)設(shè)計(jì)就是為了解決業(yè)務(wù)問題魂爪,明確業(yè)務(wù)目的。業(yè)務(wù)視圖顯示了整體解決方案和產(chǎn)品的價(jià)值主張艰管。為了簡化起見滓侍,解決方案架構(gòu)師可以選擇識(shí)別出與業(yè)務(wù)相關(guān)的高級(jí)場景,并將其以用例圖的形式展現(xiàn)出來蛙婴。業(yè)務(wù)視圖還描述了利益相關(guān)者和執(zhí)行項(xiàng)目所需的資源粗井。業(yè)務(wù)視圖也可以被定義為用例圖
  2. 邏輯視圖:它展示了系統(tǒng)上的各種程序包,以便業(yè)務(wù)用戶和設(shè)計(jì)人員可以明了系統(tǒng)的各種邏輯組件街图。邏輯視圖提供了它所應(yīng)當(dāng)構(gòu)建的系統(tǒng)的時(shí)間順序浇衬。它顯示了系統(tǒng)的多個(gè)組件是如何連接的,以及用戶如何與它們交互
  3. 流程視圖:它呈現(xiàn)更多的細(xì)節(jié)餐济,顯示系統(tǒng)的關(guān)鍵流程如何協(xié)同工作耘擂。這一切也可以用狀態(tài)圖來反映。如果想要展示更多的細(xì)節(jié)絮姆,還可以創(chuàng)建序列圖醉冤。在銀行應(yīng)用程序中秩霍,流程視圖可以顯示貸款或賬戶的審批情況
  4. 部署視圖:它展示了應(yīng)用程序如何在生產(chǎn)環(huán)境中工作,以及系統(tǒng)的不同組件(例如網(wǎng)絡(luò)防火墻蚁阳、負(fù)載均衡器铃绒、應(yīng)用服務(wù)器、數(shù)據(jù)庫等)是如何連接的螺捐。解決方案架構(gòu)師應(yīng)當(dāng)創(chuàng)建簡單的框圖颠悬,便于業(yè)務(wù)用戶理解,還可以在UML部署圖中添加更多細(xì)節(jié)定血,向技術(shù)用戶(如開發(fā)團(tuán)隊(duì)和DevOps團(tuán)隊(duì))展示各種節(jié)點(diǎn)組件及其依賴關(guān)系赔癌。部署視圖可以展示系統(tǒng)的物理布局
  5. 實(shí)現(xiàn)視圖:SAD的核心,體現(xiàn)了架構(gòu)上和技術(shù)上的選擇澜沟。解決方案架構(gòu)師需要把架構(gòu)圖設(shè)置在這里灾票,例如,顯示出它是3層茫虽、N層架構(gòu)刊苍,還是事件驅(qū)動(dòng)的架構(gòu),以及其背后的理由濒析。你還需要詳細(xì)說明技術(shù)選擇班缰,例如,JavaNode.js的使用對比悼枢,以及它們各自的利弊。你需要在實(shí)現(xiàn)視圖中說明執(zhí)行項(xiàng)目所需的資源和技能
  6. 數(shù)據(jù)視圖:由于大多數(shù)應(yīng)用程序都是數(shù)據(jù)驅(qū)動(dòng)的脾拆,因此數(shù)據(jù)視圖尤為重要馒索。數(shù)據(jù)視圖顯示了數(shù)據(jù)如何在不同組件之間流動(dòng),以及如何存儲(chǔ)名船。它還可以用來解釋數(shù)據(jù)安全性和數(shù)據(jù)完整性绰上。解決方案架構(gòu)師可以使用實(shí)體關(guān)系(EntityRelationshipER)圖來顯示數(shù)據(jù)庫中不同表和模式之間的關(guān)系渠驼。數(shù)據(jù)視圖還可以對所需的報(bào)告和分析進(jìn)行說明
  7. 運(yùn)維視圖:它解釋了系統(tǒng)在啟動(dòng)后如何進(jìn)行維護(hù)蜈块。通常情況下,需要定義SLA迷扇、告警和監(jiān)控功能百揭、災(zāi)難恢復(fù)計(jì)劃,以及系統(tǒng)的支持計(jì)劃蜓席。運(yùn)維視圖還提供了有關(guān)如何進(jìn)行系統(tǒng)維護(hù)的詳細(xì)信息器一,包括修復(fù)bug、打補(bǔ)丁厨内、備份和恢復(fù)祈秕、處理安全事件等
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末渺贤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子请毛,更是在濱河造成了極大的恐慌志鞍,老刑警劉巖胜榔,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件枷恕,死亡現(xiàn)場離奇詭異,居然都是意外死亡烤低,警方通過查閱死者的電腦和手機(jī)兼丰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門玻孟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鳍征,你說我怎么就攤上這事黍翎。” “怎么了艳丛?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵匣掸,是天一觀的道長。 經(jīng)常有香客問我氮双,道長碰酝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任戴差,我火速辦了婚禮送爸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘暖释。我一直安慰自己袭厂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布球匕。 她就那樣靜靜地躺著纹磺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪亮曹。 梳的紋絲不亂的頭發(fā)上橄杨,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機(jī)與錄音照卦,去河邊找鬼式矫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛役耕,可吹牛的內(nèi)容都是我干的衷佃。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼蹄葱,長吁一口氣:“原來是場噩夢啊……” “哼氏义!你這毒婦竟也來了锄列?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤惯悠,失蹤者是張志新(化名)和其女友劉穎邻邮,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體克婶,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡筒严,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了情萤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸭蛙。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖筋岛,靈堂內(nèi)的尸體忽然破棺而出娶视,到底是詐尸還是另有隱情,我是刑警寧澤睁宰,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布肪获,位于F島的核電站,受9級(jí)特大地震影響柒傻,放射性物質(zhì)發(fā)生泄漏孝赫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一红符、第九天 我趴在偏房一處隱蔽的房頂上張望青柄。 院中可真熱鬧,春花似錦预侯、人聲如沸刹前。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至祖今,卻和暖如春校坑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背千诬。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工耍目, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人徐绑。 一個(gè)月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓邪驮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親傲茄。 傳聞我的和親對象是個(gè)殘疾皇子毅访,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容