新型的DevOps涵括了從需求提出到軟件發布的整個軟件生命周期,是產品設計、項目管理、開發、測試和運維提升的必由之路,國內大型互聯網企業已經做了很多探索,并將相關技能規范化、文檔化、工具化、自動化甚至智能化。遺憾的是,這些寶貴經驗往往僅在團隊或公司內部分享,很多中小公司還在重復走著大公司走過的彎路。為了促進先進經驗在整個行業內分享和傳播,DevOps時代社區和高效運維社區邀請了40位業界大咖,從精益、敏捷、開發、測試、運維、架構、安全等各個方面分享他們在Top互聯網公司及領先的傳統企業的多年智慧和經驗結晶。本書共有36篇文章,1349條計策,其中很多計策都是在經歷了刻骨銘心的事故后總結出來的,精選的115個案例則是對相關計策的解讀。本書旨在總結經驗、交流共享,讓國內互聯網及傳統企業縮短成長路徑、避免無謂的反復踩坑,讓技術人員更好地聚焦于業務目標和業務產出。本書主編為蕭田國和梁定安,歡迎提出寶貴意見和建議。
DevOps時代社區 DevOps時代社區是國內第一個真正有組織的DevOps領域技術社區,也是國際上最早的DevOps 標準體系之一“研發運營一體化能力成熟度模型”的主要組織方(該系列標準由云計算開源產業聯盟牽頭,已正式在工信部立項)。DevOps時代公眾號創辦于2017年3月,在不到一年的時間里,訂閱用戶數已達20 000+。DevOps時代社區正處于急速發展中,成員來自精益、敏捷、開發、測試和運維等領域。 高效運維社區 高效運維社區是國內第一個也是最大的運維領域垂直技術社區,截至2018年2月,高效運維公眾號訂閱用戶數達到100 000+,創辦兩年多以來,文章閱讀量累計6 000 000+人次,是國內運維行業升級轉型的主力推手。 高效運維社區是國際上第一個AIOps標準及白皮書的主要組織方(該標準由云計算開源產業聯盟牽頭,正在工信部立項中),核心編寫專家來自互聯網Top企業BATJ,以及金融、制造業、物流等眾多領域的領頭企業。
第一章 精益
精益產品開發三十六計 何勉/ 2
總說/ 2
三十六計/ 4
案例:影響地圖應用實例/ 8
更多案例
看板可視化方案設計實例
精益看板三十六計 李智樺/ 13
總說/ 13
三十六計/ 14
案例:看板的系統思維/ 16
更多案例
運用看板引導會議的進行
第二章 敏捷
大規模敏捷三十六計 趙衛/ 24
總說/ 24
三十六計/ 27
案例:大規模敏捷變革管理/ 31
更多案例
大規模敏捷組織結構
敏捷需求
敏捷架構
大規模敏捷運作
敏捷Scrum 三十六計 方煒/ 申健/ 38
總說/ 38
三十六計/ 40
案例:采用Scrum of Scrum 方式提升多團隊間的協作/ 47
更多案例
關注專注力培養儀式感,提升Scrum 活動的效果
采用“觀察—導向—決定—行動”方式持續解決問題,
打造優秀的Scrum 團隊
敏捷項目管理三十六計 楊曉俊/ 52
總說/ 52
三十六計/ 54
案例:現場客戶/ 57
更多案例
需求評估點
站立晨會
Jira 三十六計 何英華/ 61
總說/ 61
三十六計/ 64
案例:Jira 對敏捷和精益的落地支撐/ 69
更多案例
測試管理利器:Zephyr 插件
第三章 持續交付
持續交付三十六計 張樂/ 石雪峰/ 77
總說/ 77
三十六計/ 79
案例:大型復雜產品的持續交付/ 83
更多案例
Facebook 的分支策略演進助力持續交付
Preflight 持續集成為質量保駕護航
大型團隊推廣持續集成
Git 應用三十六計 石雪峰/ 91
總說/ 91
三十六計/ 95
案例:多重體系保證版本控制系統的安全和高可用/ 99
更多案例
分支間快速差異對比和代碼合并
保留歷史記錄,進行版本控制庫拆分
Jenkins 三十六計 景韻/ 雷濤/ 李華強/ 104
總說/ 104
三十六計/ 106
案例:企業級Jenkins 之構建環境標準化、
集群化、彈性化/ 109
更多案例
企業級Jenkins 之插件推薦列表
企業級Jenkins 之數據備份方案
企業級Jenkins 之精細化權限管理
企業級Jenkins 之精準化通知
樂視EUI 持續集成案例
Docker 應用三十六計 譚用/ 114
總說/ 114
三十六計/ 116
案例:優雅地停止容器/ 119
更多案例
給鏡像瘦身
管好2375 端口
SaltStack 運維三十六計 趙舜東/ 123
總說/ 123
三十六計/ 126
案例:SaltStack 靈活的目標選擇方式/ 130
更多案例
YAML 編寫技巧三板斧
使用salt-cloud 進行混合云管理
第四章 開發架構與運維開發
微服務架構三十六計 王磊/ 陳俊良/ 139
總說/ 139
三十六計/ 141
案例:微服務不只是拆拆拆/ 145
更多案例
微服務的輕量級測試
微服務創業的快與慢
Python 開發技巧三十六計 郭宏澤/ 152
總說/ 152
三十六計/ 154
案例:開發一個簡單的監控平臺/ 156
更多案例
如何選擇Python 版本
自己動手實現運維平臺
第五章 監控與質量測試技術
容量管理三十六計 梁定安/ 163
總說/ 163
三十六計/ 165
案例:容量木桶原理的應用/ 167
更多案例
架構前進一小步,容量提升一大步
結合“容量考核”合理使用運營成本
自動化測試三十六計 汪珺/ 171
總說/ 171
三十六計/ 176
案例:批量執行自動化測試的策略改進/ 179
更多案例
自動化測試思維的變化
無法適應變更的“死”自動化測試腳本
測試方法三十六計 徐奇琛/ 潘曉明/ 萬千一/ 183
總說/ 183
三十六計/ 185
案例:統一化持續集成、持續交付,收歸風險提升效率 / 190
更多案例
未覆蓋最終版本帶來的巨大風險
用JMeter 構建可靠廉價的壓力測試方案
利用MAT 分析定位Android 內存泄漏問題
UI 式樣檢測工具讓測試人員擁有火眼金睛
運營活動監控系統為線上運營活動提供有力保障
第六章 安全技術
業務安全運維三十六計 鄧冬瑞/ 196
總說/ 196
三十六計/ 199
案例:技術不是萬能的,但是離開技術是萬萬不能的/ 201
更多案例
提高運營效率,快速響應,各司其職
要及時檢視策略并做出相應調整,否則會殃及正常用戶
安全測試三十六計 宗良/ 項陽/ 205
總說/ 205
三十六計/ 208
案例:有目的有計劃的事前信息采集可以讓安全
測試事半功倍/ 211
更多案例
沒有考慮安全的設計就是沒有防盜門的金庫
僅僅發現問題,那是管殺不管埋
安全運維三十六計 韓方/ 216
總說/ 216
三十六計/ 217
案例:定期備份日志,還原入侵事件真相/ 221
更多案例
用多種認證手段提升安全防護等級
危險的匿名登錄默認配置
第七章 大數據技術
數據質量三十六計 陳靖翔/ 226
總說/ 226
三十六計/ 229
案例:規范的企業主數據管理是數據質量的基石/ 233
更多案例
糟糕的數據處理架構會讓數據異常處理付出更大的代價
精準的質量監控閾值會讓運維工作更高效
大數據運維三十六計 范倫挺/ 236
總說/ 236
三十六計/ 238
案例:數據驅動精細化運維/ 241
更多案例
欲速則不達——直接刪除惹的禍
數據驅動智能運維
離線作業監控平臺的應用
第八章 日常運維
日常運維三十六計 梁定安/ 246
總說/ 246
三十六計/ 248
案例:從源頭優化運維工作/ 250
更多案例
演習,為容災策略保鮮
重點關注與保障不可逆操作的質量
Linux shell 三十六計 阿銘/ 254
總說/ 254
三十六計/ 255
案例:根據網卡名字輸出對應的IP 地址/ 259
更多案例
自動封/ 解封IP
監控httpd 進程
備份數據庫
監控磁盤使用
構建一個發布系統
網絡運維三十六計 張永福/ 265
總說/ 265
三十六計/ 267
案例:利用自動化運維工具提升工作效率/ 270
更多案例
在網絡排障中鍛煉“抽絲剝繭”的能力
網絡運維過程中團隊合作的重要性
分布式存儲運維三十六計 高向冉/ 275
總說/ 275
三十六計/ 277
案例:不及時回收刪除的文件引發的成本問題/ 280
更多案例
微信存儲應對節假日大規模突發事件
定期進行單點剔除演習的重要性
現網一定要干干凈凈
第九章 自動化運維
自動化運維三十六計 胥峰/ 285
總說/ 285
三十六計/ 286
案例:建設自動化運維體系/ 289
CMDB 三十六計 王津銀/ 303
總說/ 303
三十六計/ 306
案例:應用CMDB 支撐更多的核心場景/ 309
更多案例
每個成功的CMDB 都離不開全員參與
面向新IT 的CMDB 模型管理新思路
第十章 運維管理
運維管理三十六計 涂彥/ 315
總說/ 315
三十六計/ 317
案例:運籌帷幄,解密遠程管理/ 321
更多案例
運維管理者如何與年輕員工打成一片
用互聯網產品思維管理遠程團隊
輕量ITSM 三十六計 閆林/ 328
總說/ 328
三十六計/ 332
案例:某大型銀行大面積業務中斷故障/ 338
更多案例
從5 萬個網站宕機談起
從2008 年北京奧運售票系統的崩潰談起
第十一章 數據庫運維
互聯網數據庫運維三十六計 周小軍/ 341
總說/ 341
三十六計/ 342
案例:優化熱記錄與肥胖記錄/ 344
更多案例
未經測試的數據搬遷工具引發的故障
節假日前的數據庫容量規劃
MongoDB 運維三十六計 周李洋/ 349
總說/ 349
三十六計/ 351
案例:MongoDB 執行計劃分析——知其所以然/ 355
更多案例
由于濫用Schema less 導致的運營事故——
Schema less 而非Schema free
提前排兵布陣,減少陣型調整帶來的損耗——
Sharding 架構下預分片
Oracle 運維三十六計 蓋國強/ 361
總說/ 361
三十六計/ 363
案例:禁止遠程DDL 和業務時間的DDL 操作/ 368
更多案例
有效的備份重于一切
測試和生產環境隔離
PostgreSQL 運維三十六計 周正中/ 375
總說/ 375
三十六計/ 377
案例:菜鳥末端軌跡項目中的面面判斷/ 381
更多案例
共享充電寶實時經營分析系統的后臺數據庫設計
第十二章 數據中心運維
CDN 運維三十六計 高向冉/ 396
總說/ 396
三十六計/ 398
案例:應對CDN 各層級網絡問題/ 400
更多案例
NBA 直播總決賽突發場景應對
機房網絡異常下的快速處理機制
數據中心運維節能三十六計 閆林/ 405
總說/ 405
三十六計/ 407
案例:某IT 企業高能耗大型數據中心的分析與改善/ 411
更多案例
某石化企業高能耗大型數據中心的分析與改善
某互聯網公司大型數據中心的節能環保措施
IDC 運維三十六計 王瑩/ 414
總說/ 414
三十六計/ 415
案例:inode 引發的業務中斷/ 418
更多案例
SAN 存儲故障
SAN 架構調整
致謝/ 423