1. 程式人生 > >目前最流行的開發模式DevOps究竟是什麼鬼?

目前最流行的開發模式DevOps究竟是什麼鬼?

隨著業務複雜化和人員的增加,開發人員和運維人員逐漸演化成兩個獨立的部門,他們工作地點分離,工具鏈不同,業務目標也有差異,這使得他們之間出現一條鴻溝。而釋出軟體就是將一個軟體想從鴻溝的這邊送去那邊,這之中困難重重。

另一方面,行業競爭更加激烈,無論是客戶還是公司自身,都要求軟體能快速釋出,頻繁修改,而上邊所說的這種隔閡,阻礙了開發團隊的生產力,成了企業亟待解決的難題。


面對種種突出的矛盾,故事的情節,似乎又回到了當初只有程式設計師,而沒有更細分為開發、測試和運維崗位的時候。


DevOps一詞的來自於Development和Operations的組合,突出重視軟體開發人員和運維人員的溝通合作,通過自動化流程來使得軟體構建、測試、釋出更加快捷、頻繁和可靠。

DevOps是為了填補開發端和運維端之間的資訊鴻溝,改善團隊之間的協作關係。不過需要澄清的一點是,從開發到運維,中間還有測試環節。DevOps其實包含了三個部分:開發、測試和運維。

 

換句話說,DevOps希望做到的是軟體產品交付過程中IT工具鏈的打通,使得各個團隊減少時間損耗,更加高效地協同工作。專家們總結出了下面這個DevOps能力圖,良好的閉環可以大大增加整體的產出。

有些人認為DevOps意味著開發人員接管了運營。這只是一部分而不是全部。當我們意識到部分運營需要自動化時候,運維人員需要進行一些自動化開發,開發人員也編寫"運維"程式碼,或兩者兼而有之。可怕的是,沒有找到在這兩種人員之間的整體協作方法,所有的成功團隊都是將具有深度開發技能和深度運維技能人協調在一起工作

,以建立一個更好的產品。


一、DevOps常用技術

 

二、DevOps有三種特點與模式

2.1、系統級別的效率考量

這是強調從整個系統的效率效能考量,而不是孤立地從所在工作部門或子系統考量,可以是整合開發人員和IT運維人員的大視角,也可以小如獨立的釋出者如開發人員和系統管理員。

重點是關注整個業務價值鏈,開始於業務需求的確認,開發人員的開發構建,然後交付給IT運維,在最後環節,對於客戶的軟體價值作為一種服務體現出來。

由於強調整體效能,就不要將缺陷推託到下游,不允許因為區域性優化而帶來整體退化,不能因為細節戰術的提高導致整體戰略上的退步,如果想提高整個系統的價值,就必須深入全面理解整個系統。

2.2、放大反饋迴圈

關於建立從右到左反饋迴圈。如有必要可以不斷修正縮短和放大這種反饋迴圈。能夠理解和響應所有的客戶包括內部和外部,縮短和放大所有的反饋迴圈,嵌入我們需要的知識。

2.3、持續的鍛鍊和學習

這種方式就是創造一種企業文化,培育兩件事:  不斷實驗冒險以及從失敗中吸取教訓。認識到重複和實踐是通向掌握的先決條件。

實驗和冒險能確保我們持續推動改善,即使這意味著進入我們無法控制的危險地帶,我們必須需要掌握幫助我們脫離危險區域的技能。

第三條道路的結果包括分配改善日常工作的時間,,為冒險創造儀式,獎勵團隊,並將錯誤引入系統增加彈性。

 

三、DevOps的好處

DevOps的一個巨大好處就是可以高效交付,這也正好是它的初衷。與低效組織相比,高效組織的部署頻繁200倍,產品投入使用速度快2555倍,服務恢復速度快24倍。在工作內容的時間分配上,低效者要多花22%的時間用在為規劃好或者重複工作上,而高效者卻可以多花29%的時間用在新的工作上。所以這裡的高效不僅僅指公司產出的效率提高,還指員工的工作質量得到提升。

DevOps另外一個好處就是會改善公司組織文化、提高員工的參與感。員工們變得更高效,也更有滿足和成就感,對公司更加認同。

參考文章:

1、http://www.infoq.com/cn/news/2016/09/learn-devops-from-reports

2、http://www.jdon.com/project/devops.html

3、https://www.jianshu.com/p/271b24c11d82

 


---------------------
原文:https://blog.csdn.net/bntX2jSQfEHy7/article/details/79168865