一秒讓你讀懂 DevOps 的本質及行業現狀與趨勢

cornerstone發表於2019-10-24

手工編譯,上傳伺服器檔案,執行各種命令,啟動和停止伺服器,發現一個 BUG,改完再重複之前說的步驟...... 如今看起來啼笑皆非的重複勞動,在沒有 DevOps 概念之前,全靠 IT 人員手工完成。

不僅如此,DevOps 概念的提出,最初因傳統模式運維之痛而生。眾所周知,DevOps 一詞的來自於 Development 和 Operations 的組合。字如其意,DevOps 就是讓軟體開發人員和運維人員更好的溝通合作,通過自動化流程來使得軟體構建、測試、釋出更加快捷、頻繁和可靠。

https://i.iter01.com/images/9db53d417ddeed9837c6c65fd3bedccc03bec12fc4bfa9b6f6e340fc00021aad.png
https://i.iter01.com/images/f24aade4251c7c57f29b43100e6083d6c0271d6bbc7b2d0a524f4fb7264a24ba.gif

《RightScale2018 年度雲端計算調查》報告資料顯示,DevOps 的整體採用率從 74% 上升到了 78%,同時企業的 DevOps 採用率達到了 84%。30% 的企業正在全公司範圍內採用 DevOps,同比增長 9%。

這些數字的提升不僅代表了 DevOps 可以帶來實際效果的共識,也印證了 DevOps 這兩年開始受到越來越多的企業重視。DevOps 概念的深入人心,離不開雲端計算、容器 /Docker、微服務、敏捷等相關概念和實施的成熟發展。其背後本質是企業 IT 的精益運營,以面對更快的業務試錯與業務創新。


概念雖好,落地卻難?

DevOps 的一個巨大好處就是可以高效交付。DevOps 理念指向“高度的自動化”,試圖制定一條從開發到執行自動執行的流水線,最大程度地擺脫人工的束縛,達到企業生產力的升級。

比如,持續的整合與開發,實現從開發測試、上線運維的一體化自動流程;智慧預警幫助使用者自動監控叢集執行狀態,快速定位到問題具體發生的位置,及時通知使用者以快速解決問題等。

DevOps 另外一個好處就是會改善公司組織文化、提高員工的參與感。員工們變得更高效,也更有滿足和成就感。

由此可見,如果能採用 DevOps,公司就能夠做更多的創新,縮短開發週期,將產品更加快速地推向市場;同時創造差別化的公司業務和價值,提高組織效率,而不是不停地修補舊問題。


https://i.iter01.com/images/4e2665914f0c74654fa8772f077bdc736e7fc0501fa9f75b7db631f2821a5ed6.png

雖說 DevOps 優勢多多,前途大好,企業對 DevOps 的評價也很高,但實際情況卻是說的人多,做到的很少。

究其原因,在於 DevOps 並不是簡單地將開發部門和運維部門合併,更是企業文化、組織結構的變革,是通過自動化的基礎設施、合理的流程規範以及智慧的自動執行系統測試來加強開發部門和運維部門之間的協作和溝通。

首先,這涉及到觀念問題。DevOps 的最終目的是加強開發部門和運維部門之間的協作和溝通,如何把現在的文化朝 DevOps 思維模式扭轉,並且在開發和運維之間找到共識?

對於傳統企業,特別是大型分散式組織,在整體意義上的 DevOps 成功往往是不可能實現的。因為 DevOps 要求深層次的文化和組織變革,要改變的太多太多。這意味著大家要扔掉奉行了幾十年的顯規則和潛規則。你不得不告訴老部下們,大部分他們知道的和每天做的事物都已經過時了。

其次,想要為 DevOps 和應用靈活性而重塑團隊,就要有打破 IT 分組壁壘的勇氣,並且需要在團隊成員篩選上做出艱難的決定。


困難重重,如何實現?

毫無疑問,DevOps 對組織是非常有價值的,但是需要注意的是,整個公司都需要參與到 DevOps 裡才能成功。DevOps 需要高階領導層的支援,也需要和最終產品相關的所有人的參與,而不僅僅是開發和運維部門。

第一,在開發和運維之間找到共識,這需要強大的領導力來實現變革。當然,它也需要花費時間和金錢,並且需要在團隊成員篩選上做出艱難的決定。

可以從小處開始,不要期望一開始就能讓所有人都信服 DevOps。實際中,在特定專案的小型組織內贏得大家的支援,就贏得了會在公司其他地方幫助宣傳 DevOps 的大使們,這會帶來乘數效應。

第二,圍繞業務系統而不是職責來組織工作,這就是 DevOps 打破 IT 分組壁壘的寓意。一個團隊應該有開發人員建立程式碼,從使用者介面到業務邏輯和資料結構,也應該有運維人員負責操作自動化和部署。團隊待在一起,共同為他們的應用和系統負責。

當然,為了促進 DevOps 戰略,調整考核和激勵機制是必要的。應該獎勵系統建立和運維的整體團隊,並且根據團隊工作的全部要素來確定獎勵。

