開發模式DevOps
隨著業務複雜化和人員的增加,開發人員和運維人員逐漸演化成兩個獨立的部門,他們工作地點分離,工具鏈不同,業務目標也有差異,這使得他們之間出現一條鴻溝。而釋出軟體就是將一個軟體想從鴻溝的這邊送去那邊,這之中困難重重。 另一方面,行業競爭更加激烈,無論是客戶還是公司自身,都要求軟體能快速釋出,頻繁修改,而上邊所說的這種隔閡,阻礙了開發團隊的生產力,成了企業亟待解決的難題。面對種種突出的矛盾,故事的情節,似乎又回到了當初只有程式設計師,而沒有更細分為開發、測試和運維崗位的時候。
一、DevOps定義
DevOps一詞的來自於Development和Operations的組合,突出重視軟體開發人員和運維人員的溝通合作,通過自動化流程來使得軟體構建、測試、釋出更加快捷、頻繁和可靠。
DevOps是為了填補開發端和運維端之間的資訊鴻溝,改善團隊之間的協作關係。不過需要澄清的一點是,從開發到運維,中間還有測試環節。DevOps其實包含了三個部分:開發、測試和運維。 DevOps希望做到的是軟體產品交付過程中IT工具鏈的打通,使得各個團隊減少時間損耗,更加高效地協同工作。專家們總結出了下面這個DevOps能力圖,良好的閉環可以大大增加整體的產出。
二、DevOps常用技術
三、DevOps有三種特點與模式
2.1、系統級別的效率考量
這是強調從整個系統的效率效能考量,而不是孤立地從所在工作部門或子系統考量,可以是整合開發人員和IT運維人員的大視角,也可以小如獨立的釋出者如開發人員和系統管理員。
重點是關注整個業務價值鏈,開始於業務需求的確認,開發人員的開發構建,然後交付給IT運維,在最後環節,對於客戶的軟體價值作為一種服務體現出來。
由於強調整體效能,就不要將缺陷推託到下游,不允許因為區域性優化而帶來整體退化,不能因為細節戰術的提高導致整體戰略上的退步,如果想提高整個系統的價值,就必須深入全面理解整個系統。
2.2、放大反饋迴圈
關於建立從右到左反饋迴圈。如有必要可以不斷修正縮短和放大這種反饋迴圈。能夠理解和響應所有的客戶包括內部和外部,縮短和放大所有的反饋迴圈,嵌入我們需要的知識。
2.3、持續的鍛鍊和學習
這種方式就是創造一種企業文化,培育兩件事:不斷實驗冒險以及從失敗中吸取教訓。認識到重複和實踐是通向掌握的先決條件。
實驗和冒險能確保我們持續推動改善,即使這意味著進入我們無法控制的危險地帶,我們必須需要掌握幫助我們脫離危險區域的技能。
第三條道路的結果包括分配改善日常工作的時間,,為冒險創造儀式,獎勵團隊,並將錯誤引入系統增加彈性。
四、DevOps的好處
DevOps的一個巨大好處就是可以高效交付,這也正好是它的初衷。與低效組織相比,高效組織的部署頻繁200倍,產品投入使用速度快2555倍,服務恢復速度快24倍。在工作內容的時間分配上,低效者要多花22%的時間用在為規劃好或者重複工作上,而高效者卻可以多花29%的時間用在新的工作上。所以這裡的高效不僅僅指公司產出的效率提高,還指員工的工作質量得到提升。
DevOps另外一個好處就是會改善公司組織文化、提高員工的參與感。員工們變得更高效,也更有滿足和成就感,對公司更加認同。 轉載連結