天天看點

《Puppet權威指南》——2.1 DevOps介紹

本節書摘來自華章計算機《puppet權威指南》一書中的第2章,第2.1節,作者:王冬生著, 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

puppet是devops運動重要的工具成員之一,是以在介紹puppet之前首先來了解一下devops運動。devops是英文development和operations的組合,是一組過程、方法與系統的統稱。devops有助于促進開發、運維和品質等部門之間的溝通、協作與整合,如圖2-1所示。

《Puppet權威指南》——2.1 DevOps介紹

在傳統的軟體組織中,将開發、運維和品質等設為各自獨立的部門,這樣不僅降低了各部門之間溝通的效率,同時也會引發很多問題。如,開發部門接到項目經理和産品經理的訓示需要開發一款新産品,而目前市場上還沒有類似的産品。如果公司能夠在短時間内開發出此産品,則不僅能填補相應的市場空白,也可以為公司帶來可觀的收益。而實際情況往往是這樣的:各部門之間沒能有效地溝通便開始了各自的工作,很可能開發部門在未與運維部門做足夠的溝通前,便沒日沒夜地開發起這款新産品,最後終于在限期内将這款新産品開發出來,然後将開發後的相關産品一次性推給運維上線和後期維護。而當開發将新産品交于運維部門後問題便産生了,運維部門發現目前線上系統從硬體到軟體都比較老,不适合這款新産品運作,無奈之下運維部門隻能沒日沒夜地加班更新線上軟硬體系統,強行将新産品運作線上上系統。這不僅容易導緻新産品線上故障頻出,給公司帶來經濟損失,同時也傷害了使用者的産品體驗,最後新産品以失敗告終。在實際工作中這些問題層出不窮,但并不是無計可施。devops運動的出現就是為了解決軟體行業存在的這些問題,而puppet就是devops運動中一個重要的工具成員,作為集中管理配置工作同時面向開發與運維。正如puppet labs的運維總監kartar所說:devops運動就是試圖避免重大失誤,并更聰明且高效地工作,它是一種旨在促進開發和運維兩個團隊互相合作、學習的思想、原則和架構。在一個devops環境中,為開發人員和系統管理者建立關系、流程和工具,讓他們可以更好的互動,并最終為産品提供更好的服務。