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