[轉]DevOps的三大原則

本文轉自:http://www.javashuo.com/article/p-azkcudbb-dq.html架構

DevOps的出現有其必然性。在軟件開發生命週期中,遇到了兩次瓶頸。運維

第一次瓶頸是在需求階段和開發階段之間,針對不斷變化的需求,對軟件開發者提出了高要求,後來出現了敏捷方法論,強調適應需求、快速迭代、持續交付。工具

第二個瓶頸是在開發階段和構建部署階段之間,大量完成的開發任務可能阻塞在部署階段,影響交付,因而有了DevOps。

DevOps的三大原則:
一、基礎設施即代碼(Infrastructure as Code)
DeveOps的基礎是將重複的事情使用自動化腳本或軟件來實現,例如Docker(容器化)、Jenkins(持續集成)、Puppet(基礎架構構建)、Vagrant(虛擬化平臺)等
二、持續交付(Continuous Delivery)
持續交付是在生產環境發佈可靠的軟件並交付給用戶使用。而持續部署則不必定交付給用戶使用。涉及到2個時間,TTR(Time to Repair)修復時間,TTM(Time To Marketing)產品上線時間。要作到高效交付可靠的軟件,須要儘量的減小這2個時間。部署能夠有多種方式,好比藍綠部署、金絲雀部署等。
三、協同工做(Culture of Collaboration)
開發者和運維人員必須按期進行密切的合做。開發應該把運維角色理解成軟件的另外一個用戶羣體。協做有幾個的建議:一、自動化(減小沒必要要的協做);二、小範圍(每次修改的內容不宜過多,減小發布的風險);三、統一信息集散地(如wiki,讓雙方可以共享信息);四、標準化協做工具(好比jenkins)

附上DevOps的定義:
DevOps(Development和Operations的組合詞)是一種重視「軟件開發人員(Dev)」和「IT運維技術人員(Ops)」之間溝通合做的文化、運動或慣例。測試

透過自動化「軟件交付」和「架構變動」的流程,來使得構建、測試、發佈軟件可以更加地快捷、頻繁和可靠。.net

相關文章
相關標籤/搜索