運維與持續交付
運維與持續交付
在互聯網的產品開發時代,產品迭代越來越頻繁,“從功能開發完成直到成功部署”這一階段被稱為軟件開發“***一公里”。
一個團隊工程技術水平高低,直接反映在部署代碼上。我碰到其他公司的人,都喜歡問你們怎么部署代碼的,非常大開眼界。你很難相信,很多(有一定規模的)公司仍然是人肉 SSH 到十幾、二十臺機器上 git pull、手動重啟服務器,部署一次代碼幾個小時 -- 這么原始,活該加班:)
持續部署(continuous deployment)是通過自動化的構建、測試和部署循環來快速交付高質量的產品。某種程度上代表了一個開發團隊工程化的程度,畢竟快速運轉的互聯網公司人力成本會高于機器,投資機器優化開發流程化相對也提高了人的效率,讓 engineering productivity ***化。
持續部署成功的要點
一個持續集成 & 持續部署的自動化系統并不是那么簡單的事,如果不選用其他 CI 服務,其開發工作量和一個標準的大型互聯網業務系統沒什么兩樣。如果沒有持續部署的經驗,要想成功地進行持續部署要注意這些:
充分而廣泛的自動化測試覆蓋;
盡可能短的測試反饋時間;
部署過程自動化;
部署過程要保證數據安全;
在穩定的前提下,盡早部署;
完善的風險緩解措施;
將同樣的產物部署到不同的環境中
持續交付能力成熟度模型
持續交付的運維觀
1、持續接收到持續交付,運維的核心轉變
2、運維掌握了***的持續交付切入點:CMDB和持續交付
3、交付的最終評價:質量、效率、成本
4、持續交付是打破部門墻的核心實踐
5、持續交付的本質:標準化+平臺化+服務及面向用戶的價值
6、基于交付鏈(Dev/Test/Ops)的全局優化,而非局部(Ops)優化
7、運維的問題不是僅僅運維側的問題,是一個IT問題
8、運維離用戶最近,你代表用戶,就有***的驅動力
9、跨界由此而生