logo头像

Edward.K Thinking

(學習DevOps系列 7) 為什麼要導入DevOps

在這篇(學習DevOps系列 3) 為了DevOps的改變?提到了團隊或組織為了DevOps改變,但為什麼要導入DevOps,想必很多人都有這疑問,導入DevOps是不是現在開發方式要變換或是又要去熟悉甚麼技術之類。其實,DevOps並沒有指導或是具體說明我們應該要怎樣去開發一套軟體,而是給團隊一個目標,去確保團隊可以持續交付價值給我們的客戶或是使用者。這必須是所有人協同合作成果,並非單一部門或是單一職務該有的責任。

為什麼要導入DevOps


DevOps中並非是一種規範,這一點很重要,並非關注某些效益的指標或是只能用固定工具。也因此,在DevOps中是不會限制一個團隊必須用甚麼方式或行為去執行軟體開發的方法。所以,可以依照團隊或是組織特性選擇:

  • 平台工具
  • Release節奏
  • 開發團隊和維運團隊的個人組織
  • 測試方法或測試的框架
  • 自動化程度
  • 或是其他軟體開發模式

雖然,技術上並無使用限制,也不改變現有開發流程方式,那這樣DevOps還有什麼?在DevOps中,就是堅持DevOps的核心原則,並隨著時間去不斷改善現有團隊流程。核心原則可以從鳳凰項目DevOps Handbook找到,這些核心原則主要是由Gene Kim提出,有下列幾項

  • 系統思維
  • 放大回饋循環
  • 一種實驗和持續學習文化

本質上這都是對於團隊來說是好的,有良好的DevOps文化團隊,將會持續改善、完善系統。在這過程中,不僅僅改善軟體開發。團隊每個人一起致力於確保系統的能夠平穩且有效率。另外,Donovan Brown也定義這其中最重要部分,就是團隊的每個人都在工作。建構DevOps文化過程中,最關鍵還是文化,文化則是由人組成,又以人們必須能夠協同合作。所為協同合作,不單單只是互相把程式碼寫好就可以,而是能資訊共享互助合作和能共同承擔系統的成功和失敗的團隊。在這種文化中,團隊成員必須能夠接受失敗,且不去尋求責備和懲罰,同時,要激勵團隊每個人都能努力讓團隊變得更好,絕對不是追求自我的成功或是能力提升


DevOps這種文化是最困難執行的,要完成這種文化,絕對是需要時間來實行,最好還是能從Top Down方式觸發。團隊每個人經歷與資歷不同,在變化的速度也不同,有人會相當緩慢,但團隊必須扶持或是相信他可以慢慢改變。此外,最後最重要則是開發人員和維運人員之間必須要共同學習和相互了解,才能去適應對方需求

上一篇