第三,團隊需要選擇最合適的工具。雖然 DevOps 是一個概念,但工具是實現 DevOps 的重要組成部分。近幾年來如日中天的 CORNERSTONE 就是實現 DevOps 最合適的工具之一。

在不瞭解DevOps生命週期的情況下,對DevOps的理解也會片面化。我們以CORNERSTOENE一站式雲端 DevOps平臺為例讓我們一起探討DevOps的生命週期。


https://i.iter01.com/images/a7e4d2ce350df1fe0d64f7a3ab48537b81cbdf397f7bc958c90da543ad1dee40.png


一、持續開發:


這是DevOps生命週期中軟體不斷開發的階段。與瀑布模型不同的是,軟體可交付成果被分解為短開發週期的多個任務節點,在很短的時間內開發並交付。


https://i.iter01.com/images/26f3ed23dbe4e6fa960d6188483c5ac8faedcda347d595348467a1b7d097ad31.png


CORNERSTONE任務模組裡,任務分配給誰,就會是誰的責任。而且任務支援多責任人與子任務關聯,所有的任務和狀態都會體現在任務模組裡,這個任務過程中的參與人員隨時知道任務的狀態和目前碰到的問題,可有效推進工作的解決。有了CORNERSTONE能夠幫助我們追溯和監控,促進對於接任務的人員有效負起責任,並能夠及時同步到資訊。


二、持續測試:


在這個階段,開發的軟體將被持續地測試bug。CORNERSTONE平臺覆蓋完整的測試流程,可進行測試用例的編寫,建立用例庫,減少重複性操作,讓研發團隊的協作更高效,產品交付更快速。常用的兩個功能為:


1)測試用例管理


通過編寫測試⽤例,制定測試計劃並執⾏,測試結果可直接關聯到缺陷,方便對問題進行跟蹤處理,實現對迭代質量的全程把控。


 

https://i.iter01.com/images/35c6196937f28512b23ffee376bc621f084f27ded939e8ffc70424d076cbc530.png


2)缺陷管理


強大的缺陷管理與統計功能,通過分組、解決狀態、優先順序等列表對缺陷進行全方位記錄與跟蹤,同時明確缺陷責任人,及時跟進解決缺陷;同時支援匯入匯出功能,匯出時支援任意格式,不受模板限制。


https://i.iter01.com/images/e33b17dbe695fa844d1c25aa826fd1bb3f50cbf8709f94bbaa96d9da3ddfdd26.png


三、持續整合:


這是支援新功能的程式碼與現有程式碼整合的階段。由於軟體在不斷地開發,更新後的程式碼需要不斷地整合,並順利地與系統整合,以反映對終端使用者的需求更改。更改後的程式碼,還應該確保執行時環境中沒有錯誤,允許我們測試更改並檢查它如何與其他更改發生反應。


https://i.iter01.com/images/3fef17d2856073f12538b3a9d85f20665198ae32f0ff644567496de3c51ec55f.png


CORNERSTONE⽀持將持續整合的結果部署到對應的測試環境,所有部署版本在測試環境中可隨時訪 問,⽀持灰度釋出到⽣產環境中。


四、持續部署:


它是將程式碼部署到生產環境的階段。在這裡,我們確保在所有伺服器上正確部署程式碼。如果新增了任何功能或引入了新功能,那麼應該準備好迎接更多的網站流量。因此,系統運維人員還有責任擴充套件伺服器以容納更多使用者。


https://i.iter01.com/images/e2913315e6a4a818b6c0934afa12cbbf2ce5aec56950f6c7750b52b624c56817.png


CORNERSTONE支援依賴指令碼pipeline實現的DevOps,支援持續整合與自動化部署,可直接在視覺化的伺服器上進行操作,同時滿足多種開發語言,徹底解決敏捷開發在運維層面的瓶頸,方便開發人員對專案開發生命週期進行全盤管理。


五、持續監控:


這是DevOps生命週期中非常關鍵的階段,旨在通過監控軟體的效能來提高軟體的質量。這種做法涉及運營團隊的參與,他們將監視使用者活動中的錯誤/系統的任何不正當行為。這也可以通過使用專用監控工具來實現,該工具將持續監控應用程式效能並突出問題。


https://i.iter01.com/images/57a3d3b26903c39f6a91f357f80e226777098f56bd71499f8142363de723bf5b.png


  CORNERSTONE嵌⼊一體化監控運維平臺,實現IT環境的數字化、標準化,直接運維分析的基礎,減少    人工干預,降低⼈工成本。

最後,好工具得有能人掌控才能發揮其威力。即使找到了好用的工具,也需要有熟悉這個工具鏈,擁有相應技能的 IT 人員來提供技術支援,才能完成實現自動化的使命。



寫在最後

總體而言,DevOps 作為一種理念,推動開發和運維之間的合作,有效迴應了當前的商業需求。它的實現是新觀念、新工具、新技能的三者疊加。雖然實現起來還有種種問題,但 DevOps 是大勢所趨,作為企業的高層和開發運維人員,對這樣的變革不能視而不見。

相關文章