YL11317 9787111581918 9787111562610
《DevOps:軟件架構師行動指南》從軟件架構師視角講解瞭引入DevOps實踐所需要擁有的技術能力,涵蓋運維、部署流水綫、監控、安全與審計以及質量關注。通過三個**案例研究,講解在不同場景下應用DevOps實踐的方法,對於想應用DevOps實踐的組織提供切實的指導。
全書共五部分。1部分(第1~3章)討論DevOps的背景,包括DevOps的目標和期望使用DevOps解決的問題、雲、運維等。第二部分(第4~6章)介紹部署流水綫,從功能性視角介紹部署實踐的內容,涵蓋微服務架構風格、構建和測試過程、工具鏈,以及具體的部署問題。第三部分(第7~10章)介紹橫切關注點,討論瞭計算監控、實時測試、安全與安全審計,以及部署流水綫的性能、可靠性、可修改性等。還介紹瞭業務關注點,包括為引進DevOps所需要準備的業務計劃的組成元素,以及如何進行論證、推齣和測量業務計劃。第四部分(第11~13章)描述3個案例研究:為瞭實現業務連續性如何維護兩個數據中心,管理一個持續部署流水綫,一個組織如何遷移到微服務架構上。第五部分(第14~15章)設想evOps的未來,介紹瞭目前的研究以及如何基於把運維視作一係列過程來進行,並給齣瞭3~5年內DevOps將如何發展的預測。
前言
1部分 背 景
第1章 DevOps是什麼 …… 2
1.1 概述 …… 2
1.1.1 定義DevOps …… 2
1.1.2 DevOps實踐 …… 3
1.1.3 持續部署的例子:IMVU …… 5
1.2 為什麼是DevOps …… 5
1.2.1 發布過程 …… 5
1.2.2 配閤不佳的原因 …… 7
1.2.3 運維人員能力有限 …… 7
1.3 DevOps視角 …… 8
1.3.1 自動化 …… 8
1.3.2 開發團隊的職責 …… 9
1.4 DevOps與敏捷 …… 9
1.5 團隊結構 …… 10
1.5.1 團隊規模 …… 10
1.5.2 團隊角色 …… 10
1.6 協作 …… 13
1.6.1 協作的形式 …… 13
1.6.2 團隊協作 …… 14
1.6.3 跨團隊協作 …… 14
1.7 障礙 …… 15
1.7.1 文化及組織類型 …… 15
1.7.2 部門類型 …… 16
1.7.3 筒倉思維方式(Silo Mentality) …… 17
1.7.4 工具支持 …… 17
1.7.5 人員問題 …… 17
1.8 小結 …… 18
1.9 更多閱讀材料 …… 18
第2章 雲即平颱 …… 20
2.1 概述 …… 20
2.2 雲的特性 …… 21
2.2.1 虛擬化 …… 22
2.2.2 IP和域名係統管理 …… 23
2.2.3 平颱即服務 …… 25
2.2.4 分布式環境 …… 25
2.3 獨特的雲特性對DevOps的影響 …… 30
2.3.1 環境 …… 30
2.3.2 輕鬆創建虛擬機 …… 31
2.3.3 數據考量 …… 31
2.4 小結 …… 32
2.5 更多閱讀材料 …… 33
第3章 運維 …… 34
3.1 概述 …… 34
3.2 運維服務 …… 34
3.2.1 供給硬件 …… 34
3.2.2 供給軟件 …… 35
3.2.3 IT功能 …… 36
3.2.4 服務級彆協議 …… 36
3.2.5 容量規劃 …… 36
3.2.6 業務連續性和安全 …… 37
3.2.7 服務策略 …… 38
3.2.8 服務設計 …… 39
3.2.9 服務移交 …… 39
3.2.10 服務運維 …… 40
3.2.11 服務運維概念 …… 40
3.3 服務運維功能 …… 41
3.4 持續服務改進 …… 42
3.5 運維和DevOps …… 43
3.6 小結 …… 44
3.7 更多閱讀材料 …… 44
第二部分 部署流水綫
第4章 整體架構 …… 48
4.1 DevOps實踐是否需要架構調整 …… 48
4.2 架構結構總覽 …… 49
4.2.1 協作模式 …… 50
4.2.2 資源管理 …… 51
4.2.3 架構元素之間的映射 …… 52
4.3 微服務架構的質量 …… 52
4.3.1 可靠性 …… 53
4.3.2 可修改性 …… 54
4.4 團隊的***規則 …… 55
4.5 現有係統的微服務方案 …… 56
4.6 小結 …… 56
4.7 更多閱讀材料 …… 57
第5章 構建與測試 …… 58
5.1 概述 …… 58
5.2 在部署流水綫中移動係統 …… 59
5.2.1 可追溯性 …… 59
5.2.2 環境 …… 60
5.3 橫切關注點 …… 61
5.4 開發及提交前測試 …… 63
5.4.1 版本控製與分支 …… 63
5.4.2 功能開關 …… 65
5.4.3 配置參數 …… 66
5.4.4 在開發和提交前測試中的測試 …… 67
5.5 構建與集成測試 …… 67
5.5.1 構建腳本 …… 67
5.5.2 打包 …… 68
5.5.3 持續集成與構建狀態 …… 69
5.5.4 集成測試 …… 70
5.6 用戶驗收測試/預發布/性能測試 …… 70
5.7 生産環境 …… 71
5.7.1 早期發布測試 …… 71
5.7.2 錯誤檢測 …… 72
5.7.3 現場測試 …… 72
5.8 事件 …… 73
5.9 小結 …… 73
5.10 更多閱讀材料 …… 74
第6章 部署 …… 75
6.1 概述 …… 75
6.2 部署管理的策略 …… 76
6.2.1 藍/綠部署 …… 76
6.2.2 滾動升級 …… 77
6.3 邏輯一緻性 …… 78
6.3.1 相同服務的多個版本同時存在 …… 78
6.3.2 兼容數據庫中保存的數據 …… 81
6.4 打包 …… 82
6.5 多環境部署 …… 84
6.6 部分部署 …… 86
6.6.1 金絲雀測試 …… 86
6.6.2 A/B測試 …… 87
6.7 迴滾 …… 87
6.8 工具 …… 89
6.9 小結 …… 90
6.10 更多閱讀材料 …… 90
第三部分 橫切關注點
第7章 監控 …… 94
7.1 概述 …… 94
7.2 監控什麼 …… 95
7.2.1 故障檢測 …… 96
7.2.2 性能下降檢測 …… 96
7.2.3 容量規劃 …… 97
7.2.4 用戶交互 …… 98
7.2.5 入侵檢測 …… 99
7.3 如何監控 …… 99
7.3.1 基於代理的監控和無代理的監控 …… 101
7.3.2 監控運維活動 …… 102
7.3.3 收集和存儲 …… 102
7.4 什麼時候變更監控配置 …… 103
7.5 解釋監控數據 …… 103
7.5.1 日誌 …… 104
7.5.2 繪圖和展示 …… 105
7.5.3 警報和警告 …… 105
7.5.4 診斷和反應 …… 106
7.5.5 監控DevOps過程 …… 106
7.6 挑戰 …… 107
7.6.1 挑戰1:持續變更下的監控 …… 107
7.6.2 挑戰2:自下嚮上與自上嚮下和在雲中的監控 …… 108
7.6.3 挑戰3:監控微服務架構 …… 109
7.6.4 挑戰4:處理大容量的分布式(日誌)數據 …… 109
7.7 工具 …… 109
7.8 從監控數據中診斷齣異常——Platformer.com的案例 …… 110
7.8.1 背景 …… 111
7.8.2 數據收集 …… 112
7.8.3 檢測異常 …… 112
7.8.4 思考 …… 113
7.9 小結 …… 113
7.10 更多閱讀材料 …… 114
第8章 安全與安全審計 …… 115
8.1 安全是什麼 …… 115
8.2 威脅 …… 117
8.3 需要保護的資源 …… 118
8.4 安全角色和活動 …… 120
8.5 身份管理 …… 122
8.5.1 認證 …… 123
8.5.2 授權 …… 125
8.6 訪問控製 …… 126
8.6.1 阻止訪問 …… 127
8.6.2 誰負責預防控製 …… 129
8.7 檢測、審計和拒絕服務 …… 129
8.8 開發 …… 130
8.9 審計者 …… 130
8.10 應用設計考慮 …… 131
8.11 部署流水綫設計考慮 …… 132
8.12 小結 …… 133
8.13 更多閱讀材料 …… 134
第9章 其他非功能需求 …… 135
9.1 概述 …… 135
9.2 可重復性 …… 136
9.2.1 在恰當的層級上定義和執行過程 …… 136
9.2.2 版本控製所有事物 …… 138
9.3 性能 …… 139
9.3.1 測量重要的事物 …… 139
9.3.2 提高資源使用率 …… 140
9.4 可靠性 …… 141
9.4.1 理解不同服務的可靠性特性 …… 141
9.4.2 早期檢測和修復錯誤 …… 142
9.5 可恢復性 …… 142
9.6 互操作性 …… 143
9.6.1 注意接口的互操作性 …… 143
9.6.2 理解現有的數據模型 …… 143
9.7 可測試性 …… 144
9.8 可修改性 …… 145
9.8.1 一個工具內的修改 …… 145
9.8.2 工具之間交互行為的修改 …… 146
9.9 小結 …… 146
9.10 更多閱讀材料 …… 147
第10章 業務關注點 …… 148
10.1 概述 …… 148
10.2 業務案例 …… 148
10.2.1 問題和解決問題所帶來的好處 …… 149
10.2.2 成本 …… 149
10.2.3 乾係人影響 …… 150
10.2.4 風險及其減緩 …… 151
10.2.5 推齣計劃 …… 153
10.2.6 成功標準 …… 154
10.3 度量和對DevOps實踐的閤規性 …… 155
10.3.1 測量DevOps實踐的成功度 …… 155
10.3.2 測量對DevOps實踐的閤規性 …… 156
10.3.3 測量乾係人的滿意度 …… 157
10.4 Dev和Ops之間的交互點 …… 157
10.4.1 許可 …… 157
10.4.2 事故處理 …… 158
10.5 小結 …… 159
10.6 更多閱讀材料 …… 159
第四部分 案 例 研 究
第11章 支持多數據中心 …… 162
11.1 概述 …… 162
11.2 當前的情況 …… 163
11.3 業務邏輯和Web層 …… 163
11.3.1 應用邏輯 …… 163
11.3.2 基礎設施 …… 164
11.3.3 增加一個應用 …… 164
11.3.4 發現基礎設施 …… 165
11.4 數據庫層 …… 167
11.4.1 事務數據 …… 167
11.4.2 基礎設施支持 …… 168
11.4.3 會話數據 …… 168
11.5 其他基礎設施工具 …… 168
11.5.1 gem存儲庫服務器 …… 169
11.5.2 Elasticsearch …… 169
11.5.3 域名係統 …… 169
11.6 數據中心切換 …… 170
11.6.1 受控切換步驟 …… 170
11.6.2 非受控切換 …… 174
11.6.3 定義和自動化切換步驟 …… 175
11.7 測試 …… 177
11.7.1 數據中心切換應用程序 …… 177
11.7.2 基礎設施測試 …… 177
11.7.3 持續交付流水綫 …… 177
11.8 小結 …… 178
11.9 更多閱讀材料 …… 179
第12章 實施企業的持續部署流水綫 …… 180
12.1 概述 …… 180
12.2 組織背景 …… 180
12.3 持續部署流水綫 …… 182
12.3.1 持續部署流水綫工具 …… 183
12.3.2 使用AWS CloudFormation的環境定義 …… 184
12.3.3 標準化的應用程序生命周期概覽及其使用 …… 186
12.3.4 標準化的應用程序生命周期階段 …… 188
12.3.5 管理復雜的應用程序和流水綫狀態 …… 194
12.3.6 管理持久化 …… 196
12.4 讓安全成為持續部署流水綫的基礎 …… 196
12.4.1 使用Amazon CloudFormation分離職責 …… 196
12.4.2 身份和訪問管理 …… 197
12.5 **概念 …… 198
12.5.1 *小化生産環境和非生産環境之間的偏移 …… 198
12.5.2 解決供應商的限製 …… 198
12.5.3 廠商鎖定 …… 199
12.5.4 新的AWS內置服務的展望 …… 199
12.6 小結 …… 199
12.7 更多閱讀材料 …… 200
第13章 遷移到微服務 …… 202
13.1 Atlassian概述 …… 202
13.2 構建部署微服務的平颱 …… 203
13.3 BlobStore:一個微服務例子 …… 206
13.3.1 架構 …… 206
13.3.2 通過純函數式架構和編程實現安全性和性能 …… 207
13.3.3 解決“非功能需求” …… 210
13.4 開發過程 …… 210
13.4.1 開發人員和支持 …… 211
13.4.2 構建和部署流水綫 …… 212
13.4.3 客戶應用的生産環境的零停機時間路徑 …… 214
13.5 BlobStore演進 …… 215
13.6 小結 …… 219
13.7 更多閱讀材料 …… 219
第五部分 走 嚮 未 來
第14章 作為過程的運維 …… 222
14.1 概述 …… 222
14.2 動機和概覽 …… 223
14.3 離綫活動 …… 224
14.4 在綫活動 …… 227
14.4.1 錯誤檢測 …… 227
14.4.2 錯誤恢復 …… 229
14.5 錯誤診斷 …… 229
14.6 監控 …… 231
14.7 小結 …… 231
14.8 更多閱讀材料 …… 231
第15章 DevOps的未來 …… 232
15.1 概述 …… 232
15.2 組織問題 …… 233
15.2.1 DevOps活動中可能涉及的其他組 …… 233
15.2.2 所有關係和重組 …… 234
15.2.3 授權與控製 …… 234
15.3 過程問題 …… 235
15.3.1 廠商鎖定和標準 …… 235
15.3.2 計費模型 …… 235
15.3.3 變更的速度 …… 236
15.4 技術問題 …… 237
15.4.1 持續部署流水綫概念 …… 237
15.4.2 在持續部署流水綫中獲得質量 …… 239
15.4.3 實現 …… 239
15.5 錯誤報告和修復 …… 240
15.6 結束語 …… 240
15.7 更多閱讀材料 …… 240
參考文獻 …… 241
軟件架構師這個角色對我來說一直充滿瞭神秘感,感覺他們是整個技術團隊的大腦,負責宏觀的決策和方嚮的把握。而“行動指南”這幾個字,則意味著這本書不會止步於理論的探討,而是會提供一些切實可行的建議和方法論,幫助架構師們更好地應對日常工作中的挑戰。我希望這本書能涵蓋從需求分析、係統設計到技術選型、團隊協作等各個方麵,並且能深入淺齣地講解一些關鍵的架構模式和原則。比如,如何在復雜的業務場景下設計齣可擴展、可維護的係統?如何平衡技術債務和業務發展?如何有效地與開發、測試、運維等團隊溝通協作?這些都是我作為一名正在成長中的技術人員非常關心的問題。這本書的齣現,讓我覺得有機會能夠窺探到資深架構師的思維方式,學習他們是如何思考和解決問題的,這對我個人的職業發展將是極大的助力。
評分我選擇購買這本書,很大程度上是因為它結閤瞭DevOps和軟件架構師這兩個當下熱門且關聯性極強的領域。在我看來,一個優秀的軟件架構師,必然需要具備DevOps的思維和實踐能力,因為現代軟件開發的生命周期已經越來越離不開DevOps的理念。反之,DevOps的成功實施,也離不開清晰的架構設計和良好的技術決策。這兩本書打包在一起,就像是為我量身定製的一套學習方案。我希望通過閱讀,能夠構建起一個更全麵的技術視野,理解如何從宏觀的架構設計到微觀的自動化運維,都能保持一緻性和連貫性。特彆是“運維開發編程教程書籍”這個定位,讓我覺得這本書的內容會比較接地氣,可能包含一些代碼示例或者實操技巧,能夠幫助我將理論知識轉化為實際動手能力。
評分這本書的封麵設計非常吸引人,簡潔而有力量,藍色的背景搭配白色的字體,給人一種專業、沉穩的感覺。拿到手時,紙張的質感也很好,厚實且略帶啞光,翻閱時沒有刺鼻的油墨味,這對於經常需要長時間閱讀的我來說,是非常重要的細節。我特彆喜歡書脊的設計,雖然是兩本書打包,但整體的排列看起來很和諧,不會顯得雜亂。我之前就對DevOps這個概念很感興趣,但一直找不到閤適的入門書籍,市麵上很多書要麼過於理論化,要麼過於碎片化,很難係統地學習。看到這本書的標題,尤其是“原理、方法與實踐”這幾個字,我感覺它應該能夠填補我的知識空白。包裝也很用心,書本被牢固地固定在包裝盒內,絲毫沒有磕碰的痕跡,運輸過程也相當迅速,很快就收到瞭。總的來說,僅僅從外觀和初步的觸感來看,這本書就給瞭我一個非常好的第一印象,讓我對接下來的閱讀充滿期待。
評分作為一名在技術領域摸爬滾打多年的從業者,我深知學習的持續性對於保持競爭力的重要性。DevOps和軟件架構是不斷演進的領域,光靠幾年前的知識早已跟不上時代。我購買這本書,是希望能夠係統地更新我的知識庫,瞭解最新的技術趨勢和最佳實踐。我特彆看重“實踐”部分,因為理論再完美,如果不能在實際項目中落地,那也隻是紙上談兵。我希望書中能夠提供一些可復用的模闆、工具鏈的搭建方法,或者是一些常見問題的排查思路。當然,我也希望能夠從書中學習到如何構建一個高效、敏捷的開發和運維團隊,因為技術最終是為業務服務的,而團隊的協作能力往往是決定項目成敗的關鍵因素。這本書的齣現,讓我看到瞭一個學習和成長的契機。
評分我一直認為,學習技術不能光看教程,更要理解背後的“為什麼”。這本書的另一個吸引我的地方在於它強調“原理”。我希望通過閱讀,不僅能學會操作,更能理解DevOps背後的核心思想,例如持續集成、持續交付、自動化運維等等,它們是如何相互作用,最終提升軟件開發和交付效率的。我尤其關注“方法”和“實踐”部分,因為理論學得再好,最終還是要落地。我希望書中能提供一些真實的案例或者企業在實踐DevOps過程中遇到的挑戰和解決方案。畢竟,理論和現實之間往往存在差距,瞭解這些差距以及如何跨越它們,對我的工作會更有指導意義。我之前接觸過一些DevOps工具的介紹,但總感覺像是“知其然不知其所以然”。希望這本書能幫助我建立一個完整的知識體係,讓我能夠將零散的工具知識融會貫通,並且能夠根據實際情況,選擇最適閤的DevOps策略和工具。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有