注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)DevOps:原理、方法與實踐

DevOps:原理、方法與實踐

DevOps:原理、方法與實踐

定 價:¥69.00

作 者: 榮國平,張賀,邵棟 等 著
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111581918 出版時間: 2017-11-01 包裝: 平裝
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書由南京大學(xué)軟件學(xué)院三位資深教師聯(lián)合行業(yè)一線專家編寫而成,系統(tǒng)全面地介紹DevOps——這一互聯(lián)網(wǎng)時代新型軟件開發(fā)模式的原理、方法和實踐。內(nèi)容詳實、結(jié)構(gòu)清晰、表述淺顯易懂,非常適合在校學(xué)生學(xué)習(xí)使用,也可以作為產(chǎn)業(yè)界DevOps初學(xué)者學(xué)習(xí)參考。全書第一部分首先從時代背景出發(fā),介紹DevOps模式的淵源;結(jié)合云時代運維的特征,進(jìn)一步闡明DevOps模式是適應(yīng)當(dāng)前軟件系統(tǒng)開發(fā)、部署和維護的必然選擇。第二部分介紹了主流軟件開發(fā)方法及其流程;作為DevOps的基礎(chǔ)理論,精益生產(chǎn)和看板方法是這部分的重點。第三部分則重點闡述了DevOps模式下的典型實踐,例如:微服務(wù)架構(gòu)、持續(xù)集成、持續(xù)交付(部署)、虛擬化、Docker容器、自動化等。

作者簡介

  榮國平,南京大學(xué)軟件學(xué)院教師,長期從事軟件過程改進(jìn)相關(guān)的工作。從2006年開始,多次赴美參加SEI的相關(guān)培訓(xùn),并在當(dāng)年成為國內(nèi)唯*的SEI授權(quán)PSP培訓(xùn)師和TSP團隊教練。在JSS、軟件學(xué)報等期刊以及包括ICSE、ESEM、ICSSP、EASE、CSEE&T、APSEC等在內(nèi)的一流國際會議上發(fā)表論文40余篇。DevOps中國技術(shù)社區(qū)發(fā)起人之一。張賀,南京大學(xué)軟件工程教授、博士生導(dǎo)師,入選登峰人才計劃(A-層次),澳大利亞聯(lián)邦科學(xué)院(CSIRO)主任科學(xué)家。在歐洲和澳洲從事軟件工程研究與實踐十余年,2013年起就職于南京大學(xué)。長期從事軟件過程、軟件體系結(jié)構(gòu)、服務(wù)計算、經(jīng)驗軟件工程領(lǐng)域的科研和實踐。負(fù)責(zé)主持愛爾蘭(歐盟)、澳大利亞、中國等多個國家*科研基金項目。著有英文專著兩部,并在國際重要軟件工程學(xué)術(shù)期刊和會議上發(fā)表論文百余篇,其中10篇會議長文獲*佳論文獎。邵棟,南京大學(xué)軟件學(xué)院副教授,嵌入式技術(shù)系主任,軟件學(xué)院院長助理。主要從事軟件工程教學(xué)研究工作,研究方向為軟件過程、高科技市場理論、敏捷軟件開發(fā)、軟件工程教育等。2005、2009、2014年三次獲得教育部頒發(fā)的“國家*教學(xué)成果獎二等獎”,是國家*教學(xué)團隊“軟件工程主干課程教學(xué)團隊”骨干成員,編寫教材一部,擔(dān)任國家精品課程“計算與軟件工程”主講教師,兩次獲得“南京大學(xué)我*喜愛的老師”稱號。

圖書目錄

贊譽

