本書(shū)主要內(nèi)容包括:DevOps的基本概念,DevOps的工具集,支撐管理,敏捷開(kāi)發(fā),持續(xù)集成和測(cè)試,持續(xù)部署和持續(xù)交付,代碼質(zhì)量和安全,DevOps的度量體系,持續(xù)改進(jìn)和反饋,DevOps最佳實(shí)踐,以及DevOps的后續(xù)發(fā)展。
顧黃亮,持牌金融機(jī)構(gòu)部門總經(jīng)理,中國(guó)商聯(lián)專家智庫(kù)入庫(kù)專家、江蘇銀行業(yè)和保險(xiǎn)業(yè)金融科技專家委員會(huì)候選專家、企業(yè)數(shù)字化轉(zhuǎn)型IOMM委員會(huì)特聘專家、中國(guó)信通院可信云標(biāo)準(zhǔn)特聘專家、中國(guó)信通院低代碼/無(wú)代碼推進(jìn)中心特聘專家,騰訊云具有價(jià)值專家TVP,阿里云具有價(jià)值專家MVP,《研發(fā)運(yùn)營(yíng)一體化(DEVOPS)能力成熟度模型》和《企業(yè)IT運(yùn)維發(fā)展白皮書(shū)》核心作者,出版物《企業(yè)級(jí)DevOps實(shí)戰(zhàn)案例-持續(xù)交付篇》合著作者,出版物《企業(yè)級(jí)DevOps□□指南》個(gè)人作者,容器云技能大賽課程出品人,多個(gè)技術(shù)峰會(huì)演講嘉賓,擁有豐富的企業(yè)級(jí)DevOps實(shí)戰(zhàn)經(jīng)驗(yàn),專注企業(yè)IT數(shù)字化的轉(zhuǎn)型和落地,致力于企業(yè)智慧運(yùn)維體系的打造。
第1章 認(rèn)識(shí)DevOps 1
1.1 DevOps基礎(chǔ) 1
1.1.1 DevOps的概念 1
1.1.2 DevOps與企業(yè)和IT組織的關(guān)系 2
1.1.3 DevOps究竟是什么 3
1.2 DevOps的發(fā)展軌跡和特點(diǎn) 3
1.2.1 DevOps的起源 3
1.2.2 DevOps的發(fā)展路徑 6
1.2.3 DevOps的發(fā)展特點(diǎn) 8
1.3 DevOps的總體架構(gòu)和流程 10
1.3.1 DevOps的總體架構(gòu) 10
1.3.2 DevOps的流程 14
1.4 DevOps文化 15
1.4.1 為什么需要DevOps文化 15
1.4.2 傳統(tǒng)IT組織文化存在的弊端 15
1.4.3 DevOps文化具備的特點(diǎn) 16
1.4.4 DevOps文化的目標(biāo) 17
1.5 DevOps的工具鏈框架 18
1.5.1 DevOps工具的發(fā)展特性 18
1.5.2 DevOps工具的選擇 20
1.5.3 DevOps工具的種類 21
1.5.4 DevOps工具的發(fā)展現(xiàn)狀 22
1.5.5 工具鏈簡(jiǎn)介 23
1.6 DevOps的實(shí)踐和落地 24
1.6.1 DevOps實(shí)踐和落地的模型 25
1.6.2 DevOps實(shí)踐和落地的基本原則 25
1.6.3 DevOps落地過(guò)程中的問(wèn)題 27
1.7 DevOps的價(jià)值 28
1.7.1 提升IT組織中研發(fā)管理的價(jià)值 28
1.7.2 提升IT組織中服務(wù)輸出的價(jià)值 30
1.7.3 助力企業(yè)進(jìn)行產(chǎn)品轉(zhuǎn)型和科技輸出 31
第 2章 DevOps的工具集 32
2.1 工具的種類和選擇 32
2.1.1 工具在DevOps中的定位 32
2.1.2 DevOps工具周期表 33
2.1.3 DevOps工具選擇問(wèn)題 34
2.1.4 DevOps工具選擇的建議 35
2.1.5 DevOps工具的基本功能和技術(shù)要素 36
2.2 容器云的安裝 54
2.2.1 容器云和DevOps的關(guān)系 54
2.2.2 Docker的安裝 54
2.2.3 Kubernetes的部署 58
2.3 容器云的API及其使用方式 73
2.3.1 Docker的API 73
2.3.2 Kubernetes API 81
2.4 容器云與DevOps集成的方法 87
2.4.1 容器云的DevOps和傳統(tǒng)的DevOps的區(qū)別 87
2.4.2 容器云的DevOps規(guī)劃標(biāo)準(zhǔn) 87
2.4.3 容器云的DevOps規(guī)劃設(shè)計(jì)和集成方法 88
2.4.4 以Docker為代表的DevOps平臺(tái)體系的運(yùn)行流程 91
2.5 項(xiàng)目管理工具 92
2.5.1 市場(chǎng)占有率 92
2.5.2 禪道 92
2.5.3 Jira 99
2.6 持續(xù)集成和持續(xù)交付工具 102
2.6.1 市場(chǎng)占有率 102
2.6.2 GitLab 103
2.6.3 SVN 117
2.6.4 Maven 124
2.6.5 Nexus 129
2.6.6 Jenkins 132
2.6.7 GitLab CI 139
2.7 測(cè)試管理和測(cè)試自動(dòng)化工具 142
2.7.1 市場(chǎng)占有率 142
2.7.2 SonarQube 142
2.7.3 JMeter 151
2.8 運(yùn)維管理工具 154
2.8.1 市場(chǎng)占有率 154
2.8.2 Zabbix 155
2.8.3 Ansible 163
第3章 支撐管理 177
3.1 項(xiàng)目管理 177
3.1.1 傳統(tǒng)項(xiàng)目管理、IT項(xiàng)目管理和DevOps項(xiàng)目管理的區(qū)別 177
3.1.2 DevOps在項(xiàng)目管理中的定位 179
3.1.3 DevOps在IT項(xiàng)目管理中的特點(diǎn)和作用 181
3.2 需求管理 184
3.2.1 需求管理的概念和內(nèi)容 184
3.2.2 需求管理的難點(diǎn) 185
3.2.3 需求管理的工程方法 186
3.2.4 需求管理和DevOps的關(guān)系 188
3.3 CMDB集成 189
3.3.1 CMDB概述 189
3.3.2 CMDB的作用 190
3.3.3 CMDB的價(jià)值 191
3.3.4 CMDB和DevOps的集成方法 192
3.3.5 CMDB和DevOps的集成場(chǎng)景 194
3.4 運(yùn)維服務(wù)流程的集成 194
3.4.1 創(chuàng)建運(yùn)維服務(wù)流程的原因 195
3.4.2 創(chuàng)建運(yùn)維服務(wù)流程時(shí)的目標(biāo) 196
3.4.3 建立運(yùn)維服務(wù)流程體系 197
3.4.4 運(yùn)維服務(wù)流程和DevOps的集成 198
3.5 云管理平臺(tái)集成 198
3.5.1 云管理平臺(tái)的定義 198
3.5.2 云管理平臺(tái)的種類 199
3.5.3 云管理平臺(tái)的定位和邊界 200
3.5.4 云管理平臺(tái)和DevOps的集成 202
3.6 面向終態(tài)的監(jiān)控 203
3.6.1 什么是面向終態(tài) 203
3.6.2 監(jiān)控平臺(tái)產(chǎn)生的意義 204
3.6.3 現(xiàn)有監(jiān)控方案的一些問(wèn)題 205
3.6.4 面向終態(tài)的監(jiān)控設(shè)計(jì) 205
第4章 敏捷開(kāi)發(fā) 208
4.1 敏捷開(kāi)發(fā)介紹 208
4.1.1 Scrum概述 208
4.1.2 Scrum框架屬性 210
4.2 敏捷開(kāi)發(fā)和DevOps的關(guān)系 217
4.2.1 敏捷開(kāi)發(fā)的特點(diǎn) 217
4.2.2 敏捷開(kāi)發(fā)和DevOps的差異 218
4.2.3 敏捷開(kāi)發(fā)和DevOps的交叉關(guān)系 219
4.2.4 敏捷開(kāi)發(fā)和DevOps的共性 220
4.2.5 敏捷開(kāi)發(fā)和DevOps的集成方式 221
4.3 敏捷開(kāi)發(fā)看板 222
4.3.1 看板的用途 222
4.3.2 泳道 224
4.3.3 物理看板和電子看板 225
4.3.4 看板和Scrum的關(guān)系 226
4.4 用戶故事 227
4.4.1 用戶故事簡(jiǎn)介 227
4.4.2 用戶故事的內(nèi)容 229
4.4.3 用戶故事的價(jià)值 230
4.4.4 用戶故事的2佳實(shí)踐 231
4.5 敏捷開(kāi)發(fā)的驅(qū)動(dòng)方式 232
4.5.1 敏捷開(kāi)發(fā)和其他能力子域的協(xié)同 232
4.5.2 領(lǐng)域驅(qū)動(dòng)敏捷開(kāi)發(fā) 233
4.5.3 特征驅(qū)動(dòng)敏捷開(kāi)發(fā) 234
4.5.4 測(cè)試驅(qū)動(dòng)敏捷開(kāi)發(fā) 234
第5章 持續(xù)集成和測(cè)試 236
5.1 持續(xù)集成簡(jiǎn)介 236
5.1.1 持續(xù)集成的概念 236
5.1.2 持續(xù)集成的對(duì)象 236
5.1.3 持續(xù)集成的流程、要素和原則 238
5.2 持續(xù)集成的優(yōu)點(diǎn)和難點(diǎn) 239
5.2.1 持續(xù)集成在敏捷開(kāi)發(fā)中的作用 239
5.2.2 持續(xù)集成在DevOps中的作用 240
5.2.3 持續(xù)集成的優(yōu)點(diǎn) 240
5.2.4 持續(xù)集成的難點(diǎn) 241
5.3 版本管理 242
5.3.1 版本控制 242
5.3.2 版本控制和DevOps的關(guān)系 243
5.3.3 版本控制和開(kāi)發(fā)模式的關(guān)系 244
5.4 自動(dòng)化測(cè)試簡(jiǎn)介 246
5.4.1 自動(dòng)化測(cè)試和測(cè)試自動(dòng)化的區(qū)別 247
5.4.2 自動(dòng)化測(cè)試能夠解決什么問(wèn)題 247
5.4.3 自動(dòng)化測(cè)試的目的 249
5.4.4 自動(dòng)化測(cè)試的前置條件 249
5.4.5 自動(dòng)化測(cè)試的通用流程 250
5.5 自動(dòng)化測(cè)試框架 251
5.5.1 自動(dòng)化測(cè)試框架的優(yōu)點(diǎn) 251
5.5.2 自動(dòng)化測(cè)試框架的類型 252
5.5.3 使用自動(dòng)化測(cè)試框架時(shí)需要注意的事項(xiàng) 253
5.5.4 常見(jiàn)的自動(dòng)化測(cè)試框架 254
5.5.5 Selenium2佳實(shí)踐示范 257
5.6 驅(qū)動(dòng)測(cè)試的方式 258
5.6.1 常見(jiàn)的驅(qū)動(dòng)測(cè)試方式 259
5.6.2 數(shù)據(jù)驅(qū)動(dòng)測(cè)試 260
5.6.3 DevOps驅(qū)動(dòng)測(cè)試 262
5.7 持續(xù)集成的2佳實(shí)踐 263
5.7.1 基于程序的持續(xù)集成 263
5.7.2 基于容器的持續(xù)集成 270
5.7.3 基于數(shù)據(jù)庫(kù)的持續(xù)集成 272
第6章 持續(xù)部署和持續(xù)交付 276
6.1 持續(xù)部署簡(jiǎn)介 276
6.1.1 持續(xù)部署的概念 276
6.1.2 持續(xù)部署和持續(xù)集成、持續(xù)交付的區(qū)別 277
6.1.3 持續(xù)部署的演進(jìn) 278
6.2 發(fā)布策略 280
6.2.1 常見(jiàn)的發(fā)布策略 280
6.2.2 特性開(kāi)關(guān)發(fā)布 284
6.3 微服務(wù)部署 286
6.3.1 微服務(wù)架構(gòu)的概念 286
6.3.2 傳統(tǒng)開(kāi)發(fā)模式和微服務(wù)開(kāi)發(fā)模式的區(qū)別 287
6.3.3 微服務(wù)和DevOps的關(guān)系 288
6.3.4 微服務(wù)部署策略 289
6.4 制品和制品庫(kù) 291
6.4.1 制品庫(kù)的作用 291
6.4.2 制品的類型 292
6.4.3 制品庫(kù)的建設(shè) 293
6.4.4 常見(jiàn)的制品庫(kù) 294
6.5 Pipeline的種類和用法 296
6.5.1 Pipeline對(duì)DevOps的作用 296
6.5.2 Pipeline的種類 297
6.6 Pipeline的2佳實(shí)踐 303
6.6.1 創(chuàng)建流水線的3種方式 303
6.6.2 Jenkinsfile文件的用法 306
6.6.3 Jenkinsfile文件的高階使用場(chǎng)景 308
6.6.4 Pipeline中Docker的使用 312
第7章 代碼質(zhì)量和安全 314
7.1 技術(shù)債務(wù) 314
7.2 質(zhì)量?jī)?nèi)建 318
7.3 代碼規(guī)范和指標(biāo) 323
7.4 代碼評(píng)審 333
7.5 DevOps和安全的集成 337
7.6 DevSecOpsZ佳實(shí)踐 342
第8章 DevOps的度量體系 350
8.1 數(shù)據(jù)思維 350
8.2 DevOps數(shù)據(jù)體系的建設(shè)和管理 354
8.3 DevOps數(shù)據(jù)在運(yùn)維領(lǐng)域的使用場(chǎng)景 359
8.4 構(gòu)建DevOps度量體系 363
8.5 構(gòu)建DevOps指標(biāo)體系 368
第9章 持續(xù)改進(jìn)和反饋 376
9.1 DevOps持續(xù)反饋原則 376
9.2 DevOps的持續(xù)改進(jìn) 379
9.3 DevOps常見(jiàn)誤區(qū)和改進(jìn)目標(biāo) 381
2 20章 DevOpsZ佳實(shí)踐 386
10.1 阿里云云效的DevOpsZ佳實(shí)踐 386
10.2 騰訊云DevOpsZ佳實(shí)踐 393
10.3 蘇寧金融DevOpsZ佳實(shí)踐 404
2 21章 DevOps的后續(xù)發(fā)展 409
11.1 DevOps是衡量CMDB是否成功的重要方式 409
11.2 DevOps逐漸回歸本質(zhì) 410
11.3 DevOps的發(fā)展趨勢(shì)是成為服務(wù)目錄門戶 410
11.4 AI對(duì)DevOps的賦能,是“蜜糖”還是“毒藥”? 411
11.5 DevOps也需要依靠數(shù)據(jù)中臺(tái) 411
11.6 DevOps是否爆發(fā)式成長(zhǎng)取決于企業(yè)領(lǐng)導(dǎo)者是否賦予研發(fā)人員更多的話語(yǔ)權(quán) 412
11.7 自動(dòng)化已經(jīng)逐漸脫離DevOps的范疇 412
11.8 沒(méi)有度量的DevOps會(huì)逐漸淪為“雞肋” 413
11.9 CI/CD流水線已不再是潮流 413
11.10 成本復(fù)盤將成為DevOps發(fā)展的新方向 413
11.11 SEC成為DevOps爆發(fā)式發(fā)展的一個(gè)阻礙 413