雲上持續交付

蔡興旺

商品描述

本書系統講解在雲環境中落地持續交付(CD)的完整方法論,兼顧戰略規劃與技術實踐。全書從基礎概念切入,先闡釋CD生態系統的核心要素、與持續集成(CI)的銜接及漸進式交付原理,再詳解雲署模型、服務模型等雲計算基礎,明確雲上CD與傳統模式的差異。技術層面,聚焦架構選擇(單體與微服務對比)、雲原生平台性,深入剖析滾動更新、藍/綠署等署策略,以及GitOps、基礎設施代碼(IaC)等關鍵技術的落地方法,同時強調護,涵蓋CI/CD環境護、密鑰管理、策略控制等內容。還提供組織層面的實施指南,括團隊技能提升、跨門協作機制,輔以可口可樂阿根廷、愛立信等企業案例,並展望CD未來趨勢與開源生態貢獻路徑,幫助讀者形成從理論到落地的完整認知。

目錄大綱

譯者序

前言

作者簡介

審校者簡介

第一分 雲上持續交付的基礎知識和準備工作

第1章 雲上持續交付規劃 2

1.1 理解持續交付生態系統 2

1.1.1 定義持續交付生態系統 3

1.1.2 持續交付生態系統的征 4

1.1.3 持續交付生態系統的關鍵角色 4

1.1.4 管理持續交付生態系統 5

1.2 持續交付的主要勢 6

1.3 從持續集成到持續交付 8

1.4 漸進式交付 9

1.5 基於雲計算的持續交付實現 10

1.6 總結 11

1.7 延伸閱讀 12

第2章 理解雲交付模型 13

2.1 雲署模型 14

2.2 雲計算的征 14

2.3 雲服務模型 16

2.4 為什麽持續交付在雲計算中有所

不同 18

2.5 實踐雲上持續交付的機會和風險 19

2.5.1 實踐雲上持續交付的機會 20

2.5.2 實踐雲上持續交付的挑戰 20

2.6 總結 21

第3章 創建成功的戰略並為持續

交付做好準備 22

3.1 在雲上實現現代化持續交付的戰略

和目標 22

3.1.1 雲上持續交付戰略的關鍵框架 24

3.1.2 雲上持續交付框架的簡單說明 25

3.2 連接業務、轉型和運維策略 26

3.3 概述雲上持續交付組織層面的前置

準備工作 27

3.3.1 敏捷、DevOps和雲技術與實踐

的共存 27

3.3.2 注於越工程 28

3.3.3 能夠與遺留的、單一的環境進行

協作 29

3.3.4 運營模式支持第三方服務

提供商 29

3.3.5 溝通與協作 29

3.4 提高組織的技能目標 29

3.4.1 雲上持續交付的團隊組織 29

3.4.2 提高雲上持續交付實施體系的

關鍵技巧 30

3.5 雲上持續交付的現代化實現 31

3.5.1 實施 31

3.5.2 管理持續交付 32

3.5.3 管理指標 32

3.5.4 流行的雲上持續交付工具 33

3.6 總結 34

第4章 雲上持續交付的設置和擴展 35

4.1 選擇合適的雲環境、模型和工具 35

4.1.1 準備 36

4.1.2 戰略分析 36

4.1.3 初始選擇 38

4.1.4 采用和管理持續交付實踐 38

4.2 理解並雲上持續交付的相關

文化 41

4.3 轉移成本、風險和管理 44

4.3.1 雲原生持續交付的性

挑戰 45

4.3.2 混沌工程 45

4.4 持續交付實踐及其演變 46

4.5 擴展CI/CD的關鍵需求 47

4.6 總結 48

第二分 實現持續交付

第5章 尋找實現雲上持續交付的

技術策略 50

5.1 確署策略在技術上的成功 51

5.2 探索單體和微服務架構 52

5.2.1 單體是什麽 53

5.2.2 微服務是什麽 54

5.2.3 單體不好嗎?我們應該一直

使用微服務嗎 55

5.3 雲原生平台和注意事項 56

5.4 大規模交付軟件的策略 59

5.4.1 多段和多集群環境 59

5.4.2 大規模滾動更新應用程序 60

5.5 總結 61

第6章 通過支持技術實現成功的

實施 62