前言
第1章 DevOps概述 …… 1
1.1 互聯(lián)網(wǎng)時代的轉(zhuǎn)型挑戰(zhàn) …… 1
1.2 獨角獸公司 …… 4
1.2.1 Netflix公司 …… 4
1.2.2 Instagram …… 8
1.2.3 成功秘訣 …… 9
1.3 什么是DevOps …… 10
1.3.1 發(fā)展淵源 …… 10
1.3.2 價值觀 …… 12
1.3.3 原則 …… 13
1.3.4 方法 …… 15
1.3.5 實踐 …… 16
1.3.6 工具 …… 16
1.4 DevOps應(yīng)用與研究現(xiàn)狀 …… 17
1.4.1 微服務(wù) …… 17
1.4.2 持續(xù)集成和持續(xù)交付 …… 19
1.4.3 工具研究和開發(fā) …… 21
本章小結(jié) …… 23
思考題 …… 23
參考文獻(xiàn) …… 23
第2章 云時代的運維 …… 26
2.1 云計算概述 …… 26
2.1.1 IaaS …… 26
2.1.2 PaaS …… 28
2.1.3 SaaS …… 29
2.1.4 XaaS …… 30
2.2 IT服務(wù)標(biāo)準(zhǔn)介紹 …… 30
2.2.1 CMMI-SVC …… 30
2.2.2 ITIL …… 33
2.2.3 ISO20000 …… 33
2.2.4 ITSS …… 36
2.3 什么是運維 …… 39
2.3.1 運維的價值 …… 39
2.3.2 運維的技術(shù)與技能 …… 40
2.3.3 傳統(tǒng)運維的轉(zhuǎn)型之路 …… 40
本章小結(jié) …… 41
思考題 …… 41
參考文獻(xiàn) …… 42
第3章 軟件架構(gòu)演進(jìn) …… 44
3.1 軟件架構(gòu)概述 …… 44
3.1.1 什么是軟件架構(gòu) …… 44
3.1.2 軟件架構(gòu)的目標(biāo) …… 46
3.1.3 軟件架構(gòu)的不同視角 …… 46
3.2 軟件架構(gòu)的演進(jìn) …… 51
3.2.1 傳統(tǒng)軟件架構(gòu)的演進(jìn) …… 51
3.2.2 流量爆炸時代的大型互聯(lián)網(wǎng)軟件架構(gòu) …… 54
3.2.3 互聯(lián)網(wǎng)軟件架構(gòu)演進(jìn)實例 …… 60
本章小結(jié) …… 66
思考題 …… 67
參考文獻(xiàn) …… 67
更多閱讀 …… 67
第4章 軟件開發(fā)過程和方法 …… 68
4.1 軟件過程概述 …… 68
4.1.1 軟件開發(fā)方法發(fā)展歷史 …… 69
4.1.2 軟件過程的多維視角 …… 77
4.2 個體過程和實踐 …… 79
4.2.1 PSP過程基本原則 …… 80
4.2.2 PSP過程度量 …… 81
4.2.3 PROBE估算原理 …… 82
4.2.4 PROBE估算流程 …… 83
4.2.5 通用計劃框架 …… 85
4.2.6 PSP質(zhì)量與質(zhì)量策略 …… 87
4.2.7 評審與測試 …… 88
4.2.8 評審過程質(zhì)量 …… 89
4.2.9 設(shè)計與質(zhì)量 …… 98
4.2.10 設(shè)計過程 …… 100
4.2.11 設(shè)計的層次 …… 101
4.3 小組過程和實踐 …… 102
4.3.1 XP實踐 …… 102
4.3.2 Scrum方法 …… 105
4.3.3 TSP過程 …… 106
4.4 軟件過程改進(jìn) …… 108
4.4.1 元模型 …… 108
4.4.2 過程改進(jìn)參考模型與標(biāo)準(zhǔn) …… 112
4.5 DevOps中的開發(fā)過程和方法 …… 121
本章小結(jié) …… 121
思考題 …… 121
參考文獻(xiàn) …… 122
第5章 精益思想和看板方法 …… 124
5.1 從精益思想說起 …… 124
5.1.1 精益起源于豐田 …… 124
5.1.2 精益實踐的傳播 …… 124
5.1.3 精益作為方法學(xué)開始超越生產(chǎn)制造 …… 126
5.1.4 上升至精益的價值觀 …… 126
5.2 精益的三個層面 …… 128
5.3 精益產(chǎn)品開發(fā)實踐體系 …… 129
5.3.1 精益產(chǎn)品開發(fā)的目標(biāo) …… 129
5.3.2 精益產(chǎn)品開發(fā)的原則 …… 130
5.3.3 精益產(chǎn)品開發(fā)的運作實踐 …… 131
5.4 看板方法的起源 …… 132
5.4.1 看板的中文意思帶來誤解 …… 132
5.4.2 看板是精益制造系統(tǒng)的核心工具 …… 133
5.4.3 看板形成拉式生產(chǎn)方式 …… 135
5.5 什么是產(chǎn)品開發(fā)中的看板方法 …… 136
5.5.1 產(chǎn)品開發(fā)中的看板方法的誕生 …… 136
5.5.2 看板方法的第一組實踐—建立看板系統(tǒng)的3個實踐 …… 136
5.5.3 看板方法的第二組實踐—運作看板系統(tǒng)的2個實踐 …… 140
本章小結(jié) …… 142
思考題 …… 142
參考文獻(xiàn) …… 143
第6章 微服務(wù)軟件架構(gòu) …… 144
6.1 軟件架構(gòu)的發(fā)展 …… 144
6.1.1 單體架構(gòu) …… 144
6.1.2 分層架構(gòu) …… 144
6.1.3 SOA架構(gòu) …… 146
6.1.4 分布式架構(gòu) …… 148
6.2 現(xiàn)代應(yīng)用的12范式 …… 150
6.3 什么是微服務(wù)架構(gòu) …… 150
6.4 微服務(wù)架構(gòu)的特征 …… 151
6.4.1 通過服務(wù)組件化 …… 152
6.4.2 圍繞業(yè)務(wù)能力組織 …… 152
6.4.3 是產(chǎn)品不是項目 …… 153
6.4.4 智能端點和啞管道 …… 153
6.4.5 去中心化治理 …… 154
6.4.6 去中心化數(shù)據(jù)管理 …… 154
6.4.7 基礎(chǔ)設(shè)施自動化 …… 155
6.4.8 為失效設(shè)計 …… 155
6.4.9 進(jìn)化式設(shè)計 …… 155
6.5 微服務(wù)核心模式 …… 156
6.5.1 服務(wù)注冊與發(fā)現(xiàn) …… 156
6.5.2 配置中心 …… 157
6.5.3 API網(wǎng)關(guān) …… 157
6.5.4 熔斷器 …… 158
6.5.5 分布式追蹤 …… 160
本章小結(jié) …… 161
思考題 …… 162
參考文獻(xiàn) …… 162
第7章 容器技術(shù)基礎(chǔ) …… 163
7.1 內(nèi)核基礎(chǔ) …… 163
7.1.1 Linux namespace …… 164
7.1.2 Linux CGroup …… 168
7.2 Docker架構(gòu)概覽 …… 169
7.2.1 Client …… 170
7.2.2 Docker Daemon …… 171
7.2.3 Docker Registry …… 172
7.2.4 Graph …… 173
7.2.5 Driver …… 173
7.2.6 libcontainer …… 173
7.3 鏡像管理 …… 174
7.3.1 什么是Docker鏡像 …… 174
7.3.2 Dockerfile、Docker鏡像和Docker容器的關(guān)系 …… 174
7.3.3 Dockerfile …… 176
7.4 Docker網(wǎng)絡(luò)管理 …… 178
7.4.1 Docker網(wǎng)絡(luò)模式 …… 178
7.4.2 libnetwork和Docker網(wǎng)絡(luò) …… 179
7.4.3 Docker的內(nèi)置Overlay網(wǎng)絡(luò) …… 180
7.5 Docker存儲 …… 181
7.5.1 Docker存儲驅(qū)動 …… 181
7.5.2 Docker驅(qū)動比較 …… 182
7.6 Docker編排 …… 183
7.6.1 Docker Swarm …… 183
7.6.2 Kubernetes …… 185
本章小結(jié) …… 186
思考題 …… 186
參考文獻(xiàn) …… 187
第8章 基于容器技術(shù)的DevOps實踐 …… 188
8.1 概述 …… 188
8.2 代碼管理 …… 188
8.2.1 Git介紹 …… 190
8.2.2 Git工作流程 …… 191
8.3 持續(xù)交付流水線 …… 194
8.3.1 預(yù)備步驟 …… 194
8.3.2 實現(xiàn)持續(xù)交付流水線 …… 199
8.3.3 持續(xù)交付最佳實踐 …… 201
8.3.4 檢查列表 …… 204
8.4 持續(xù)集成工具 …… 205
8.4.1 傳統(tǒng)的CI工具 …… 205
8.4.2 云計算環(huán)境中的CI工具 …… 206
8.4.3 用于移動應(yīng)用的CI工具 …… 206
8.4.4 使用Docker的CI工具 …… 207
8.5 Java應(yīng)用持續(xù)交付實踐舉例 …… 207
8.5.1 持續(xù)集成 …… 207
8.5.2 持續(xù)部署 …… 209
8.5.3 版本管理 …… 211
本章小結(jié) …… 212
思考題 …… 212
參考文獻(xiàn) …… 212
第9章 DevOps工具集 …… 214
9.1 概述 …… 214
9.2 協(xié)同開發(fā)工具 …… 215
9.2.1 JIRA …… 215
9.2.2 Kanboard …… 216
9.2.3 Rally …… 218
9.3 持續(xù)集成工具 …… 219
9.3.1 Jenkins …… 219
9.3.2 Bamboo …… 220
9.3.3 Travis CI …… 220
9.4 版本管理工具 …… 221
9.4.1 Git …… 221
9.4.2 GitHub …… 223
9.4.3 GitLab …… 223
9.4.4 Subversion …… 223
9.4.5 Mercurial …… 223
9.5 編譯工具 …… 224
9.5.1 Ant …… 224
9.5.2 Maven …… 225
9.5.3 Gradle …… 226
9.5.4 MSBuild …… 226
9.6 配置管理工具 …… 227
9.6.1 Chef …… 227
9.6.2 Puppet …… 228
9.6.3 Ansible …… 228
9.7 測試工具 …… 228
9.7.1 JUnit …… 228
9.7.2 Selenium …… 229
9.7.3 Cucumber …… 229
9.7.4 FitNesse …… 230
9.8 監(jiān)控工具 …… 231
9.8.1 Nagios …… 231
9.8.2 Zabbix …… 231
9.9 工具網(wǎng)址 …… 232

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號