DevOps (Development和Operations的組合詞) 是一組過程、方法與系統(tǒng)的統(tǒng)稱, 用于促進(jìn)開發(fā)( 應(yīng)用程序/軟件工程) 、技術(shù)運(yùn)營(yíng)和質(zhì)量保障( QA) 部門之間的溝通、協(xié)作與整合。DevOps非常適合交付對(duì)速度和敏捷性有要求的高價(jià)值應(yīng)用和系統(tǒng), 能夠在不犧牲質(zhì)量的情況下實(shí)現(xiàn)創(chuàng)新。在本書中, 作者展示了如何基于組織的業(yè)務(wù)目標(biāo)、當(dāng)前的IT成熟度以及IT技術(shù)與平臺(tái)在企業(yè)內(nèi)實(shí)施DevOps。根據(jù)作者幫助各行各業(yè)的公司成功實(shí)施DevOps的豐富經(jīng)驗(yàn), 他闡述了該如何讓組織做好準(zhǔn)備, 迎接挑戰(zhàn), 并進(jìn)入快速發(fā)展之路。同時(shí), 本書也提供了各類方案, 供企業(yè)在不同環(huán)境、不同情況下使用。
第一部分DevOps和Agile的原則第1章DevOps和Agile概述2
1.1探索DevOps的目標(biāo)2
1.2與DevOps相關(guān)的價(jià)值4
1.3DevOps解決的挑戰(zhàn)6
1.4DevOps成熟期7
1.4.1瀑布式項(xiàng)目管理7
1.4.2持續(xù)集成9
1.4.3持續(xù)交付10
1.4.4持續(xù)部署10
1.5Agile如何在DevOps中發(fā)揮作用11
1.5.1Agile宣言12
1.5.2Agile能夠和DevOps一起工作嗎14
1.5.3處理計(jì)劃外的工作14
1.5.4Scrum15
1.5.5組織內(nèi)部的混合方法17
1.5.6規(guī)模化敏捷框架18
1.7總結(jié)20
第2章DevOps的業(yè)務(wù)優(yōu)勢(shì)、團(tuán)隊(duì)拓?fù)浜拖葳?/span>21
2.1DevOps的主要業(yè)務(wù)優(yōu)勢(shì)21
2.2變換拓?fù)?/span>24
2.2.1開發(fā)和運(yùn)營(yíng)協(xié)作25
2.2.2共享操作26
2.2.3作為服務(wù)的DevOps27
2.2.4DevOps宣傳28
2.2.5網(wǎng)站可靠性工程(SRE)29
2.2.6容器驅(qū)動(dòng)30
2.3反模式轉(zhuǎn)換31
2.3.1開發(fā)和運(yùn)營(yíng)孤島31
2.3.2DevOps團(tuán)隊(duì)孤島32
2.3.3Dev不需要Ops33
2.3.4團(tuán)隊(duì)只將DevOps作為工具33
2.3.5美化SysAdmin34
2.3.6開發(fā)團(tuán)隊(duì)中嵌入Ops35
2.4避免轉(zhuǎn)型項(xiàng)目失敗36
2.5解碼失敗的DevOps轉(zhuǎn)換38
2.6總結(jié)40
2.7問題41
第3章衡量DevOps的成功42
3.1衡量成功的常用指標(biāo)42
3.1.1速度衡量指標(biāo)43
3.1.2通用質(zhì)量衡量指標(biāo)46
3.1.3通用穩(wěn)定性度量48
3.2為團(tuán)隊(duì)設(shè)計(jì)指標(biāo)50
3.2.1場(chǎng)景1——擁有專門DevOps團(tuán)隊(duì)的小型組織50
3.2.2情景2——具有倡導(dǎo)團(tuán)隊(duì)的中型組織51
3.2.3場(chǎng)景3——擁有眾多DevOps團(tuán)隊(duì)的大型組織52
3.2.4場(chǎng)景4——具有外包DevOps團(tuán)隊(duì)的小型組織54
3.3在組織層級(jí)創(chuàng)建匯總55
3.4總結(jié)58
第二部分開發(fā)和構(gòu)建成功的DevOps文化第4章建立DevOps文化與打破壁壘60
4.1什么是DevOps文化60
4.1.1角色和責(zé)任61
4.1.2參與規(guī)則62
4.1.3回顧63
4.2為什么DevOps文化很重要64
4.2.1提高透明度65
4.2.2更好地溝通67
4.2.3跨團(tuán)隊(duì)協(xié)作69
4.3保持強(qiáng)大的DevOps文化70
4.3.1新手和離職者70
4.3.2太努力反而不能成功71
4.3.3缺乏創(chuàng)新72
4.3.4文化差異73
4.3.5缺乏認(rèn)可73
4.4打破組織中的壁壘74
4.5總結(jié)76
4.6問題76
第5章避免DevOps中的文化沖突反模式78
5.1組織一致性78
5.2變革的阻力80
5.2.1理解組織變革的作用80
5.2.2組織變革過程步驟81
5.2.3克服阻力84
5.2.4溝通中斷86
5.3擴(kuò)大規(guī)模的挑戰(zhàn)87
5.4過度關(guān)注工具90
5.4.1多少自動(dòng)化算太多90
5.4.2平衡91
5.5恰當(dāng)使用原有基礎(chǔ)設(shè)施和系統(tǒng)93
5.6總結(jié)94
5.7問題94
第三部分推動(dòng)變革以使組織流程變得更加成熟第6章使用價(jià)值流圖推動(dòng)流程變革97
6.1了解價(jià)值流圖97
6.1.1超越DevOps進(jìn)行流程改進(jìn)98
6.1.2查看價(jià)值流圖99
6.2價(jià)值流圖的作用103
6.2.1價(jià)值流圖的挑戰(zhàn)103
6.2.2價(jià)值流圖的用例104
6.2.3識(shí)別和減少浪費(fèi)105
6.3流程圖和價(jià)值流圖之間的差異107
6.4價(jià)值流圖示例110
6.4.1創(chuàng)建價(jià)值流圖110
6.4.2當(dāng)前狀態(tài)價(jià)值流圖112
6.4.3未來狀態(tài)價(jià)值流圖114
6.5總結(jié)116
6.6問題116
第7章在組織中實(shí)現(xiàn)流程變革118
7.1有效變革的8個(gè)步驟118
7.2變更商業(yè)模式121
7.2.1Kotter的變更管理模型121
7.2.2Roger的技術(shù)采用曲線123
7.2.3ADKAR模型124
7.2.4EASIER模型125
7.3人對(duì)過程變革的影響125
7.3.1直接影響126
7.3.2間接影響127
7.4流程變革的共同挑戰(zhàn)129
7.5總結(jié)131
7.6問題131
第8章流程的持續(xù)改進(jìn)133
8.1持續(xù)改進(jìn)和反饋的含義133
8.1.1建立持續(xù)改進(jìn)的文化133
8.1.2理解和實(shí)施改善的原則134
8.1.3建立持續(xù)的反饋文化135
8.2持續(xù)改進(jìn)和反饋的技巧137
8.2.1持續(xù)改進(jìn)過程138
8.2.2其他持續(xù)改進(jìn)技術(shù)140
8.2.3持續(xù)反饋過程141
8.2.4額外的連續(xù)反饋技術(shù)141
8.3迭代對(duì)流程的更改142
8.3.1迭代設(shè)計(jì)過程143
8.3.2迭代設(shè)計(jì)的好處143
8.4跟上變化144
8.4.1有效溝通145
8.4.2知識(shí)轉(zhuǎn)移145
8.4.3接觸專家146
8.5總結(jié)146
8.6問題147
第四部分實(shí)施和部署DevOps工具第9章了解DevOps的技術(shù)堆棧149
9.1DevOps工具149
9.2工具如何幫助DevOps應(yīng)用153
9.2.1選擇促進(jìn)合作的工具153
9.2.2使用加強(qiáng)溝通的工具154
9.2.3使用帶有API的工具155
9.2.4始終鼓勵(lì)學(xué)習(xí)156
9.2.5避免使用特定于環(huán)境的工具157
9.3了解DevOps工具的好處157
9.4DevOps工具的問題161
9.5總結(jié)164
9.6問題164
第10章制定實(shí)施工具的策略165
10.1了解體系結(jié)構(gòu)和安全需求165
10.1.1企業(yè)架構(gòu)很重要166
10.1.2信息安全很重要168
1.1.3了解企業(yè)架構(gòu)需求171
10.2制定培訓(xùn)計(jì)劃172
10.2.1培訓(xùn)計(jì)劃很重要172
10.2.2為團(tuán)隊(duì)制定培訓(xùn)計(jì)劃174
10.3定義工具的所有者和流程177
10.4總結(jié)178
10.5問題179
第11章DevOps的主要趨勢(shì)180
11.1XOps生態(tài)系統(tǒng)180
11.1.1XOps是從哪里開始的181
11.1.2XOps環(huán)境182
11.1.3XOps方法184
11.2DataOps生態(tài)系統(tǒng)184
11.2.1DataOps涉及的流程186
11.2.2DataOps涉及的工具187
11.3DevSecOps生態(tài)系統(tǒng)188
11.3.1DevSecOps涉及的流程190
11.3.2DevSecOps涉及的工具192
11.4GitOps生態(tài)系統(tǒng)194
11.4.1GitOps涉及的流程195
11.4.2GitOps涉及的工具196
11.5總結(jié)197
11.6問題197
第12章在現(xiàn)實(shí)組織中實(shí)施DevOps198
12.1組織為何遷移到DevOps198
12.2定義虛構(gòu)的組織202
12.3DevOps轉(zhuǎn)型演練204
12.4評(píng)估現(xiàn)有能力209
12.5執(zhí)行轉(zhuǎn)型練習(xí)212
12.5.1巧克力、樂高和Scrum游戲213
12.5.2敏捷214
12.5.3向敏捷工作轉(zhuǎn)變215
12.5.4重組團(tuán)隊(duì)結(jié)構(gòu)217
12.5.5實(shí)施DevOps實(shí)踐220
12.5.6反饋循環(huán)221
12.6總結(jié)222
......