iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 1
0
DevOps

一百種 DevOps 的工具 - 1系列 第 1

Day1 - DevOps Intro

雖說要介紹100種DevOps的工具,但實際上並沒有那麼多工具存在...

在開始介紹DevOps的工具前,先來了解什麼是DevOps吧

什麼是 DevOps?

DevOps 是 Development 和 Operations 的組合詞,就是開發與維運的組合。主要包含了軟體開發人員和維運技術人員之間溝通合作的文化。

也有蠻多文章會用下面這張圖來解釋DevOps,沒錯,開發測試維運的交集就是devOps。


來源:https://www.smartsheet.com/devops

為什麼 DevOps 會出現?

不管是瀑布式開發或敏捷式開發,開發與維運人員之間還是存在鴻溝,運作方面處處衝突,為了解決此一問題,Andrew Clay Shafer 跟 Patrick Debois 認為必須思考出一種方式,搭起開發與維運之間的橋樑。

2009年加州 O'Reilly Velocity 大會上,Flickr 的資深技術維護員 John Allspaw 及領導工程師 Paul Hammond ,報告了一個主題:「10+ Deploys per Day:Dev and Ops Cooperation at Flickr」,他們證明了開發與維運團隊彼此是可以順利合作的,認為開發新軟體的方法是要讓開發團隊和維運團隊都變得更透明,並將兩者整合在一起

受到 Flickr 的激勵,Patrick Debois 於是在比利時舉辦了一場活動,他把Dev及Ops結合成DevOps。活動結束後DevOps並沒有因此結束,反而在twitter上熱烈討論,並逐漸在各地蓬勃發展起來。

DevOps究竟是?

先前提到 DevOps 是一種文化,那他究竟是怎樣的一種文化呢?有些文章提到DevOps的核心概念是CALMS,CALMS代表5個字的縮寫

  • Culture
  • Automation
  • Lean
  • Measurement
  • Sharing

Culture - 文化

DevOps 是一種文化。傳統開發模式每個階段的人員可能只專注自己的部分,但在整個開發過程中並不是只有自己的部分做好就好,而是每個階段都必須要適當溝通好好合作,因此 devOps 就是為此而設計的,他的真正核心正是文化,建立強調人員間的合作、責任、分享的文化。

Automation - 自動化

自動化是開發團隊最重視的問題,開發過程中的測試及部屬容易造成 delay,若是都能自動化,不但可以減少開發人員與維運人員之間溝通落差造成的問題,更可以讓開發及整合上更為快速。

Lean - 精實開發

因為DevOps算是基於敏捷式開發(Agile)發展而來的,因此也需套用上精實開發七大原則。

精實開發七大原則

  • Eliminate Waste 消除浪費
  • Amplify Learning 增強學習
  • Decide as Late as Possible 推遲決策
  • Deliveras Fast as Possible 盡快交付
  • Empower the Team 團隊授權
  • Build integrity in 整合思維
  • See the whole 著眼全局

Measurement - 數據分析

測量通常是指維運時的數據,但整個開發過程其實都有可以記錄的地方。透過測量並蒐集有用的回饋,有助於改善開發過程,創造更好的開發結果。

Sharing - 分享

DevOps 是一種文化,文化正是透過人與人的互動產生。那有什麼可以分享?分享的內容有很多,如經驗、工具、數據、文章等都可以分享。例如上面提到的測量就能分享給整個團隊,讓開發人員與測試人員,甚至是業務人員都能根據數據做出最好的決策。分享不僅是文化的根,也是增加團隊透明度的好方法。


系列文
一百種 DevOps 的工具 - 11
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言