会员   密码 您忘记密码了吗?
1,653,063 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

浏览历史

当前位置: 首页 > 简体书 > 持續架構實踐:敏捷和DevOps時代下的軟件架構
持續架構實踐:敏捷和DevOps時代下的軟件架構
上一张
下一张
prev next

持續架構實踐:敏捷和DevOps時代下的軟件架構

作者: (美)穆拉特·埃爾德,(美)皮埃爾·普約爾,(美)伊恩·伍茲
出版社: 機械工業出版社
出版日期: 2023-01-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT594.00
市场价格: RM106.79
本店售价: RM95.04
促销价: RM89.70
剩余时间: 请稍等, 正在载入中...
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

更新架構實踐,以應對新的挑戰、環境和人們的期望。

三位作者有著豐富的軟件架構經驗,並將這些經驗應用于現實環境中的具體軟件架構實踐。本書為在現實環境中使用持續架構方法提供了實踐指南,並闡明了架構在敏捷、DevOps和雲平臺時代不斷變化的角色。

本書使架構師和軟件工程師能夠快速應用面向交付的知識,提供了解決當今軟件系統關鍵品質屬性和交叉問題(例如安全性、性能、可伸縮性、彈性、資料和新興技術等)的深入指導。通過一個貫穿全書的案例研究,對每項關鍵技術都進行了演示,反映了作者應對複雜軟件環境的豐富經驗。

關鍵主題包括:
創建可持續且具有連貫性的軟件系統,系統滿足功能需求和相關涉眾關心的品質屬性。
將基於團隊的軟件架構和架構方法理解為“決策流”。
總結資料管理、集成和變更的關鍵問題,以及各種資料技術對軟件架構的影響。
面向安全性的軟件架構,包括持續性的風險建模和緩解風險。
面向可伸縮性和彈性的軟件架構,包括微服務和serverless架構環境下的縮放。
使用軟件架構方法來提高持續交付環境中的系統性能。
使用軟件架構方法來成功地應用新興技術。
 


作者介紹

穆拉特·埃爾德(Murat Erder)
在軟件供應商、管理諮詢公司和大型國際銀行有超過25年的工作經驗,他擔任過各種角色,包括開發人員、軟件架構師、管理顧問和首席技術官。他是Continuous Architecture: Sustainable Architecture in an Agile and Cloud-Centric World的作者之一。

皮埃爾·普約爾(Pierre Pureur)
一位經驗豐富的軟件架構師,具有廣泛的創新和應用程式開發背景。他曾擔任一家大型金融服務公司的首席企業架構師,也是Continuous Architecture: Sustainable Architecture in an Agile and Cloud-Centric World的作者之一。

伊恩·伍茲(Eoin Woods)
在軟件開發行業有超過25年的工作經驗,現任Endava公司的首席技術官。作為Software System Architecture的合著者,他於2018年獲得了SEI頒發的Linda M. Northrup軟件架構獎。
 


目錄

讚譽
推薦序
譯者序
前言
致謝

第1章 軟件架構的重要性更勝往昔 1
1.1 我們所說的架構到底是什麼 1
1.2 當今的軟件行業 2
1.3 當前軟件架構的挑戰 4
1.3.1 關注技術細節而不是業務場景 4
1.3.2 認為“架構不能增加價值” 4
1.3.3 架構實踐也許太慢了 5
1.3.4 一些架構師可能並不適應雲平臺 6
1.4 敏捷化世界裡的軟件架構 6
1.4.1 一切的開始:軟件架構與極限編程 6
1.4.2 我們究竟在哪一步:架構、敏捷性還是持續交付 7
1.4.3 未來的方向 7
1.5 持續架構的引入 8
1.5.1 持續架構的定義 8
1.5.2 持續架構的收益 10
1.6 應用持續架構 11
1.7 案例研究介紹 12
1.8 本章小結 14

第2章 架構實踐:基本活動 15
2.1 基本活動概述 16
2.2 架構決策 17
2.2.1 架構決策的制定和治理 18
2.2.2 敏捷專案中的架構決策 19
2.3 品質屬性 21
2.3.1 品質屬性和架構策略 22
2.3.2 使用品質屬性 22
2.3.3 構建品質屬性效用樹 23
2.4 技術債務 23
2.4.1 捕獲技術債務 25
2.4.2 如何管理技術債務 26
2.5 回饋迴圈:架構演進 27
2.5.1 適應度函數 28
2.5.2 持續測試 29
2.6 當今軟件架構實踐中的共同主題 30
2.6.1 以準則為架構指南 30
2.6.2 由團隊負責的架構 31
2.6.3 模型與符號 32
2.6.4 模式和風格 33
2.6.5 架構作為決策流 33
2.7 本章小結 34

第3章 數據架構 36
3.1 數據即架構的考慮 37
3.1.1 什麼是數據 37
3.1.2 通用語言 38
3.2 關鍵技術趨勢 39
3.2.1 SQL統治地位的消亡:NoSQL和多種持久化 40
3.2.2 可伸縮性和可用性:最終一致性 43
3.2.3 事件與狀態:事件溯源 45
3.2.4 數據分析:來自資訊的智慧和知識 47
3.3 其他架構考慮事項 51
3.3.1 數據所有權和元數據 51
3.3.2 數據集成 53
3.3.3 數據(模式)演進 55
3.4 本章小結 56
3.5 拓展閱讀 57

