1. 程式人生 > >DevOps社群梳理:DevOps發展的四個重要階段

DevOps社群梳理:DevOps發展的四個重要階段

DevOps Cloud

DevOps是敏捷開發的延續,它將敏捷的精神延伸至IT運營(IT Operation)階段。敏捷開發的主要目的是響應變化,快速交付價值。以2001年的敏捷宣言釋出這個里程碑為起點,開始幾年內企業主要在軟體的開發階段推行敏捷,並沒有覆蓋到軟體的運營階段。隨著網際網路的不斷髮展,市場變化越來越快,2007年之後軟體工程領域出現了新的變化,DevOps星星之火便開始出現。

萌芽階段(2007-2008)

2007年,比利時的獨立IT諮詢師Patrick Debois開始注意開發團隊(Dev)和運維團隊(Ops)之間的問題。當時,他參與了比利時一個政府下屬部門的大型資料中心遷移的專案,在這個專案中,他負責測試和驗證工作,所以他不光要和Dev一起工作,也要和Ops一起工作。他第一天在開發團隊跟隨敏捷的節奏,第二天又要以傳統的方式像消防隊員那樣維護這些系統,這種在兩種工作氛圍的切換令他十分沮喪。他意識到開發團隊和運維團隊的工作方式和思維方式有巨大的差異:開發團隊和運維團隊生活在兩個不同的世界,而彼此又堅守著各自的利益,所以在這兩者之間工作到處都是衝突。作為一個敏捷的擁躉,他漸漸的明白如何在這種狀況下改進自己的工作。

2008年6月,在美國加州舊金山,O’Reilly出版公司舉辦了首屆Velocity技術大會,這個大會的話題範圍主要圍繞Web應用程式的效能和運維展開,分享和交換構建和運維Web應用的效能、穩定性和可用性上的最佳實踐。大會吸引了來自Austin的幾個系統管理員和開發人員,他們對大會中分享的內容十分激動,於是記錄下了所有的演講內容,並決定新開一個部落格分享這些內容和自己的經驗,他們同樣也意識到敏捷在系統管理工作中的重要性,於是,一個名為 theagileadmin.com部落格誕生了。

同年8月,機緣巧合,Patrick也在加拿大多倫多的Agile Conference 2008 上遇到了知音Andrew Shafer,兩人後來建立了一個叫Agile System Administration的Google 討論組。

社群確立階段(2009-2010)

2009年6月,第二屆 Velocity大會在美國聖荷西召開,當時的Flickr技術運維資深副總裁John Allspaw和工程總監Paul Hammond一起在大會上做了一個題目為“10+ Deploys per Day: Dev and OpsCooperation at Flickr”的演講,演講後來轟動了業界,也有力地證明了Dev和Ops可以有效工作在一起提高軟體部署的可能性。

Patrick在網上也看到這個演講,非常激動,受此大會的啟發,他在比利時也發起了名為DevOpsDays的自己的會議,最後大會出奇地成功, 以至於大家在twitter上的討論熱情不減,受限於twitter上字元的限制為了精簡,大家就把twitter上的話題#DevOpsdays簡寫成 #DevOps了,於是,DevOps一詞便在社群中慢慢確立了。

產業關注階段(2011-2012)

在2010年之前,DevOps運動還主要停留在技術社群中討論,探討的一些開源工具上也很少受廠商和分析師們的關注。直到2011年,DevOps突然受到Gartner分析師CameronHaight和451 Research公司Jay Lyman等人的注意,他們便開始正式研究這個市場,同時,一些大廠商也開始進入DevOps領域。

DevOps的發展也離不開另外一個領袖人物的推動,那就是知名公司tripwire的創始人Gene Kim先生。2012年8月,Gene在他的部落格上發表了“the three way”的DevOps實踐原則,分別是:1)思考系統的端到端流程 2)增加了反饋迴路 3)培養一種不斷實驗以及通過反覆實踐達到精通的文化,Gene為DevOps領域貢獻了一個重要的理論基礎。是年後(即2013年初),Gene與KevinBehr和 George Spafford三人合著的《鳳凰專案》一書出版,一度被譽稱為DevOps的聖經。

相關技術基礎協同發展的階段(2013- )

DevOps被業界快速接受離不開相關技術的同步發展,特別是雲端計算技術和基礎設施的成熟,以及新的架構正規化的出現。

2013 年,dotCloud公司(後更名為 Docker )推出 Docker 專案,在容器技術的基礎上,引⼊分層式容器映象模型、全域性及本地容器登錄檔、精簡化 REST。

同年,Google推出開源專案 Kubernetes ,提供了以容器為中⼼的部署、伸縮和運維平臺。Kubernetes支援 Docker 、 rkt 以及 OCI 等容器標準,能夠實現在各種雲環境中快速部署kubernetes 叢集。

2015年,基於Cloud-Native(雲原生)概念的逐步成熟,Google聯合其他20家公司宣佈成立了開源組織CloudNative Computing Foundation(CNCF)。同年,O’REILLY出版了pivotal公司產品經理Matt Stine寫的《Migratingto Cloud-Native Application Architecture》一書,其中,MattStine對Cloud-Native關鍵架構特徵進行補充,也融入早在2012年由Heroku創始人AdamWiggins釋出的“十二要素(The Twelve-Factor)”應用宣言等重要理念。此書較為完整地描述了Cloud-Native的落地方法和實踐。

至2016年,隨著DevOps應用的逐步深入,行業開始關注系統的安全和合規性,出現了DevSecOps等細分探討領域,開始倡導Security as Code、Compliance as Code等新理念。

參考文獻:

  • https://www.versionone.com/devops-101/what-is-devops/ 《what is devops》,Dennis Ehle
  • http://www.jianshu.com/p/f40209023006 《DevOps編年史》,顧宇
  • 《雲端計算開源產業發展白皮書第二部分:容器》

原文來自微信公眾號:DevOps社群