相信有那麼一天,我們將可以像畢凱艦長一樣用嘴巴叫所有主機做事!


Cheng Wei Chen



DevOps:建造開發維運的跨界之橋(二)- 什麼是 DevOps

延續前文,這一系列的文章是將我之前在 C.C. Agile #37 分享的簡報《DevOps: 建造開發維運的跨界之橋》轉換成文章的形式,一方面讓簡報內容能更完整地被分享,另一方面也讓我有地方可以補充一些後續又吸收到的新內容。

本文繼續來談談到底 “What is DevOps”,關於「什麼是 DevOps」目前我看到最多的標準答案是「這個問題目前沒有標準答案。」(2016/9/3 補充更多內容)

於是你就會看到有人開玩笑說「你問十個軟體、資訊領域的專家,什麼是 DevOps,那你會得到十個不一樣的答案。」(來自葉秉哲的演講「Docker 對傳統 DevOps 工具鏈的衝擊 」

而目前的情況也似乎就是如此,你可以在 wiki 上找到 DevOps 的條目,你可以在 Gartner 的報告中看到 DevOps 的相關趨勢,你也能找到各廠商宣稱自己的產品是 DevOps 必備的工具。



但若仔細比較它們對於 “What is DevOps ?” 的描述,你只會得到許多十分類似但卻有些不同的答案。於是又有另一個玩笑出現了「DevOps 是一種 92 共識,認真你就輸了」。



我個人最近在看 DevOps 的新聞與文章,發現了一個現象,早期談 DevOps 的文章,當談到什麼是 DevOps 時,都會直接給一個答案 DevOps 就是 ooxx ⋯⋯;但現在的文章則比較模糊一點,不再那麼斬釘截鐵,甚至有看到文章直接補一句「關於什麼是 DevOps,目前還有許多爭議⋯⋯各家都有自己的意見與詮釋⋯⋯ 」。

所以我才會開玩笑的說「什麼是 DevOps」,標準答案就是「這個問題目前沒有標準答案。」

但各家的定義依然值得我們參考,例如前面提到 Gartner,他們的定義即是
“Gartner defines DevOps as a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach.”
(出處 http://www.gartner.com/smarterwithgartner/the-science-of-devops-decoded/)

 “DevOps represents a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach. DevOps emphasizes people (and culture), and seeks to improve collaboration between operations and development teams. DevOps implementations utilize technology — especially automation tools that can leverage an increasingly programmable and dynamic infrastructure from a life cycle perspective.”
(出處 http://www.gartner.com/it-glossary/devops/
iThome 的一篇報導《DevOps將顛覆未來IT人角色》中則是怎麼描述 DevOps。
「DevOps開發方法是敏捷(Agile)以及精實(Lean)開發概念的延伸,有別於傳統開發流程,DevOps開發方法打破每個獨立的階段,從需求分析、系統設計、程式開發、安裝測試、後續維護再回到第一階段,形成一個封閉迴圈。
DevOps開發方法要開發人員持續改善並整合不同的階段,加以組織過去任務所發生的事,開發人員需要自動化的工作流程,自動化開發周期的每一個階段,不僅需要自動化測試,還要自動化部署,且提供自動化的數據給所有參與的人,讓所有人可以合作。」
Chef 也有一個它們的簡短定義。
“DevOps is a cultural and professional movement, focused on how we build and operate high velocity organizations, born from the experiences of its practitioners.”
(出處 https://www.chef.io/solutions/devops/) 
而 Chef 的 CTO 在 Chef Conf 2015 時,則針對這種定義模糊的狀態提出了一個我個人很喜歡的說法,他說「DevOps 就像功夫」。
(出處 https://youtu.be/_DEToXsgrPc



我個人的解讀如下,團隊與企業在導入 DevOps 的過程,就如同武人學習武功邁向成為功夫大師的路程。因此個人的體質將影響他所適合學習的武功流派,但不管他學的是哪一個流派的功夫,我們都是在往功夫大師之路前進。同樣的每個團隊與企業適合的 DevOps 不一樣,不論如何我們都往 DevOps 之路前進。

同理,每一個團隊與企業的體質(團隊規模、組織架構、企業文化、產品⋯⋯)皆不相同,因此同樣都是往 DevOps 功夫之路前進,每個團隊適合的武功流派也不會完全一樣,甚至對每個團隊而言「什麼是 DevOps」也會有不同的定義與看法。



CALMS

既然大家已經不再執著於 What is DevOps,那關於 DevOps 應該還要知道些什麼呢?又 DevOps 究竟包含了哪些內容?對於這樣的提問,經常可以看到這樣的答案 “DevOps is about CALMS”。



我在以前的文章中也有簡略地提過 CAMS,這次再補上了 L = LEAN。

本文就先在此打住,在接下來的文章再繼續分享 CALMS 每一項的內容,靜待下回分曉。

如果你對於 What is DevOps 還是急著想要瞭解更多,那麼這裡再補充幾個我建議可以優先閱讀的來源。

  • AWS 的 What is DevOps 頁面
    AWS 目前正在持續的完善他們的 DevOps 產品線,前一陣子推出的 What is DevOps 頁面整理的很完整,是一個用來認識 DevOps 的好地方。
  • 來自 agile admin 部落格的文章 What is DevOps ?
    文章寫於 2010,但一直有持續更新,包含幾個不同面向討論 DevOps,也是一個值得閱讀的資料來源。



沒有留言:

張貼留言

不歡迎留言打廣告,所以有進行留言管理,敬請見諒。