關(guān)于我們
書單推薦
新書推薦
|
解決方案架構(gòu)師修煉之道 本書首先介紹解決方案架構(gòu)的基本原理、設(shè)計(jì)原則和屬性,這些內(nèi)容將幫助你理解解決方案架構(gòu)如何使跨企業(yè)的軟件項(xiàng)目受益。你將了解云遷移和應(yīng)用程序現(xiàn)代化框架,并將使用微服務(wù)、事件驅(qū)動(dòng)、基于緩存和無(wú)服務(wù)器模式來(lái)設(shè)計(jì)健壯的架構(gòu)。然后,你將探索架構(gòu)設(shè)計(jì)的主要考量,包括性能、可伸縮性、成本優(yōu)化、安全性、卓越運(yùn)營(yíng)和DevOps。此外,你還將學(xué)習(xí)與大數(shù)據(jù)、機(jī)器學(xué)習(xí)和物聯(lián)網(wǎng)相關(guān)的先進(jìn)概念。書末,你將掌握架構(gòu)設(shè)計(jì)文檔和成為更好的解決方案架構(gòu)師所必需的軟技能。 成為解決方案架構(gòu)師,讓你有機(jī)會(huì)使用前沿的技術(shù),并制定產(chǎn)品策略。本書將帶你了解成為一名成功的解決方案架構(gòu)師所需要了解的基本概念、設(shè)計(jì)原則和模式、架構(gòu)考量以及相關(guān)的新技術(shù)。 【本書特色:】 本書介紹云環(huán)境下的解決方案架構(gòu)和下一代架構(gòu)設(shè)計(jì),引導(dǎo)讀者創(chuàng)建健壯、可伸縮、高可用且容錯(cuò)的解決方案。本書首先闡述對(duì)解決方案架構(gòu)的理解,以及它如何適應(yīng)敏捷的企業(yè)環(huán)境。通過(guò)介紹關(guān)于設(shè)計(jì)理念、高級(jí)設(shè)計(jì)模式、反模式以及現(xiàn)代軟件設(shè)計(jì)的云原生方面的詳細(xì)知識(shí),帶領(lǐng)讀者完成解決方案架構(gòu)設(shè)計(jì)的歷程。 本書對(duì)安全性、基礎(chǔ)設(shè)施、DevOps、災(zāi)難恢復(fù)的自動(dòng)化以及解決方案架構(gòu)的文檔等方面均提供了深刻的解釋。讀者可以深入探究解決方案設(shè)計(jì)中的性能優(yōu)化、安全性、合規(guī)性、可靠性、成本優(yōu)化和卓越運(yùn)維。此外,讀者還將了解云平臺(tái)(如Amazon Web Services(AWS))中的各種架構(gòu)設(shè)計(jì),以及如何好地利用云平臺(tái)來(lái)滿足解決方案設(shè)計(jì)、現(xiàn)代化和遷移的需求。 【目標(biāo)讀者】 本書適合從事IT行業(yè)的軟件開(kāi)發(fā)人員、系統(tǒng)工程師、DevOps工程師、架構(gòu)師和團(tuán)隊(duì)負(fù)責(zé)人,以及有志于成為解決方案架構(gòu)師并熱衷于設(shè)計(jì)安全、可靠、高性能和高性價(jià)比的架構(gòu)的人閱讀。
第1章主要定義解決方案架構(gòu)并解釋其重要性。本章詮釋了采用解決方案架構(gòu)的各種益處,并探討了在公有云上的架構(gòu)設(shè)計(jì)。 所羅伯·斯里瓦斯塔瓦(Saurabh Shrivastava) Amazon Web Services(AWS)解決方案架構(gòu)師團(tuán)隊(duì)負(fù)責(zé)人,幫助全球咨詢合作伙伴和企業(yè)客戶展開(kāi)云計(jì)算服務(wù)。是一名技術(shù)領(lǐng)導(dǎo)者、作家、發(fā)明家,擁有云平臺(tái)自動(dòng)化領(lǐng)域的專利。 內(nèi)拉賈利·斯里瓦斯塔夫(Neelanjali Srivastav) 是一名有超過(guò)14 年的經(jīng)驗(yàn)技術(shù)領(lǐng)導(dǎo)者、敏捷教練和云計(jì)算從業(yè)者,為大型企業(yè)實(shí)現(xiàn)IT 系統(tǒng)的現(xiàn)代化并開(kāi)發(fā)創(chuàng)新的軟件解決方案。 【譯者簡(jiǎn)介】 陳亮 資深解決方案架構(gòu)師,《Kubernetes實(shí)戰(zhàn)》譯者。擁有10年以上軟件開(kāi)發(fā)經(jīng)驗(yàn),負(fù)責(zé)過(guò)眾多國(guó)內(nèi)外高端定制項(xiàng)目的交付,曾為多家大型企業(yè)提供Cloud Native、質(zhì)量?jī)?nèi)建、DDD(領(lǐng)域驅(qū)動(dòng)設(shè)計(jì))等相關(guān)咨詢與培訓(xùn)服務(wù),對(duì)于敏捷開(kāi)發(fā)、DevOps、DDD、微服務(wù)架構(gòu)有著豐富的經(jīng)驗(yàn)。
訓(xùn)杰 資深解決方案架構(gòu)師,譯有《演進(jìn)式架構(gòu)》《如何寫出好程序》。擁有10年以上軟件開(kāi)發(fā)相關(guān)經(jīng)驗(yàn)以及豐富的企業(yè)級(jí)和互聯(lián)網(wǎng)應(yīng)用的開(kāi)發(fā)架構(gòu)實(shí)戰(zhàn)經(jīng)驗(yàn),擅長(zhǎng)遺留系統(tǒng)改造及企業(yè)數(shù)字化平臺(tái)建設(shè)。 萬(wàn)學(xué)凡 數(shù)字化轉(zhuǎn)型專家,資深管理顧問(wèn),InfoQ2020年中國(guó)十大IT產(chǎn)業(yè)推動(dòng)者。譯有《EDGE:價(jià)值驅(qū)動(dòng)的數(shù)字化轉(zhuǎn)型》《內(nèi)容智能:打贏每一場(chǎng)運(yùn)營(yíng)戰(zhàn)爭(zhēng)》《AI重新定義企業(yè):從微軟等真實(shí)案例中學(xué)習(xí)》《回顧活動(dòng)引導(dǎo):24個(gè)反模式與重構(gòu)實(shí)踐》等。 第1章 解決方案架構(gòu)的含義 1 1.1 什么是解決方案架構(gòu) 2 1.2 解決方案架構(gòu)的演進(jìn) 4 1.3 解決方案架構(gòu)為何如此重要 5 1.4 解決方案架構(gòu)的益處 5 1.4.1 滿足業(yè)務(wù)需求和交付質(zhì)量 7 1.4.2 選擇技術(shù)平臺(tái) 7 1.4.3 處理解決方案的約束和問(wèn)題 7 1.4.4 協(xié)助資源和成本管理 8 1.4.5 管理解決方案交付和項(xiàng)目生命周期 8 1.4.6 解決非功能性需求 8 1.5 公有云中的解決方案架構(gòu) 9 1.5.1 什么是公有云 9 1.5.2 公有云、私有云和混合云 10 1.5.3 公有云架構(gòu) 10 1.5.4 公有云供應(yīng)商和云服務(wù)產(chǎn)品 11 1.6 小結(jié) 12 第2章 組織中的解決方案架構(gòu)師 14 2.1 解決方案架構(gòu)師角色的類型 15 2.1.1 企業(yè)解決方案架構(gòu)師 17 2.1.2 解決方案架構(gòu)師 17 2.1.3 技術(shù)架構(gòu)師 18 2.1.4 云架構(gòu)師 18 2.1.5 架構(gòu)師布道者 18 2.1.6 基礎(chǔ)設(shè)施架構(gòu)師 19 2.1.7 網(wǎng)絡(luò)架構(gòu)師 19 2.1.8 數(shù)據(jù)架構(gòu)師 20 2.1.9 安全架構(gòu)師 21 2.1.10 DevOps架構(gòu)師 21 2.2 理解解決方案架構(gòu)師的職責(zé) 22 2.2.1 分析用戶需求 22 2.2.2 定義非功能性需求 23 2.2.3 與利益相關(guān)者的接觸與合作 25 2.2.4 處理各種架構(gòu)約束 25 2.2.5 技術(shù)選型 27 2.2.6 概念驗(yàn)證和原型開(kāi)發(fā) 27 2.2.7 設(shè)計(jì)解決方案并持續(xù)交付 28 2.2.8 確保發(fā)布后的可操作性和可維護(hù)性 29 2.2.9 擔(dān)任技術(shù)布道者 30 2.3 敏捷組織中的解決方案架構(gòu)師 30 2.3.1 為什么選擇敏捷方法論 30 2.3.2 敏捷宣言 31 2.4 小結(jié) 35 第3章 解決方案架構(gòu)的屬性 36 3.1 可伸縮性和彈性 37 3.1.1 容量伸縮困境 38 3.1.2 架構(gòu)伸縮 38 3.1.3 靜態(tài)內(nèi)容伸縮 40 3.1.4 服務(wù)器機(jī)群彈性 40 3.1.5 數(shù)據(jù)庫(kù)伸縮 40 3.2 高可用性和韌性 41 3.3 容錯(cuò)和冗余 43 3.4 災(zāi)難恢復(fù)與業(yè)務(wù)連續(xù)性 44 3.5 可擴(kuò)展性與可重用性 45 3.6 易用性與可訪問(wèn)性 46 3.7 可移植性與互操作性 47 3.8 卓越運(yùn)維與可維護(hù)性 48 3.9 安全性與合規(guī)性 49 3.9.1 認(rèn)證和授權(quán) 49 3.9.2 Web安全 50 3.9.3 網(wǎng)絡(luò)安全 50 3.9.4 基礎(chǔ)設(shè)施安全 50 3.9.5 數(shù)據(jù)安全 50 3.10 成本優(yōu)化與預(yù)算 51 3.11 小結(jié) 52 第4章 解決方案架構(gòu)的設(shè)計(jì)原則 53 4.1 工作負(fù)載的伸縮 54 4.1.1 可預(yù)測(cè)伸縮 54 4.1.2 被動(dòng)伸縮 56 4.2 構(gòu)建有韌性的架構(gòu) 56 4.3 性能設(shè)計(jì) 58 4.4 使用可替換資源 59 4.5 考慮松耦合 60 4.6 考慮服務(wù)而非服務(wù)器 62 4.7 根據(jù)合理的需求選擇合適的存儲(chǔ) 63 4.8 考慮數(shù)據(jù)驅(qū)動(dòng)的設(shè)計(jì) 65 4.9 克服約束 65 4.10 安全無(wú)處不在 67 4.11 自動(dòng)化一切 67 4.12 小結(jié) 68 第5章 云遷移和混合云架構(gòu)設(shè)計(jì) 70 5.1 云原生架構(gòu)的好處 71 5.2 創(chuàng)建云遷移策略 72 5.2.1 Lift and Shift方法 73 5.2.2 云原生方法 75 5.2.3 Retain or Retire方法 76 5.3 云遷移的步驟 77 5.3.1 發(fā)現(xiàn)工作負(fù)載 78 5.3.2 分析信息 79 5.3.3 制訂遷移計(jì)劃 80 5.3.4 設(shè)計(jì)應(yīng)用程序 83 5.3.5 執(zhí)行應(yīng)用程序遷移上云 85 5.3.6 集成、驗(yàn)證和切換 87 5.3.7 運(yùn)維云應(yīng)用程序 89 5.3.8 云上應(yīng)用程序優(yōu)化 90 5.4 創(chuàng)建混合云架構(gòu) 91 5.5 設(shè)計(jì)云原生架構(gòu) 92 5.6 主流的公有云 94 5.7 小結(jié) 95 5.8 進(jìn)一步閱讀 95 第6章 解決方案架構(gòu)設(shè)計(jì)模式 96 6.1 構(gòu)建N層架構(gòu) 97 6.1.1 Web層 97 6.1.2 應(yīng)用層 99 6.1.3 數(shù)據(jù)庫(kù)層 99 6.2 創(chuàng)建基于SaaS的多租戶架構(gòu) 99 6.3 構(gòu)建無(wú)狀態(tài)和有狀態(tài)的架構(gòu) 101 6.4 理解SOA 103 6.4.1 基于SOAP的Web服務(wù)架構(gòu) 103 6.4.2 RESTful Web服務(wù)架構(gòu) 105 6.4.3 構(gòu)建基于SOA的電子商務(wù)網(wǎng)站架構(gòu) 106 6.5 構(gòu)建無(wú)服務(wù)器架構(gòu) 107 6.6 創(chuàng)建微服務(wù)架構(gòu) 109 6.7 構(gòu)建基于隊(duì)列的架構(gòu) 111 6.7.1 隊(duì)列鏈表模式 112 6.7.2 作業(yè)觀察者模式 113 6.8 創(chuàng)建事件驅(qū)動(dòng)架構(gòu) 114 6.8.1 發(fā)布者/訂閱者模型 114 6.8.2 事件流模型 115 6.9 構(gòu)建基于緩存的架構(gòu) 116 6.9.1 三層Web架構(gòu)中的緩存分發(fā)模式 117 6.9.2 重命名分發(fā)模式 119 6.9.3 緩存代理模式 120 6.9.4 重寫代理模式 121 6.9.5 應(yīng)用緩存模式 122 6.10 理解斷路器模式 123 6.11 實(shí)現(xiàn)隔板模式 124 6.12 構(gòu)建浮動(dòng)IP模式 125 6.13 使用容器部署應(yīng)用程序 126 6.13.1 容器的好處 127 6.13.2 容器化部署 128 6.14 應(yīng)用程序架構(gòu)中的數(shù)據(jù)庫(kù)處理 129 6.15 避免解決方案架構(gòu)中的反模式 132 6.16 小結(jié) 133 第7章 性能考量 134 7.1 架構(gòu)性能的設(shè)計(jì)原則 134 7.1.1 降低延遲 135 7.1.2 提高吞吐量 136 7.1.3 處理并發(fā)問(wèn)題 137 7.1.4 使用緩存 138 7.2 性能優(yōu)化的技術(shù)選型 139 7.2.1 計(jì)算能力選型 139 7.2.2 選擇存儲(chǔ) 144 7.2.3 選擇數(shù)據(jù)庫(kù) 147 7.2.4 選擇網(wǎng)絡(luò) 149 7.3 管理性能監(jiān)控 152 7.4 小結(jié) 153 第8章 安全考量 155 8.1 架構(gòu)安全的設(shè)計(jì)原則 155 8.1.1 實(shí)現(xiàn)認(rèn)證和授權(quán)控制 156 8.1.2 安全無(wú)處不在 156 8.1.3 縮小爆炸半徑 157 8.1.4 時(shí)刻監(jiān)控和審計(jì)一切 157 8.1.5 自動(dòng)化一切 157 8.1.6 數(shù)據(jù)保護(hù) 157 8.1.7 事件響應(yīng)準(zhǔn)備 158 8.2 架構(gòu)安全技術(shù)選型 158 8.2.1 用戶身份和訪問(wèn)管理 158 8.2.2 處理網(wǎng)絡(luò)安全問(wèn)題 165 8.2.3 保護(hù)應(yīng)用程序及其基礎(chǔ)設(shè)施 169 8.2.4 數(shù)據(jù)安全 173 8.3 安全和合規(guī)認(rèn)證 178 8.4 云的共享安全責(zé)任模型 178 8.5 小結(jié) 180 第9章 架構(gòu)可靠性考量 182 9.1 架構(gòu)可靠性的設(shè)計(jì)原則 182 9.1.1 使系統(tǒng)自愈 183 9.1.2 實(shí)現(xiàn)自動(dòng)化 183 9.1.3 創(chuàng)建分布式系統(tǒng) 184 9.1.4 容量監(jiān)控 184 9.1.5 驗(yàn)證恢復(fù)過(guò)程 184 9.2 架構(gòu)可靠性的技術(shù)選型 185 9.2.1 規(guī)劃RTO和RPO 185 9.2.2 數(shù)據(jù)復(fù)制 186 9.2.3 規(guī)劃災(zāi)難恢復(fù) 188 9.2.4 災(zāi)難恢復(fù)的實(shí)踐 195 9.3 利用云來(lái)提高可靠性 196 9.4 小結(jié) 197 第10章 卓越運(yùn)維考量 198 10.1 卓越運(yùn)維的設(shè)計(jì)原則 199 10.1.1 自動(dòng)化運(yùn)維 199 10.1.2 進(jìn)行增量和可逆的變更 199 10.1.3 預(yù)測(cè)并響應(yīng)故障 200 10.1.4 從錯(cuò)誤中學(xué)習(xí)并改進(jìn) 200 10.1.5 持續(xù)更新運(yùn)維手冊(cè) 200 10.2 卓越運(yùn)維的技術(shù)選型 201 10.2.1 卓越運(yùn)維的規(guī)劃階段 201 10.2.2 卓越運(yùn)維的執(zhí)行階段 204 10.2.3 卓越運(yùn)維的改進(jìn)階段 210 10.3 在公有云中實(shí)現(xiàn)卓越運(yùn)維 212 10.4 小結(jié) 213 第11章 成本考量 215 11.1 成本優(yōu)化的設(shè)計(jì)原則 215 11.1.1 計(jì)算總擁有成本 216 11.1.2 規(guī)劃預(yù)算和預(yù)測(cè) 217 11.1.3 管理需求和服務(wù)目錄 218 11.1.4 跟蹤支出 219 11.1.5 持續(xù)成本優(yōu)化 219 11.2 成本優(yōu)化的技術(shù)選型 220 11.2.1 降低架構(gòu)復(fù)雜度 220 11.2.2 提高IT效率 221 11.2.3 實(shí)現(xiàn)標(biāo)準(zhǔn)化和架構(gòu)治理 222 11.2.4 成本監(jiān)控和報(bào)告 224 11.3 公有云上的成本優(yōu)化 227 11.4 小結(jié) 228 第12章 DevOps和解決方案架構(gòu)框架 230 12.1 DevOps介紹 231 12.2 DevOps的好處 231 12.3 DevOps的組成部分 232 12.3.1 CI/CD 233 12.3.2 持續(xù)監(jiān)控和改進(jìn) 234 12.3.3 基礎(chǔ)設(shè)施即代碼 235 12.3.4 配置管理 235 12.4 什么是DevSecOps 236 12.5 結(jié)合DevSecOps和CI/CD 237 12.6 實(shí)施CD策略 238 12.6.1 就地部署 238 12.6.2 滾動(dòng)部署 238 12.6.3 藍(lán)綠部署 238 12.6.4 紅黑部署 239 12.6.5 不可變部署 240 12.7 在CI/CD流水線中實(shí)施持續(xù)測(cè)試 240 12.8 CI/CD的DevOps工具 242 12.8.1 代碼編輯器 243 12.8.2 源代碼管理 243 12.8.3 CI服務(wù)器 243 12.8.4 代碼部署 245 12.8.5 代碼流水線 246 12.9 實(shí)施DevOps實(shí)踐 247 12.10 小結(jié) 248 第13章 數(shù)據(jù)工程和機(jī)器學(xué)習(xí) 249 13.1 什么是大數(shù)據(jù)架構(gòu) 250 13.2 大數(shù)據(jù)處理流水線設(shè)計(jì) 251 13.3 數(shù)據(jù)攝取 252 13.3.1 數(shù)據(jù)攝取的技術(shù)選型 253 13.3.2 數(shù)據(jù)攝取上云 254 13.4 數(shù)據(jù)存儲(chǔ) 255 13.5 數(shù)據(jù)處理和分析 262 13.6 數(shù)據(jù)可視化 265 13.7 理解物聯(lián)網(wǎng) 266 13.8 什么是機(jī)器學(xué)習(xí) 267 13.9 使用數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí) 268 13.10 評(píng)估機(jī)器學(xué)習(xí)模型:過(guò)擬合與欠擬合 270 13.11 了解監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí) 270 13.12 小結(jié) 272 第14章 遺留系統(tǒng)架構(gòu)設(shè)計(jì) 273 14.1 遺留系統(tǒng)面臨的挑戰(zhàn) 274 14.1.1 難以滿足用戶需求 274 14.1.2 維護(hù)和更新費(fèi)用較高 275 14.1.3 缺乏技能和文檔 275 14.1.4 存在安全風(fēng)險(xiǎn) 276 14.1.5 無(wú)法兼容其他系統(tǒng) 276 14.2 遺留系統(tǒng)現(xiàn)代化改造策略 277 14.2.1 系統(tǒng)現(xiàn)代化改造的好處 277 14.2.2 遺留系統(tǒng)的評(píng)估 279 14.2.3 現(xiàn)代化改造方案 279 14.2.4 文檔和支持 280 14.3 遺留系統(tǒng)現(xiàn)代化改造技術(shù) 280 14.3.1 封裝、重新托管和重新平臺(tái)化 281 14.3.2 重構(gòu)和重新架構(gòu) 282 14.3.3 重新設(shè)計(jì)和替換 282 14.4 遺留系統(tǒng)的云遷移策略 283 14.5 小結(jié) 284 第15章 解決方案架構(gòu)文檔 285 15.1 文檔目的 285 15.2 文檔視圖 286 15.3 文檔結(jié)構(gòu) 288 15.3.1 解決方案概述 289 15.3.2 業(yè)務(wù)上下文 290 15.3.3 概念解決方案概述 291 15.3.4 解決方案架構(gòu) 292 15.3.5 解決方案交付 295 15.3.6 解決方案管理 295 15.3.7 附錄 296 15.4 解決方案架構(gòu)的IT采購(gòu)文檔 296 15.5 小結(jié) 297 第16章 學(xué)習(xí)軟技能,成為更優(yōu)秀的解決方案架構(gòu)師 298 16.1 掌握售前技能 299 16.2 向企業(yè)高管匯報(bào) 300 16.3 主人翁意識(shí)和責(zé)任心 301 16.4 定義戰(zhàn)略執(zhí)行以及目標(biāo)與關(guān)鍵成果 301 16.5 著眼于大局 302 16.6 靈活性和適應(yīng)性 303 16.7 設(shè)計(jì)思維 303 16.8 做一個(gè)動(dòng)手寫代碼的程序員 305 16.9 持續(xù)學(xué)習(xí),不斷進(jìn)步 306 16.10 成為他人的導(dǎo)師 307 16.11 成為技術(shù)布道者和思想領(lǐng)袖 308 16.12 小結(jié) 308
你還可能感興趣
我要評(píng)論
|