《可伸縮架構(第2版):雲環境下的高可用與風險管理》由電子工業出版社於2020年9月出版,作者是【美】Lee Atchison(李·艾奇遜)。
基本介紹
- 書名:可伸縮架構(第2版):雲環境下的高可用與風險管理
- 作者:【美】Lee Atchison(李·艾奇遜)
- 出版時間:2020年9月
- 頁數:224 頁
- 定價:79 元
- 開本:16 開
- ISBN:9787121393433
內容簡介,圖書目錄,作者簡介,
內容簡介
《可伸縮架構(第2版):雲環境下的高可用與風險管理》是一本關於現代化軟體架構的書。書中介紹了如何構建和更新你的關鍵應用程式來滿足日益苛刻的數位化客戶的需求。書中還介紹了如何實現高可用性,如何使用現代化的開發和運維技術來架構應用程式,如何組織開發團隊幫助應用程式和業務獲得成功,如何將系統擴展到最大規模,以及如何利用雲計算的可用資源來迎接上述挑戰。本書的目標讀者包括構建和管理大規模應用程式和系統的軟體工程師、架構師、技術經理及總監。如果你管理著軟體開發人員、系統可靠性工程師、DevOps 工程師,或者經營著一個擁有大規模應用程式和系統的機構,本書中所提供的建議和指導都能夠幫助你,讓你的系統運行得更加平穩和可靠。
圖書目錄
序 xvii
前言 xx
第Ⅰ部分 原則 1 可用性 :維護現代化應用程式的可用性
第 1 章 理解、測量和提高可用性 2
可用性與可靠性 3
什麼導致了低可用性 4
測量可用性 5
N 個 9 6
計畫中的故障也依然是故障 6
通過數字來體現可用性 7
提高下降的可用性 7
測試並跟蹤當前的可用性 8
將手動流程自動化 9
改進你的系統 12
時刻關注不斷變化和發展中的應用程式的可用性 12
提高應用程式可用性的 5 個要點 12
要點 1 :時刻考慮應對故障 13
要點 2 :時刻考慮如何伸縮 14
要點 3 :緩和風險 15
要點 4 :監控可用性 17
要點 5 :以可預期及明確的方式來處理可用性問題 18
做好準備 19
第 2 章 兩次失誤的高度——預留從錯誤中恢復的空間 20
兩次失誤的高度 21
場景 1 :丟失一個節點 21
場景 2 :升級過程中出現的問題 24
場景 3 :數據中心恢復 25
場景 4 :隱蔽的共享故障類型 27
場景 5 :故障循環 28
管理你的應用程式 28
太空梭 29
第Ⅱ部分 原則 2 現代化應用程式架構 :使用服務
第 3 章 使用服務 32
單體應用程式與面向服務的應用程式 32
所有權收益 34
規模收益 36
拆分服務 37
如何定義服務 37
深入了解服務 38
指導原則 1 :特定的業務需求 38
指導原則 2 :清晰和獨立的團隊所有權 39
指導原則 3 :天然隔離的數據 40
指導原則 4 :共享的能力 / 數據 41
多種原因 42
過猶不及 43
找到適當的平衡 44
第 4 章 服務和數據 45
無狀態服務 — 沒有數據的服務 45
有狀態服務 — 有數據的服務 45
數據分區 46
及時處理增長的煩惱 49
第 5 章 處理服務故障 50
級聯式的服務故障 50
如何回響服務故障 51
可預測的回響 52
可理解的回響 53
合理的回響 53
如何確定故障 54
適當的行為 56
優雅降級 56
優雅補償 57
儘早失敗 57
用戶導致的問題 58
小結 59
第Ⅲ部分 原則 3 組織 :為現代化
應用程式建立可伸縮性的組織
第 6 章 服務所有權——STOSA 62
由獨立團隊負責的服務架構 62
STOSA 應用程式和組織的好處 64
“所有”一個服務意味著什麼 64
使用核心團隊和服務 67
小結 68
第 7 章 服務分級 69
應用程式的複雜性 69
什麼是服務分級 70
為服務分配服務級別標籤 71
示例 :線上商店 73
使用服務分級 75
期望 76
回響性 76
依賴 77
小結 78
第 8 章 服務等級協定 79
什麼是服務等級協定 80
外部 SLA 與內部 SLA 的對比 82
內部 SLA 很重要 82
SLA 可以用於問題診斷 83
SLA 的性能檢測方法 84
限定 SLA 85
排名 SLA 85
SLA 的條件 88
究竟應當定義多少內部 SLA,以及定義哪些內部 SLA 88
為什麼內部 SLA 很重要 89
第Ⅳ部分 原則 4 風險 :現代化應用程式的風險管理
第 9 章 如何在設計可伸縮架構時使用風險管理 93
識別風險 93
消除最嚴重的風險 94
風險緩和 94
定期檢查 95
對風險管理的總結 95
可能性與嚴重性 95
十佳列表 :低可能性,低嚴重性 96
訂單資料庫 :低可能性,高嚴重性 97
自定義字型 :高可能性,低嚴重性 98
T 恤圖片 :高可能性,高嚴重性 98
風險模型 99
風險模型的作用域 101
創建風險模型 102
使用風險模型來制訂計畫 104
維護風險模型 105
風險緩和 106
恢復計畫 108
容災計畫 109
改進我們的風險狀況 109
第 10 章 比賽日 110
預發布環境和生產環境 110
預發布 / 測試環境 110
生產環境 111
在生產環境中舉行比賽日的擔心 112
小結 113
第 11 章 構建低風險系統114
技巧 1 :介紹冗餘 115
冪等接口 115
增加了複雜性的冗餘改進 116
技巧 2 :理解獨立性 117
技巧 3 :管理安全性 118
技巧 4 :鼓勵簡單性 118
技巧 5 :自我修復 119
技巧 6 :標準化運維流程 120
小結 121
第Ⅴ部分 原則 5 雲計算 :利用雲計算
第 12 章 使用雲計算來設計可伸縮架構125
雲計算成熟度的 6 個級別 126
級別 1 :體驗雲計算 126
級別 2 :確認雲計算 127
級別 3 :使用雲計算中的伺服器和應用程式 127
級別 4 :使用增值的託管服務 127
級別 5 :使用雲特有的服務 128
級別 6 :全面擁抱雲計算 128
組織與應用程式的成熟度級別對比 128
使用雲計算時可能犯的錯誤 129
陷阱 1 :不相信雲安全 129
陷阱 2 :直接遷移到雲計算 129
陷阱 3 :無伺服器的誘惑 — 太過於依賴炒作 130
何時以及如何使用多個雲計算平台 131
如何定義我們所說的多個雲平台 131
選擇哪個模型?哪種雲? 134
雲計算小結 135
第 13 章 雲計算改變的 5 個行業趨勢136
雲計算有哪些變化 136
變化 1 :對基於微服務架構的認可 136
變化 2 :更小、更專業的服務 137
變化 3 :更專注於應用程式 137
變化 4 :微型初創公司 137
變化 5 :安全和合規已經成熟 137
變化還在繼續 138
第 14 章 SaaS 和租賃類型139
比較託管主機和不同類型的 SaaS 139
託管主機 140
多租戶 SaaS 140
單租戶 SaaS 141
混合不同類型的 SaaS 142
常見的 SaaS 的特點 142
SaaS 與託管主機 142
小結 143
第 15 章 在 AWS 雲上分發你的應用程式144
AWS 的架構 144
AWS 區域 145
AWS 可用區 145
數據中心 146
總體架構概述 146
可用區不是數據中心 149
如何通過地理多樣性真正做到高可用 151
映射多個賬戶中的可用區 151
分發應用程式 152
第 16 章 託管的基礎設施153
基於雲的服務架構 153
原生資源 154
基於伺服器的託管資源 156
無伺服器託管資源 157
使用託管資源和非託管資源的影響 158
小結 159
第 17 章 雲資源分配160
基於使用量的資源分配 161
固定額度的資源分配 162
調整分配 164
資源容量的自動分配 164
自動分配的問題 164
動態分配,動態成本 165
資源分配技術的利與弊 166
第 18 章 無伺服器計算和函式即服務167
示例 1 :事件處理 168
示例 2 :手機套用後端 168
示例 3 :物聯網數據採集 169
FaaS 的優缺點 170
無伺服器炒作和 FaaS 的未來 171
第 19 章 邊緣計算172
如今的邊緣計算 173
為什麼我們要關心邊緣計算 173
與雲計算相比,邊緣計算應該是什麼 174
如何決定把什麼放在邊緣?以無人駕駛汽車為例 174
邊緣計算的可伸縮與雲計算的可伸縮不同 176
使用邊緣計算和雲計算的標準 178
邊緣計算成功的 8 個關鍵點 178
#1 :知道什麼時候應該使用邊緣計算 179
#2 :不要忽略邊緣計算中的 DevOps 原則 179
#3 :制定一個高度分散式的部署策略 179
#4 :儘可能減少版本控制 179
#5 :減少每個節點的配置項 180
#6 :伸縮也是邊緣計算要面對的一個問題,不僅僅是雲計算 180
#7 :重視監測和分析 181
#8 :邊緣計算不是魔法 181
邊緣計算小結 181
第 20 章 地理位置對雲計算的影響182
雲無處不在,只不過影響的層次不同 182
替換心態影響你如何接受雲計算 183
哪個雲服務商最重要 184
重要的技術區別 184
數據主權是普遍的 185
我的看法 185
第Ⅵ部分 總結
第 21 章 綜述188
原則 #1 — 可用性 188
原則 #2 — 架構 189
原則 #3 — 組織 189
原則 #4 — 風險 189
原則 #5 — 雲計算 190
面向可伸縮架構 190
作者簡介
張若飛,曾任多家網際網路金融公司CTO,在宜人貸、雅虎北研、金山雲等知名公司擔任架構師。十餘年網際網路研發及技術管理經驗,對搭建海量數據、大型分散式系統有豐富經驗。著有十餘本技術譯著,包括《給大忙人看的JavaSE 8》《代碼不朽:編寫可維護軟體的十大原則》《面向可伸縮架構》(第1版)《雲原生Java》《Java持續交付》等書,總計500餘萬字。