DevOps(2017年機械工業出版社出版的圖書)

DevOps(2017年機械工業出版社出版的圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《devops》是2017年機械工業出版社出版的書籍,作者是倫恩·拜斯。

基本介紹

  • 中文名:DevOps 
  • 作者:倫恩·拜斯
  • 原作品:DevOps: A Software Architect's Perspective
  • 譯者:胥峰、任發科
  • 出版社:機械工業出版社
  • 出版時間:2017年3月17日
  • 頁數:241 頁
  • 定價:69 元
  • 裝幀:平裝
  • ISBN:9787111562610
  • 叢書名:架構師書庫
內容簡介,作者簡介,圖書目錄,

內容簡介

本書從軟體架構師視角講解了引入DevOps實踐所需要擁有的技術能力,涵蓋運維、部署流水線、監控、安全與審計以及質量關注。通過3個經典案例研究,講解了在不同場景下套用DevOps實踐的方法。這對於想套用DevOps實踐的組織具有切實的指導意義。
本書共五部分。第一部分(第1~3章)介紹DevOps的背景。第1章介紹DevOps的目標和期望使用DevOps解決的問題等;第2章介紹雲;第3章按照信息技術基礎設施庫(Information Technology Infrastructure Library,ITIL)的理論介紹運維。第二部分(第4~6章)介紹部署流水線,從功能性視角介紹部署實踐的內容。第4章介紹微服務架構風格;第5章介紹構建和測試過程以及工具鏈;第6章介紹部署,它是DevOps的目標之一。第三部分(第7~10章)介紹橫切關注點。第7章介紹計算監控和實時測試;第8章介紹安全與安全審計;第9章介紹與DevOps實踐有關的其他非功能需求,包括部署流水線的性能、可靠性、可修改性等;第10章介紹業務關注點,包括為引進DevOps所需要準備的業務計畫的組成元素,以及如何進行論證、推出和測量業務計畫。第四部分(第11~13章)介紹3個案例研究。第11章介紹為了實現業務連續性如何維護兩個數據中心;第12章介紹一個持續部署流水線的詳細內容;第13章介紹一個組織如何遷移到微服務架構上。第五部分(第14~15章)構想了DevOps的未來。第14章介紹目前的研究以及如何基於把運維視作一系列過程來進行;第15章給出了3~5年內DevOps將如何發展的預測。

作者簡介

倫恩·拜斯(Len Bass) 澳大利亞NICTA的高級首席研究員。他曾在卡內基梅隆大學軟體工程研究所工作25年,有超過50年的軟體開發和研究經驗。他是兩本軟體架構方面獲獎圖書的合作者(《Software Architecture in Practice, Third Edition》和《Documenting Software Architectures:Views and Beyond,Second Edition》),他還與人合作出版或發表了數篇計算機科學與軟體工程領域的其他書籍和論文。
英戈·韋伯(Ingo Weber) 澳大利亞NICTA軟體系統研究組的高級研究員,也是新南威爾斯大學計算機科學與工程系的兼職高級講師。他的研究領域包括雲計算、DevOps、業務過程管理以及人工智慧。
朱黎明(Liming Zhu) 澳大利亞NICTA一個研究小組的負責人和首席研究員。他擁有新南威爾斯大學和悉尼大學的聯合職位。曾就職於數個在軟體領域具有領先地位的技術公司。

圖書目錄

譯者序
前言
第一部分 背 景
第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

相關詞條

熱門詞條

聯絡我們