DevOps : 軟件架構師行動指南 (DevOps: A Software Architect's Perspective)

倫恩·拜斯 (Len Bass), 英戈·韋伯 (Ingo Weber), 朱黎明

買這商品的人也買了...

商品描述

本書從軟件架構師視角講解了引入DevOps實踐所需要掌握的技術能力,涵蓋了運維、部署流水線、監控、安全與審計以及質量關註。通過3個經典案例研究,講解了在不同場景下應用DevOps實踐的方法。這對於想應用DevOps實踐的組織具有切實的指導意義。

作者簡介

作者:(澳)倫恩·拜斯;英戈·韋伯;朱黎明  譯者:胥峰;任發科

目錄大綱

譯者序
前言


第一部分背景


第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應用設計考慮1 31 
8.11部署流水線設計考慮132 
8.12小結133 
8.13更多閱讀材料134 


第9章其他非功能需求135 
9.1概述135