發表於2024-11-09
DevOps為加速新軟件功能的發布和改善對生産環境係統的監控帶來瞭希望,但是對軟件架構師和軟件架構來說,DevOps的關鍵意義卻常常被忽視。本書全麵解決瞭這些問題,不僅剖析瞭軟件架構師為實現DevOps目標必須要做齣的決策,並且說明瞭DevOps的其他參與者有可能以哪種方式來影響架構師的工作,還詳細介紹瞭高效部署DevOps所需要的組織、技術和運營環境,以及DevOps對每個開發階段的影響。作者解決瞭把多個功能關聯起來的橫切關注點問題,提供瞭對閤規性、性能、可靠性、可重復性和安全方麵的切閤實際的洞察。
《DevOps:軟件架構師行動指南》從軟件架構師視角講解瞭引入DevOps實踐所需要擁有的技術能力,涵蓋運維、部署流水綫、監控、安全與審計以及質量關注。通過三個經典案例研究,講解在不同場景下應用DevOps實踐的方法,對於想應用DevOps實踐的組織提供切實的指導。
全書共五部分。第一部分(第1~3章)討論DevOps的背景,包括DevOps的目標和期望使用DevOps解決的問題、雲、運維等。第二部分(第4~6章)介紹部署流水綫,從功能性視角介紹部署實踐的內容,涵蓋微服務架構風格、構建和測試過程、工具鏈,以及具體的部署問題。第三部分(第7~10章)介紹橫切關注點,討論瞭計算監控、實時測試、安全與安全審計,以及部署流水綫的性能、可靠性、可修改性等。還介紹瞭業務關注點,包括為引進DevOps所需要準備的業務計劃的組成元素,以及如何進行論證、推齣和測量業務計劃。第四部分(第11~13章)描述3個案例研究:為瞭實現業務連續性如何維護兩個數據中心,管理一個持續部署流水綫,一個組織如何遷移到微服務架構上。第五部分(第14~15章)設想evOps的未來,介紹瞭目前的研究以及如何基於把運維視作一係列過程來進行,並給齣瞭3~5年內DevOps將如何發展的預測。
作者簡介:
倫恩·拜斯(Len Bass) 澳大利亞NICTA的高級首席研究員。他曾在卡內基梅隆大學軟件工程研究所工作25年,有超過50年的軟件開發和研究經驗。他是兩本軟件架構方麵獲奬圖書的閤作者(《Software Architecture in Practice, Third Edition》和《Documenting Software Architectures:Views and Beyond,Second Edition》),他還與人閤作齣版或發錶瞭數篇計算機科學與軟件工程領域的其他書籍和論文。
英戈·韋伯(Ingo Weber) 澳大利亞NICTA軟件係統研究組的高級研究員,也是新南威爾士大學計算機科學與工程係的兼職高級講師。他的研究領域包括雲計算、DevOps、業務過程管理以及人工智能。
硃黎明(Liming Zhu) 澳大利亞NICTA一個研究小組的負責人和首席研究員。他擁有新南威爾士大學和悉尼大學的聯閤職位。曾就職於數個在軟件領域具有領先地位的技術公司。
譯者簡介:
胥峰 資深運維專傢,有10年運維經驗,在業界頗具威望和影響力。2011年加入盛大遊戲,工作至今,曾參與盛大遊戲多款大型端遊和手遊的運維,主導 運維自動化平颱的功能設計和實施。通過公眾號“運維技術實踐”發布 “網絡分析技術實踐”係列主題技術文章,引發萬人閱讀轉發。擁有工信部認證高級信息係統項目管理師資格。
任發科目前擔任融數數據研發總監,曾任職唯品會、會唐網、亞*遜、ThoughtWorks,有十餘年軟件開發、架構和管理經驗。曾參與多個電商相關係統的研發工作,近年主要從事DevOps工具鏈的設計與實現,大數據平颱的組建,以及高效研發團隊的組建與管理。
“橫看成嶺側成峰,遠近高低各不同”。當我們愈是從不同角度和層麵解讀DevOps,就有機會愈加接近DevOps的本質,並正確地指導企業經營和技術實踐。本書少有的從軟件架構層麵係統性地闡述DevOps,令人耳目一新並大呼過癮,再加之譯者深厚的DevOps實踐功底,相信本書能成為您床頭案尾必備好書。
——蕭田國,高效運維社區發起人、DevOpsDays中國聯閤發起人
作為一名持續交付領域的倡導者和先行者,我欣喜地看到首本以軟件架構師視角全方位講解DevOps實踐的書。尤其是案例研究部分,為不同場景下引入DevOps實踐提供瞭有價值的指引,希望每個軟件開發者都能從書中得到啓示。胥峰和任發科都是各自公司DevOps實踐的先行者,對於DevOps有著深入的理解。另外,作為曆時8個月完成《持續交付》的譯者,我也深知技術翻譯的不易。感謝本書譯者的辛勤努力,相信讀者也能感受到譯著的專業性和質量保證。
——喬梁,《持續交付》譯者、敏思特谘詢公司閤夥人
胥峰作為國內實戰DevOps的運維人,譯者身上有著深厚的DevOps實踐和理論基礎。在推廣DevOps的過程中,不斷會遇到DevOps如何落地的問題?本書的實際操作性就非常強,從DevOps的核心-部署流水綫開始,逐步闡述DevOps的能力構成,並輔助案例,相信這個會給讀者帶來莫大的收益。
——王津銀,優維科技CEO
DevOps自誕生起,就為企業勾勒瞭一幅美好的圖譜,在業務生命周期中,企業的不同崗位和不同角色通力閤作,讓IT的效率與質量得到提升,這也是DevOps在IT界備受追捧的重要原因。本書從軟件架構師視角解讀DevOps,從方法論和自動化工具等不同角度全麵且深入的剖析、循序漸進地帶領讀者觸及那圖譜中美好的景象。這是一本難得的DevOps佳作,是每位希望掌握DevOps的IT工程師不可錯過的一本好書,值得大傢捧讀與收藏。
——梁定安,騰訊技術總監、織雲負責人
藉用我喜歡的吳軍老師一句話“對於一個弄潮的年輕人來說,幸運的莫過於趕上一波浪潮。每一個人都應該看清楚浪潮,趕上浪潮,如此,便不枉此生”。今天,對於技術工程師來說,DevOps就是新的一波技術革命、技術浪潮。在它來臨之際,作為行業中人,無疑應該擁抱它,讓自己成為時代的弄潮兒,成為那2%的受益者。
——陳桂新,盛大遊戲高級總監
譯者序
前言
第一部分 背 景
第1章 DevOps是什麼 …… 2
1.1 概述 …… 2
1.1.1 定義DevOps …… 2
1.1.2 DevOps實踐 …… 3
1.1.3 持續部署的例子:IMVU …… 5
1.2 為什麼是DevOps …… 5
1.2.1 發布過程 …… 5
1.2.2 配閤不佳的原因 …… 7
1.2.3 運維人員能力有限 …… 7
1.3 DevOps視角 …… 8
1.3.1 自動化 …… 8
1.3.2 開發團隊的職責 …… 9
1.4 DevOps與敏捷 …… 9
1.5 團隊結構 …… 10
1.5.1 團隊規模 …… 10
1.5.2 團隊角色 …… 10
1.6 協作 …… 13
1.6.1 協作的形式 …… 13
1.6.2 團隊協作 …… 14
1.6.3 跨團隊協作 …… 14
1.7 障礙 …… 15
1.7.1 文化及組織類型 …… 15
1.7.2 部門類型 …… 16
1.7.3 筒倉思維方式(Silo Mentality) …… 17
1.7.4 工具支持 …… 17
1.7.5 人員問題 …… 17
1.8 小結 …… 18
1.9 更多閱讀材料 …… 18
第2章 雲即平颱 …… 20
2.1 概述 …… 20
2.2 雲的特性 …… 21
2.2.1 虛擬化 …… 22
2.2.2 IP和域名係統管理 …… 23
2.2.3 平颱即服務 …… 25
2.2.4 分布式環境 …… 25
2.3 獨特的雲特性對DevOps的影響 …… 30
2.3.1 環境 …… 30
2.3.2 輕鬆創建虛擬機 …… 31
2.3.3 數據考量 …… 31
2.4 小結 …… 32
2.5 更多閱讀材料 …… 33
第3章 運維 …… 34
3.1 概述 …… 34
3.2 運維服務 …… 34
3.2.1 供給硬件 …… 34
3.2.2 供給軟件 …… 35
3.2.3 IT功能 …… 36
3.2.4 服務級彆協議 …… 36
3.2.5 容量規劃 …… 36
3.2.6 業務連續性和安全 …… 37
3.2.7 服務策略 …… 38
3.2.8 服務設計 …… 39
3.2.9 服務移交 …… 39
3.2.10 服務運維 …… 40
3.2.11 服務運維概念 …… 40
3.3 服務運維功能 …… 41
3.4 持續服務改進 …… 42
3.5 運維和DevOps …… 43
3.6 小結 …… 44
3.7 更多閱讀材料 …… 44
第二部分 部署流水綫
第4章 整體架構 …… 48
4.1 DevOps實踐是否需要架構調整 …… 48
4.2 架構結構總覽 …… 49
4.2.1 協作模式 …… 50
4.2.2 資源管理 …… 51
4.2.3 架構元素之間的映射 …… 52
4.3 微服務架構的質量 …… 52
4.3.1 可靠性 …… 53
4.3.2 可修改性 …… 54
4.4 團隊的亞馬遜規則 …… 55
4.5 現有係統的微服務方案 …… 56
4.6 小結 …… 56
4.7 更多閱讀材料 …… 57
第5章 構建與測試 …… 58
5.1 概述 …… 58
5.2 在部署流水綫中移動係統 …… 59
5.2.1 可追溯性 …… 59
5.2.2 環境 …… 60
5.3 橫切關注點 …… 61
5.4 開發及提交前測試 …… 63
5.4.1 版本控製與分支 …… 63
5.4.2 功能開關 …… 65
5.4.3 配置參數 …… 66
5.4.4 在開發和提交前測試中的測試 …… 67
5.5 構建與集成測試 …… 67
5.5.1 構建腳本 …… 67
5.5.2 打包 …… 68
5.5.3 持續集成與構建狀態 …… 69
5.5.4 集成測試 …… 70
5.6 用戶驗收測試/預發布/性能測試 …… 70
5.7 生産環境 …… 71
5.7.1 早期發布測試 …… 71
5.7.2 錯誤檢測 …… 72
5.7.3 現場測試 …… 72
5.8 事件 …… 73
5.9 小結 …… 73
5.10 更多閱讀材料 …… 74
第6章 部署 …… 75
6.1 概述 …… 75
6.2 部署管理的策略 …… 76
6.2.1 藍/綠部署 …… 76
6.2.2 滾動升級 …… 77
6.3 邏輯一緻性 …… 78
6.3.1 相同服務的多個版本同時存在 …… 78
6.3.2 兼容數據庫中保存的數據 …… 81
6.4 打包 …… 82
6.5 多環境部署 …… 84
6.6 部分部署 …… 86
6.6.1 金絲雀測試 …… 86
6.6.2 A/B測試 …… 87
6.7 迴滾 …… 87
6.8 工具 …… 89
6.9 小結 …… 90
6.10 更多閱讀材料 …… 90
第三部分 橫切關注點
第7章 監控 …… 94
7.1 概述 …… 94
7.2 監控什麼 …… 95
7.2.1 故障檢測 …… 96
7.2.2 性能下降檢測 …… 96
7.2.3 容量規劃 …… 97
7.2.4 用戶交互 …… 98
7.2.5 入侵檢測 …… 99
7.3 如何監控 …… 99
7.3.1 基於代理的監控和無代理的監控 …… 101
7.3.2 監控運維活動 …… 102
7.3.3 收集和存儲 …… 102
7.4 什麼時候變更監控配置 …… 103
7.5 解釋監控數據 …… 103
7.5.1 日誌 …… 104
7.5.2 繪圖和展示 …… 105
7.5.3 警報和警告 …… 105
7.5.4 診斷和反應 …… 106
7.5.5 監控DevOps過程 …… 106
7.6 挑戰 …… 107
7.6.1 挑戰1:持續變更下的監控 …… 107
7.6.2 挑戰2:自下嚮上與自上嚮下和在雲中的監控 …… 108
7.6.3 挑戰3:監控微服務架構 …… 109
7.6.4 挑戰4:處理大容量的分布式(日誌)數據 …… 109
7.7 工具 …… 109
7.8 從監控數據中診斷齣異常——Platformer.com的案例 …… 110
7.8.1 背景 …… 111
7.8.2 數據收集 …… 112
7.8.3 檢測異常 …… 112
7.8.4 思考 …… 113
7.9 小結 …… 113
7.10 更多閱讀材料 …… 114
第8章 安全與安全審計 …… 115
8.1 安全是什麼 …… 115
8.2 威脅 …… 117
8.3 需要保護的資源 …… 118
8.4 安全角色和活動 …… 120
8.5 身份管理 …… 122
8.5.1 認證 …… 123
8.5.2 授權 …… 125
8.6 訪問控製 …… 126
8.6.1 阻止訪問 …… 127
8.6.2 誰負責預防控製 …… 129
8.7 檢測、審計和拒絕服務 …… 129
8.8 開發 …… 130
8.9 審計者 …… 130
8.10 應用設計考慮 …… 131
8.11 部署流水綫設計考慮 …… 132
8.12 小結 …… 133
8.13 更多閱讀材料 …… 134
第9章 其他非功能需求 …… 135
9.1 概述 …… 135
9.2 可重復性 …… 136
9.2.1 在恰當的層級上定義和執行過程 …… 136
9.2.2 版本控製所有事物 …… 138
9.3 性能 …… 139
9.3.1 測量重要的事物 …… 139
9.3.2 提高資源使用率 …… 140
9.4 可靠性 …… 141
9.4.1 理解不同服務的可靠性特性 …… 141
9.4.2 早期檢測和修復錯誤 …… 142
9.5 可恢復性 …… 142
9.6 互操作性 …… 143
9.6.1 注意接口的互操作性 …… 143
9.6.2 理解現有的數據模型 …… 143
9.7 可測試性 …… 144
9.8 可修改性 …… 145
9.8.1 一個工具內的修改 …… 145
9.8.2 工具之間交互行為的修改 …… 146
9.9 小結 …… 146
9.10 更多閱讀材料 …… 147
第10章 業務關注點 …… 148
10.1 概述 …… 148
10.2 業務案例 …… 148
10.2.1 問題和解決問題所帶來的好處 …… 149
10.2.2 成本 …… 149
10.2.3 乾係人影響 …… 150
10.2.4 風險及其減緩 …… 151
10.2.5 推齣計劃 …… 153
10.2.6 成功標準 …… 154
10.3 度量和對DevOps實踐的閤規性 …… 155
10.3.1 測量DevOps實踐的成功度 …… 155
10.3.2 測量對DevOps實踐的閤規性 …… 156
10.3.3 測量乾係人的滿意度 …… 157
10.4 Dev和Ops之間的交互點 …… 157
10.4.1 許可 …… 157
10.4.2 事故處理 …… 158
10.5 小結 …… 159
10.6 更多閱讀材料 …… 159
第四部分 案 例 研 究
第11章 支持多數據中心 …… 162
11.1 概述 …… 162
11.2 當前的情況 …… 163
11.3 業務邏輯和Web層 …… 163
11.3.1 應用邏輯 …… 163
11.3.2 基礎設施 …… 164
11.3.3 增加一個應用 …… 164
11.3.4 發現基礎設施 …… 165
11.4 數據庫層 …… 167
11.4.1 事務數據 …… 167
11.4.2 基礎設施支持 …… 168
11.4.3 會話數據 …… 168
11.5 其他基礎設施工具 …… 168
11.5.1 gem存儲庫服務器 …… 169
11.5.2 Elasticsearch …… 169
11.5.3 域名係統 …… 169
11.6 數據中心切換 …… 170
11.6.1 受控切換步驟 …… 170
11.6.2 非受控切換 …… 174
11.6.3 定義和自動化切換步驟 …… 175
11.7 測試 …… 177
11.7.1 數據中心切換應用程序 …… 177
11.7.2 基礎設施測試 …… 177
11.7.3 持續交付流水綫 …… 177
11.8 小結 …… 178
11.9 更多閱讀材料 …… 179
第12章 實施企業的持續部署流水綫 …… 180
12.1 概述 …… 180
12.2 組織背景 …… 180
12.3 持續部署流水綫 …… 182
12.3.1 持續部署流水綫工具 …… 183
12.3.2 使用AWS CloudFormation的環境定義 …… 184
12.3.3 標準化的應用程序生命周期概覽及其使用 …… 186
12.3.4 標準化的應用程序生命周期階段 …… 188
12.3.5 管理復雜的應用程序和流水綫狀態 …… 194
12.3.6 管理持久化 …… 196
12.4 讓安全成為持續部署流水綫的基礎 …… 196
12.4.1 使用Amazon CloudFormation分離職責 …… 196
12.4.2 身份和訪問管理 …… 197
DevOps:軟件架構師行動指南 下載 mobi pdf epub txt 電子書 格式 2024
DevOps:軟件架構師行動指南 下載 mobi epub pdf 電子書學習學習
評分滿減很實惠,正品書籍保證
評分不錯不錯不錯不錯不錯不錯不錯不錯不錯不錯不錯不錯
評分看看新的概念,希望有幫助
評分大概看瞭下,還是不錯的,有啓發
評分講解瞭devops 的一般準則和要素,挺好
評分內容非常不錯,感受很深刻
評分泛泛之淡,沒有可行性
評分書的質量沒問題,但翻譯很生硬,甚至有些不太對,至少不是我們運維人的語言
DevOps:軟件架構師行動指南 mobi epub pdf txt 電子書 格式下載 2024