大規模組織DevOps實踐

書籍信息,內容簡介,圖書目錄,

書籍信息

作譯者:陳能技,付勇
出版時間:2018-10千 字 數:384版次:01-01頁 數:320
開本:16開裝幀:I S B N :9787121351365
換版:
紙質書定價:¥68.0

內容簡介

DevOps是開發運維一體化的軟體工程思想,DevOps嘗試打破部門牆,構建一個協同的IT建設運行環境,通過工具鏈形成數據關聯的規範化、規模化的軟體持續交付流水線,從而助力企業業務的敏捷發展。本書用9章內容,結合項目實戰案例和業界主流工具,從思想、實踐方法、工具技術、案例等方面闡述了DevOps在傳統規模化IT組織中實施落地的方法。本書適合IT主管、項目經理、開發、測試、配置管理、運維等IT從業人員閱讀。

圖書目錄

第一部分 思想篇
第1章 軟體工廠 2
1.1 軟體的生產力 2
1.2 軟體工廠——軟體的標準化生產 4
1.2.1 標準化生產模式需要一個集成底座——PaaS 4
1.2.2 標準化軟體生產流水線 6
第2章 DevOps思想 8
2.1 DevOps思想與生產流水線 8
2.1.1 DevOps的起源 8
2.1.2 DevOps對軟體工廠的啟發 9
2.1.3 從DevOps實踐原則看軟體生產工藝化水平的提高 10
2.1.4 軟體工廠模式下對生產工具發展的促進作用 10
2.2 從瀑布到敏捷 11
2.2.1 傳統項目管理問題 12
2.2.2 向網際網路企業學習的“敏捷” 13
2.2.3 敏捷的起源 14
2.2.4 瀑布模型 15
2.2.5 傳統企業不可能全盤敏捷化 15
2.2.6 從版本上線過程管理看敏捷與瀑布 16
2.2.7 敏捷的前提是“不敏捷” 17
2.3 敏捷與DevOps核心思想 18
2.3.1 增量開發與測試 18
2.3.2 持續集成與持續交付 19
2.3.3 自動化 21
2.4 規模化的敏捷 22
2.4.1 從敏捷項目管理到敏捷項目集群管理 22
2.4.2 企業規模化敏捷思想 24
2.4.3 規模化敏捷方法——SAFe 25
2.4.4 規模化敏捷開發的最佳實踐 28
2.5 企業規模化敏捷與軟體工廠 31
2.5.1 軟體生產環境 31
2.5.2 軟體工廠生產環境管理——開發測試雲 33
2.5.3 整合環境仿真 37
2.5.4 不可忽略的辦公環境因素 43
2.5.5 軟體工廠質量檢測——深度自動化測試裝置 45
第二部分 實踐方法篇
第3章 DevOps體系的建立 49
3.1 構建DevOps流水線,打通開發—測試—運維持續交付通道 49
3.2 敏捷開發知識體系 50
3.3 Scrum框架 51
3.3.1 Scrum的3類角色 52
3.3.2 Scrum的3份工件 52
3.3.3 Scrum的5項活動 53
3.3.4 Scrum的5個價值觀 54
3.4 敏捷、DevOps與協作 54
3.5 開發域DevOps實踐 55
3.5.1 敏捷需求 55
3.5.2 傳統需求分析 55
3.5.3 敏捷需求方法 57
3.5.4 面向敏捷的架構設計 61
3.5.5 向微服務架構遷移的基本做法 63
3.5.6 向微服務架構遷移的低風險演進方法 64
3.5.7 微服務架構設計模式 74
3.5.8 開發敏捷 77
3.5.9 分支策略 77
3.5.10 依賴包管理 79
3.5.11 技術債務 80
3.5.12 技術債務的形成 80
3.5.13 技術債務的分類 83
3.5.14 技術債務與質量投資 84
3.5.15 技術債務處理方法 85
3.5.16 持續集成 88
3.5.17 持續集成最佳實踐 91
3.5.18 持續集成最佳實踐——持續編譯 92
3.5.19 持續集成最佳實踐——持續代碼檢查 92
3.5.20 持續集成最佳實踐——持續測試 93
3.5.21 持續集成最佳實踐——持續部署 94
3.5.22 持續集成最佳實踐——持續報告 94
3.5.23 企業持續集成實施方法 95
3.5.24 持續集成實施案例介紹 96
3.6 測試域DevOps實踐 96
3.6.1 敏捷測試環境管理 96
3.6.2 業界關於測試環境管理的實踐 98
3.6.3 測試如何納入持續集成體系中 100
3.6.4 敏捷測試方法與傳統測試方法的不同之處 105
3.6.5 敏捷測試人員的定義 106
3.6.6 敏捷測試過程管理 107
3.6.7 敏捷測試團隊管理 112
3.7 運維域DevOps實踐 113
3.7.1 敏捷基礎設施 113
3.7.2 自動化部署 113
3.7.3 自動化部署的要素 114
3.7.4 部署常見場景及問題 115
3.7.5 部署服務工具鏈 116
3.7.6 資源部署 117
3.7.7 自動化資源部署 117
3.7.8 套用部署 119
3.7.9 套用交付容器化 120
3.7.10 套用容器化改造 121
3.7.11 不中斷服務的部署方法 121
3.7.12 敏捷運維 125
第4章 DevOps的有效實踐129
4.1 敏捷模式與傳統企業研發模式的結合129
4.2 敏捷模式與傳統ISO、CMMI標準規範的兼容131
4.2.1 需求獲取131
4.2.2 方案制定(或技術評估)132
4.2.3 生產任務排期135
4.2.4 Sprint 0——疊代前準備135
4.2.5 Sprint 0——基礎框架搭建143
4.2.6 疊代實施143
4.2.7 驗收測試154
4.2.8 投產155
4.3 敏捷與DevOps基礎實踐155
4.3.1 SRE與發布工程155
4.3.2 配置管理——版本管理161
4.3.3 配置管理——發布包製作規範165
4.3.4 缺陷管理167
4.3.5 缺陷預防168
4.3.6 疊代周期的時間169
4.4 敏捷與DevOps反模式170
4.4.1 急功近利170
4.4.2 跨部門協作的浪費172
4.4.3 持續集成“壞味道”176
4.4.4 手工完成所有部署178
4.4.5 開發與運維各一套自動化部署系統178
4.4.6 重建資料庫比較困難179
第三部分 工具技術篇
第5章 精準測試技術182
5.1 什麼是精準測試技術182
5.1.1 傳統測試方法面臨大型軟體時的問題與瓶頸182
5.1.2 傳統白盒測試方法的問題183
5.1.3 開發團隊和測試團隊協同工作難183
5.1.4 精準測試方法解決的問題184
5.1.5 精準測試的工作模式與工作原理185
5.2 精準測試雲平台186
5.2.1 測試複雜度分析186
5.2.2 測試複雜度種類187
5.2.3 覆蓋率分析188
5.2.4 軟體內部邏輯結構可視化192
5.2.5 函式列表功能說明196
5.2.6 覆蓋率可視化197
5.2.7 動態實時測試監控199
5.2.8 缺陷管理系統199
5.2.9 Bug與崩潰代碼級捕獲201
5.2.10 雙向追溯202
5.2.11 多版本與累計覆蓋率205
5.2.12 智慧型的回歸測試用例選取分析算法206
5.2.13 測試用例的聚類分析算法207
5.3 精準測試與度量分析208
5.3.1 獲取度量信息208
5.3.2 項目度量指標208
5.3.3 項目匯總211
5.3.4 測試用例——按日趨勢圖213
5.3.5 測試用例——測試用例列表215
5.3.6 測試人、機218
5.3.7 測試缺陷——Bug信息匯總219
5.3.8 測試缺陷——Bug詳細列表220
5.3.9 覆蓋率——按日增長趨勢圖221
5.3.10 函式、類、檔案覆蓋率統計223
5.3.11 函式、類、檔案複雜度和覆蓋率關係圖223
5.3.12 覆蓋率列表224
5.3.13 函式、類、包複雜度統計226
5.3.14 測試覆蓋率漏洞的智慧型分析227
第6章 雙模發布管理平台的設計與套用229
6.1 產生背景229
6.1.1 傳統企業數位化轉型浪潮下的雙模挑戰229
6.1.2 雙模發布管理平台230
6.2 雙模發布管理平台設計231
6.2.1 設計思路231
6.2.2 架構設計233
6.3 案例及功能說明234
6.3.1 案例背景介紹235
6.3.2 痛點診斷及建設目標236
6.3.3 功能說明236
第7章 整合環境仿真技術252
7.1 服務虛擬化技術252
7.2 Lisa解決方案特色253
7.3 採用Lisa方案的預期效果254
7.4 Lisa實施和服務模式舉例256
第8章 容器技術259
8.1 容器與Docker259
8.2 套用容器化261
8.3 Dockerfile 命令詳解266
8.4 Dockerfile使用建議270
8.5 套用上雲容器271
8.5.1 上雲套用的場景271
8.5.2 軟體和硬體的限制272
8.5.3 套用架構的限制272
8.5.4 套用上雲建議274
8.6 容器化套用開發規範275
8.6.1 套用預編譯275
8.6.2 熱點數據快取277
8.6.3 套用無狀態化277
8.6.4 套用上配置的定時任務需與套用分離278
8.6.5 套用使用固定的服務監聽連線埠278
8.6.6 主機名和服務連線埠獲取278
8.6.7 資料庫連線池279
8.6.8 套用日誌279
8.6.9 套用中間件選型279
8.6.10 套用環境配置規範280
8.6.11 硬體負載280
8.6.12 不要在容器中存儲數據281
8.6.13 不要發布兩個套用281
8.6.14 清除不必要的包和檔案281
8.6.15 不要在容器中運行多個進程281
8.6.16 不要在鏡像中存儲憑據、使用環境變數281
8.6.17 使用非root用戶運行281
8.6.18 不要依賴IP位址282
8.6.19 服務間接口調用使用TCP和HTTP282
8.7 容器化套用遷移實施方案282
8.7.1 套用遷移的流程282
8.7.2 信息收集和業務分析284
8.7.3 容器鏡像製作289
8.7.4 功能驗證291
第四部分 案例篇
第9章 持續集成實踐案例294
9.1 項目背景294
9.2 解決方案295
9.2.1 持續集成簡介295
9.2.2 套用持續集成解決某局的開發項目問題296
9.2.3 持續集成基礎技術框架297
9.2.4 方案優勢302

相關詞條

熱門詞條

聯絡我們