如今,DevOps已經被越來越多的企業認可,DevOps不僅僅停留在開發和運維的范圍,如今的DevOps是軟件研發全生命周期管理的一整套方法論和最佳實踐,是DevOps文化建設和人才培養。如果只涉及開發和運維人員,下面從實施DevOps之前和之后做個比較。
1、強化共同目標
之前,對于開發和運維來說,開發人員只負責編碼,運維人員則確保其正常運行。Ticketmaster的首席技術官Jody Mulkey在過去25年時間里,將開發(Dev)和運維(Ops)比作美式橄欖球比賽,其中,Ops是防守組,視圖阻止對方得分;Dev則是進攻組,其目標是盡全力得分。當有一天,他意識到這個比喻并不恰當,因為Dev和Ops從來沒有同一時間出現在球場上,因為他們實際上并不屬于同一個團隊。如今,DevOps強調的是共同的目標,是通過建立彼此的信任共同完成目標。因此,此時的比喻是,Dev的工作是持球沖鋒,而Ops的工作是保證Dev有足夠的時間向前沖,他們同時出現在球場上,他們屬于同一個團隊。2、對開發人員的改變
DevOps使得開發人員的任務更井然有序且快速交付。之前,開發人員都是按照需求說明書開發軟件,需求說明書里需要提供什么功能,開發人員就開發什么功能。在開發之前,還需要編寫概要設計文檔和詳細設計文檔,這些文檔都被評審通過后,才能進行開發。功能開發完成后,還需要等待運維人員耗時一周左右的環境部署,最可怕的是,這些功能交付到用戶手上或許并不是他們想要的,延期返工現象非常嚴重。如今,DevOps開發采用敏捷開發模式,基于Scrum、看板方法等工具,以MVP(最小可交付單元)作為價值單元交付給用戶,用戶試用后及時反饋,一起輔助開發人員設計系統。正如敏捷宣言所提到的,個體和互動高于流程和工具,工作的軟件高于詳盡的文檔,客戶合作高于合同談判,響應變化高于遵循計劃。另外,DevOps持續集成,持續交付自動化工具鏈,使得開發人員只關心業務代碼編寫,提交后的代碼自動進行構建、打包、部署,不需要依賴于運維人員,大大提高了軟件部署的頻率,快速交付用戶價值。3、對運維人員的改變
DevOps對于運維人員的改變是最關鍵的,大大提高了他們的工作效率,甚至明顯改變了現代敏捷運維團隊的職責范圍。之前,運維人員負責保證各個應用程序的正常運行。包括部署環境搭建,數據庫服務器和web服務器安裝和設置,應用軟件的部署,應用軟件的監控等。特別是當緊急需要一套環境時,當大規模安裝、部署服務器軟件和應用軟件時,對于運維人員是一場噩夢。如今,隨著Chef、Ansible等工具的出現,DevOps實現了高標準化,僅需要幾個簡單的工具,就能通過自動化的方式安裝、部署大批量的環境和服務。運維人員的職責也轉變為部署和維護這種自動化的DevOps服務。DevOps使得開發和運維人員聯系更加緊密,通過建立和強化彼此的信任關系,基于DevOps自動化服務,共同實現高效,高質量,穩定的交付用戶價值的目標。
下一篇earth進不去