經過了去年一整年的宣傳,雖然熱度可能比不上目前正熱的 Growth Hack,但相信應該多數的人都已聽過 DevOps 這個詞。個人在去年也做了三個與 DevOps 相關的簡報,內容大約都是「Intro to DevOps」的等級,相信對於推廣 DevOps 一詞應該也有提供一些助力吧?
新年新計劃,首先打算將簡報《DevOps: 建造開發維運的跨界之橋》的內容轉換成文章的形式,一方面讓簡報內容能更完整地被分享,另一方面也讓我有地方可以補充後續又吸收到的新內容。
疑問?
在開始聊聊 DevOps 之前,我們先來自問幾個問題:
- 你目前的職務範圍是 Dev、Ops 或你根本是跨職能,甚至是全端?
- 你對 Agile、Lean 的熟悉程度?
- 你看過《Continuous Delivery》這本書嗎?同時也問你對 Continuous Delivery 的熟悉程度?
為什麼要問這些問題?其實答案很簡單,因為這些問題都與 DevOps 息息相關。
DevOps 這個詞的出現
What is DevOps?這個問題實在很難用三言兩語回答,既然如此,不如我們先從 DevOps 這個「詞」是從何處出現開始著手,也許了解了「詞」的來龍去脈就能替我們解答 “What is DevOps ?” 這個問題。
詳細的歷史淵源可以參考 iThome 的這篇報導《為什麼會出現DevOps?》,在正體中文的資料中,iThome 這一份內容整理的很詳盡。
簡易版的歷史淵源就如下圖所列,有幾個比較重要的事件:
- Agile 2008 conference, Andrew Clay Shafer and Patrick Debois discussed “Agile Infrastructure” 這可能是 “Agile Infrastructure” 被開始廣為推廣的開始,同時這也意味著在當時即有許多的人們在思考著如何讓 Dev 與 Ops 更密切的合作。
- 2009/06/23, O’Reilly Velocity, “10+ Deploys per Day:Dev and Ops Cooperation at Flickr” 延續 “Agile Infrastructure” ,究竟如何讓 Dev 與 Ops 能更密切的合作?想不到 Flickr 在 2009 年就做到了,Flickr 的經驗分享可以說是 DevOps 公開的第一先例。這場簡報撼動了許多人,包括上面那位來自比利時的大大 Patrick Debois,在他的中心種下了舉辦 DevOpsDays 的種子。
- 2009 - DevOpsDays Ghent in Belgium 於是同一年 Patrick Debois 舉辦了第一場 DevOpsDays,而活動後續的討論在 Twitter 上延燒,為了簡省字數,刪去了 Days,於是 DevOps 一詞正式出現。
- 2010 - Book《Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation》 延續讓 Dev 與 Ops 更密切合作的概念,接著《Continuous Delivery》也出版,讓這樣的想法更加被傳播也被印證這是確實可行的。
- 2013 - Book《The Phoenix Project》 最後著名的《The Phoenix Project》出版了。如果你覺得沒有實例無法說服你相信 DevOps,那麼看看《The Phoenix Project》也許是一個好選擇,雖然它只是一個虛構的故事,但卻很真實的呈現了一間企業的導入過程。
由上面的歷史淵源可以看見,DevOps 的出現並不是一個單一事件,同時也隱約能感覺到 DevOps 並不是一個全新的概念,反而是與許多我們已熟知的概念是息息相關。所以也有人說 DevOps 根本是新瓶舊酒,只是將許多舊觀念全部打包再套上一個新詞而已。
DevOps 與 Agile、Lean、CI、CD 相關,同時雲端平台、虛擬化技術與配置管理工具的出現也是其中的推手。
但無論如何 DevOps 一詞已經被成功炒熱,在它消逝之前我們繼續來認識在它的背後到底藏了哪些重要的東西。
- Lean
- Agile
- Continuous Integration
- Continuous Delivery
- Virtualization *Infrastructure as Code
上圖所列出的項目即是我個人看了許多資料後,目前認為與 DevOps 密切相關的「東西」,明眼人一看就知道這每一項都不是用三言兩語可以簡單說明的,這也就是為何文章一開頭就要大家先自問那幾個問題。
這上面列出的每一個「東西」你都熟悉嗎?在你要認識 DevOps 或導入 DevOps 之前,其實我覺得也許你可以先認識這幾個重要的「東西」。
未完待續⋯⋯