6.1 署策略 62

6.2 持續集成 64

6.3 模板和Kubernetes Operator 66

6.3.1 Kustomize 67

6.3.2 Helm 67

6.3.3 Operator 68

6.4 基礎設施代碼 69

6.5 GitOps 71

6.6 平台和門戶 74

6.7 缺失分 76

6.8 總結 77

第7章 以速度為目標,降低交付

風險 78

7.1 速度在持續交付中的作用以及相關

風險 79

7.2 為什麽速度很重要 80

7.2.1 速度如何降低交付風險 80

7.2.2 度量持續交付性能 81

7.3 可觀測性 83

7.4 署策略 84

7.4.1 擴容和署策略的基礎知識 84

7.4.2 滾動更新 86

7.4.3 藍/綠署 87

7.4.4 灰度發布 88

7.4.5 功能開關 88

7.4.6 署策略的級別 88

7.4.7 策略帶來的改變 89

7.5 署和發布 90

7.6 總結 92

第8章 持續交付的性以及署

測試 93

8.1 基礎知識 94

8.2 護CI/CD環境 95

8.3 確流水線 98

8.4 支持的工具和技術 100

8.4.1 集中認證/身份管理 100

8.4.2 密鑰管理 101

8.4.3 策略實施控制器 102

8.4.4 審計 102

8.5 處理人為錯誤 103

8.5.1 建立一種允許犯錯的文化 103

8.5.2 討論錯誤 103

8.5.3 覆盤/文檔 104

8.5.4 自動化測試 104

8.6 總結 105

第三分 佳實踐和未來之路

第9章 佳實踐和參考 108

9.1 建立和采用佳實踐 109

9.2 端到端責任 109

9.3 以雲友好的方式進行開發 110

9.3.1 松耦合 110

9.3.2 12要素應用程序 110

9.3.3 使用正確的版本控制,避

使用“新” 111

9.3.4 將配置拆分為可重用的分 112

9.4 交付佳實踐 113

9.4.1 流水線代碼 113

9.4.2 將每個構建視為發布候選

版本 113

9.4.3 自動化測試和質量門禁 114

9.4.4 預覽環境 114

9.5 佳實踐 115

9.5.1 軟件制品的供應鏈級別 115

9.5.2 管理 115

9.5.3 不可變基礎設施 115

9.6 更多佳實踐 116

9.7 案例研究 116

9.7.1 案例研究1:可口可樂阿根廷應用程序開發和產品交付 116

9.7.2 案例研究2:在Azure DevOps

上使用CI/CD流水線實現自動化

署 117

9.7.3 案例研究3:在愛立信開發完整

的端到端CI/CD流水線 117

9.8 總結 118

第10章 持續交付的未來趨勢 119

10.1 當前持續交付面臨的主要挑戰 119

10.2 功能的發展 120

10.3 架構的發展 122

10.4 運維的發展 123

10.5 采納挑戰和關鍵建議 124

10.6 總結 125

第11章 為開源生態系統做出

貢獻 126

11.1 持續交付開源生態系統概述 126

11.2 開源許可 128

11.3 治理模型和成熟度級別 129

11.4 沙盒、孵化和項目 131

11.5 如何成為持續交付開源生態系統

的貢獻者 133

11.6 長期可持續性 134

11.7 雲上持續交付項目的融資和

投資 135

11.8 資助開源項目的關鍵考慮因素 136

11.9 漏洞管理 137

11.10 總結 138

11.11 延伸閱讀 138

第12章 實踐作業 139

12.1 概述 139

12.2 案例研究 140

?12.2.1 案例研究的簡短描述 140

?12.2.2 如何進行案例研究 140

?12.2.3 關於任務的更多內容 140

?12.2.4 關於可能的解決方案的更多

?內容 141

?12.2.5 相關的參考文獻 141

12.3 任務1:業務對齊 141

?12.3.1 任務1的解決方案指南 141

?12.3.2 業務對齊 142

?12.3.3 戰術協同 142

12.4 任務2:運維協同 143

12.5 任務3:技術架構與戰略 144

12.6 任務4:使用雲計算 145

12.7 任務5:先進技術 146

12.8 任務6:與合規 147

12.9 任務7:確定實施的工具和要

服務 148

12.10 總結 149