第一部分 DevOps介紹安全
第1章 敏捷、持續交付、三步法架構
技術價值流-(把業務構想-轉換爲交付價值的服務-由技術驅動所須要的流程)運維
前置時間-工做建立到工做處理到工做完成的時間(工做建立並不必定當即進行處理)前置時間過長 客戶體驗糟糕;模塊化
處理時間-工做處理到工做完成的時間;性能
返工指標-實際有效耗時/總花費時間(實際有效指真正有用的工做,沒必要修復、補充、澄清)學習
目標-分鐘級別的部署前置時間:測試
DevOps基本原則優化
第一步,實現開發到運維的工做快速地從左向右流動。爲了最大程度地優化工做流,須要將工做可視化,減少每批次大小和等待間隔,經過內建質量杜絕向下遊傳遞缺陷,並持續地優化全局目標。spa
第二步,在從右向左的每一個階段中,應用持續、快速的工做反饋機制。該方法經過放大反饋環防止問題復發,並能縮短問題檢測週期,實現快速修復。設計
第三步,創建具備創意和高可信度的企業文化,支持動態的、嚴格的、科學的實驗。經過主動地承擔風險,不但能從成功中學習,也能從失敗中學習
第2章 流動原則
開發到運維之間快速、平滑、能向客戶交付價值的工做流。目標:縮短上線時間的同時提升服務的質量和可靠性。
1:工做可見
可視化工做板,度量工做的前置時間
2:限制在製品的數量
限制多任務;發現工做中的阻礙;中止多任務處理的開始,已經開始的任務確保完成;
3:減小批量大小
每次操做只執行一個單位產品的處理。小批量的製品,前置時間更短,錯誤檢測更快,返工量更少。
4:減小交接次數
自動化執行大部分操做,避免信息丟失,減小隊列等待時間
5:持續識別和改善約束點(瓶頸-技術、資源……)
識別、利用、全局、改善
環境搭建的約束點-經過自動化建立環境
代碼部署的約束點-經過自動化部署
測試準備和執行-自動化測試
架構緊密耦合-建立鬆散耦合的架構
6:消除價值流中的浪費
半成品-沒有完全完成的工做;額外工序-不增值的額外工做;額外功能-避免鍍金;多任務切換-避免並行處理;等待-避免因爲資源問題的等待
移動-避免頻繁進行工做移動(人員、工做)……
第3章 反饋原則
每一個階段中可以快速、持續的得到工做反饋,在發生前發現並消除問題。
1:要在複雜系統中安全地工做,必須具有4種能力
2:及時發現問題-經過在工做系統中創建反饋和前饋迴路的方式
目標是在技術價值流的每一個階段(包括產品管理、開發、QA、信息安全和運維),在全部工做執行的過程當中,創建快速的反饋和前饋迴路。
(這包括建立自動化的構建、集成和測試過程,以便儘早檢測出那些可能致使缺陷的代碼變動。創建全方位的監控系統,監控服務組件在生產環境中的運行狀態,以便快速探測到服務的意外狀況。)
反饋迴路不但能讓問題的快速探測和修復成爲可能,並且還能告訴咱們如何防止問題復發。
3:羣策羣力,打敗問題獲取新知
4:在源頭保障質量
讓全部人都負起了質量責任,而不是僅讓一個部門來負責
5:爲下游工做中心而優化
在技術價值流中,咱們經過爲運維而設計來爲下游工做中心作優化,包括運維的非功能性需求(如架構、性能、穩定性、可測試性、可配置性和安全性)與用戶功能一樣重要。
總結
創建快速的反饋機制,對於實現技術價值流中的高質量、可靠性和安全性相當重要。爲此,要在問題發生時識別問題,羣策羣力解決問題並構建新的知識,在源頭控制質量,而且不斷地爲下游工做中心作優化。
第4章 持續學習與實驗原則
持續提示我的技能,轉換爲團隊和組織財富
學習型組織和安全文化
將平常工做的改進制度化
局部發現轉化爲全局優化
在平常工做中注入彈性模式