閱讀114 返回首頁    go 京東網上商城


【譯聞】史上最完整版DevOps介紹


以下內容摘自TNS的貢獻者 Ritesh Modi的新書《DevOps with Windows Server 2016》。

e2b766fdbca5adce7613972423ce9ec919c32c5a 

如今,業內還並未對DevOps的定義達成共識。幾乎每個行業機構和組織都製定了一套自己的DevOps實踐。他們以為隻要進行自動化、配置管理和敏捷開發,就算是真正意義上了解並實踐了DevOps。

然而並沒有那麼簡單。

DevOps與軟件係統的發布機製是密切有關的。DevOps涉及到建立協作互通的開發團隊,並朝著一個可預見的目標一起工作,也同時涉及到協作中的責任製和管理製度。它還涉及到實踐過程中的集體性和服務心態。DevOps確保實現了團隊組織中一種敏捷而靈活的傳輸機製。與大眾觀念相左的是,DevOps其實和工具、技術以及自動化無關。自動化實際扮演的是實現敏捷開發,減少了團隊內部的合作並輔助更快交付的角色。


DevOps的定義

網上有很多關於DevOps的定義,但它們大多數並不夠完整。為什麼這麼說?

首先,DevOps並不提供框架和方法,當它應用到團隊和項目中的時候,它其實是DevOps和企業共同實現既定目標的一係列原理和實踐經驗。其次,這些原理和實踐經驗並不執行任何特殊的程序、工具和技術,甚至環境。最後,即便有的技術和流程本身確實可能對實現DevOps的目標和願景比較適用 ,但事實上,DevOps能在應用實踐這些工具、技術和流程的過程中提供指導。

任何直接麵向用戶並為用戶提供產品和服務的企業都可以實踐DevOps,作為本書的目標,我們將通過剖析企業的開發和運維團隊了解到真正的DevOps。

所以,DevOps到底是什麼?我認為:

• DevOps是一係列原理和實踐經驗的總和。

• DevOps從一開始便將開發和運維團隊放到同一個係統開發中。

• DevOps提供了一種快速、有效的方式,能不斷地以端到端的傳播形式向用戶端傳遞價值,而且這種方式具備一致性和可行性。

• DevOps縮短業務上線時間,並保障了業務的市場競爭力。 

如果你仔細揣摩過以上DevOps的定義,你就會發現它並未對任何特殊的流程、工具和技術有偏好,也並未規定任何特殊的方法和環境。


DevOps的實踐

任何企業的DevOps實踐,其最終目標都是確保相關人員(包括用戶)的期望和需求能有效、快速地開展起來。

DevOps滿足用戶以下需求和期望:

• 獲得他們想要的功能;

• 在任何需要時都能獲得他們想要的功能;

• 能更快地更新功能;

• 發布的新版本的質量夠高。

隻有當企業能滿足這些用戶需求,用戶的忠誠度才會高,反過來企業的市場競爭力便得到了提升,並最終增強企業的品牌和市場價值。DevOps對企業的頂線和底線帶去直接影響,因而企業可以在創新和客戶反饋上投入更多,從而持續改變其係統和服務,以保持和用戶之間的黏性。

而任何企業在實踐DevOps的過程中都會受其所處的行業和領域的影響,所以要把握住DevOps實踐的核心原則和核心做法。


DevOps實踐的核心原則:

• 協作機製和溝通機製;

• 響應變化的敏捷度;

• 軟件設計能力

• 快速試錯

• 持續學習和創新;

• 自動化流程和工具。


DevOps實踐的核心做法:

• 持續集成

• 配置管理

• 持續部署

• 持續發布

• 持續學習

雖然DevOps並不是新詞,但近幾年卻受到越來越多的普及和關注。到目前為止,采取DevOps已是最高優先級,且越來越多的公司正在實踐它。而DevOps的實踐中又有著不同優先級的考慮:以成功實施持續部署和持續交付的優先級最高,以采用源代碼控製和敏捷開發的優先級最低。