第4章 架構之安全性 59
4.1 架構場景中的安全性 59
4.1.1 當今的安全形勢正在變化 60
4.1.2 我們所說的安全性到底是什麼 61
4.1.3 從無到有建立安全性 61
4.1.4 安全性左移 62
4.2 面向安全性設計架構 62
4.2.1 什麼是安全風險 62
4.2.2 持續的風險建模和緩解風險 63
4.2.3 風險識別技術 64
4.2.4 劃分風險等級 67
4.2.5 其他方法 68
4.3 緩解風險的架構策略 68
4.3.1 身份驗證、授權和審計 68
4.3.2 資訊的隱私和完整性 69
4.3.3 拒絕抵賴 70
4.3.4 系統可用性 70
4.3.5 安全監控 71
4.3.6 金鑰管理 72
4.3.7 緩解社會工程學攻擊 74
4.3.8 零信任網路 75
4.3.9 實現TFX的安全性 75
4.4 維持安全性 78
4.4.1 安全性的實施 78
4.4.2 人員、流程和技術 79
4.4.3 最薄弱的一環 79
4.4.4 持續提供安全性 79
4.4.5 為不可避免的失敗做好準備 80
4.4.6 安全舞臺與安全實現 81
4.5 本章小結 81
4.6 拓展閱讀 82

第5章 架構之可伸縮性 84
5.1 架構場景中的可伸縮性 85
5.1.1 什麼改變了:可伸縮性的假設 86
5.1.2 影響可伸縮性的因素 87
5.1.3 可伸縮性的類型和誤解 88
5.1.4 雲計算的影響 91
5.2 可伸縮性架構:架構策略 92
5.2.1 TFX可伸縮性需求 93
5.2.2 數據庫可伸縮性 94
5.2.3 數據分發、複製和分區 96
5.2.4 面向可伸縮性的緩存 97
5.2.5 使用非同步通信實現可伸縮性 99
5.2.6 其他應用程式架構的注意事項 101
5.2.7 實現TFX的可伸縮性 105
5.3 本章小結 107
5.4 拓展閱讀 109

第6章 架構之性能 111
6.1 架構場景中的性能 111
6.1.1 影響性能的因素 112
6.1.2 架構關注點 112
6.2 性能架構 114
6.2.1 新興趨勢對性能的影響 114
6.2.2 圍繞性能建模和測試構建應用程式 116
6.2.3 現代應用程式的性能策略 118
6.2.4 現代數據庫的性能策略 121
6.2.5 實現TFX的性能 124
6.3 本章小結 128
6.4 拓展閱讀 128

第7章 架構之彈性 131
7.1 架構場景中的彈性 132
7.1.1 變化:失敗的必然性 133
7.1.2 直面系統失敗的可靠性 133
7.1.3 業務場景 134
7.1.4 MTTR,不僅是MTBF 134
7.1.5 MTBF和MTTR與RPO和RTO的對比 135
7.1.6 逐漸好轉 136
7.1.7 彈性組織 137
7.2 面向彈性的架構設計 137
7.2.1 允許失敗 137
7.2.2 測量與學習 139
7.3 面向彈性的架構策略 140
7.3.1 故障識別策略 141
7.3.2 隔離策略 142
7.3.3 保護策略 145
7.3.4 緩解策略 148
7.3.5 實現TFX的彈性 151
7.4 維護彈性 152
7.4.1 運營的可見性 153
7.4.2 面向彈性的測試 153
7.4.3 DevOps的角色 154
7.4.4 檢測與恢復、預測與緩解 155
7.4.5 事故處理 155
7.4.6 災難恢復 156
7.5 本章小結 157
7.6 拓展閱讀 157

第8章 軟件架構與新興技術 159
8.1 使用架構處理新技術引入的技術風險 160
8.2 人工智慧、機器學習和深度學習簡介 160
8.2.1 機器學習的類型 161
8.2.2 什麼是深度學習 162
8.3 在TFX中使用機器學習 163
8.3.1 機器學習解決的問題類型、先決條件和架構考慮 163
8.3.2 在TFX中使用文檔分類 164
8.3.3 在TFX中實現一個聊天機器人 169
8.4 在TFX中使用共用分類帳 174
8.4.1 共用分類帳、區塊鏈和分散式分類帳技術簡介 174
8.4.2 共用分類帳解決的問題類型、先決條件和架構考慮 175
8.4.3 共用分類帳的能力 176
8.4.4 在TFX中實現一個共用分類帳 178
8.4.5 架構導向方法的好處 182
8.5 本章小結 183
8.6 拓展閱讀 183

第9章 持續架構實踐的結論 185
9.1 變與不變 185
9.2 更新架構實踐 186
9.3 數據 187
9.4 關鍵的品質屬性 188
9.4.1 安全性 189
9.4.2 可伸縮性 189
9.4.3 性能 190
9.4.4 彈性 190
9.5 當今時代的架構 190
9.6 實踐中的持續架構 191

附錄A 案例研究 192
附錄B 共用分類帳技術實現對比 212
術語表 214