DevOps定義的解析

DevOps談到的第一個問題是如何打破開發團隊和運維團隊之間的隔閡,以及如何實現多團隊之間的親密協作。DevOps打破了以往開發團隊隻負責寫代碼並提交代碼給運維團隊來進行部署,而運維團隊不參與開發過程的觀念。事實上,運維團隊應該對產品的上線計劃產生影響,也應該對即將發布的功能有更多關注,他們還應該持續向開發部門反饋運維上的任何問題以便在後續版本中予以修正。運維團隊的工作實際上最終能為提升整體功能特性的係統設計產生影響。相對應地,開發團隊應該輔助運維部門成功交付係統和解決問題。

DevOps的定義中還談到了係統端到端的交付效率是快速、高效的,但並未談到底有多高效。發布的效率取決於企業的行業、領域和細分用戶等,有的企業以季度為交付周期,有的則按周計算交付周期。

這兩種類型從DevOps的角度來看都是有效的,他們可以部署任何相關的流程和技術來實現其特定的目標。但DevOps不會決定該目標,企業應根據其整體項目和願景來確定DevOps的最佳實施。

這個定義還談到了端到端的交付。這意味著從係統的規劃和交付到服務和運維都應該是DevOps實踐的一部分。這些過程應該在應用程序開發生命周期中具備更大的靈活性、模塊化和敏捷性。雖然企業可以自由地使用最好的進程,如瀑布、敏捷、看板等,但通常企業都傾向於通過基於迭代的交付方式來支持敏捷開發流程。這便意味著在更小的單元擁有更快的交付,與大體量交付相比是更好測試也更好管理。

DevOps談到在不斷地向終端客戶提供軟件係統的時候要保證一致性和可預測性,這意味著企業應該使用自動化向用戶提供更新和功能升級。在不使用自動化的情況下,我們無法實現一致性和可預測性。為避免失誤,自動化也應該要求是端對端,這也表明係統設計應該是模塊化的,才可能保證更快交付的同時又能保持係統的可靠性、可用性和可擴展性。自動化測試便在這類交付中起著至關重要的作用。


結語

實施上述做法和原則的結果是企業可以滿足其客戶的期望和要求。相比競爭對手,這樣的組織發展得更快,同時,也更能不斷進行創新和改進,從而進一步提升產品和服務的質量。


本文為翻譯文章,文章觀點歸原作者所有

原文鏈接:https://thenewstack.io/what-is-devops/


關於作者Ritesh Modi

高級技術布道者,現就職於微軟,負責保障開發者、創業者和企業的技術學習和實踐。曾作為架構師就職於Accenture和eFORCE,熱衷開源技術,是行業有名的領導者和作家,同時,他還是T-hub和IIIT Hyderabad創業孵化器的導師,微軟認證培訓師,並擁有超20種相關培訓證書。

 

關於譯者Ghostcloud

Ghostcloud(中文名:精靈雲)是成都精靈雲科技有限公司旗下的基於Docker的PaaS/CaaS平台品牌,核心團隊由來自EMC、Veritas、華為、IBM、Microsoft的核心技術主管和架構師組成。國內首批從事容器虛擬化研發的企業,為企業級行業客戶提供針對互聯網化、私有雲管理平台、大數據業務基礎架構的平台服務。在國內Docker社區貢獻排名前三,主創團隊曾參與Beego開源項目研發,並主導發布《Docker容器實戰:原理、架構與應用》一書。Ghostcloud因容器技術而生,致力於為多個領域的“互聯網+”轉型企業提供服務,是一流的企業級容器雲服務專家。

 

推薦閱讀:

基於Docker的DevOps實現

法拉利與DevOps:比你想象中有更多類似

大話DevOps解決方案的變遷

最後更新:2017-05-20 16:31:19

  上一篇:go  一個月如何籌備一場好的婚禮
  下一篇:go  阿裏雲ECS服務器優惠券領取