DevOps 是 development 和 operations 兩個單詞的組合,是一組過程、方法與系統的統稱,用于促進開發、運維和測試部門之間的溝通、協作與整合,覆蓋開發、構建、測試、部署和交付反饋等階段。
可以說,DevOps 是軟件開發生命周期從瀑布式到敏捷,再到精益的演化。瀑布模型的特征是,在進入下一階段之前,每個階段目標必須100%地完成。相對于瀑布開發模式,敏捷開發過程的一個基本原則就是,以更快的頻率交付最小化可用的軟件。在敏捷的目標里,最明顯的是在每個Sprint的迭代周期末尾,都具備可以交付的能力。DevOps 是敏捷開發的延續,它與敏捷相輔相成,因為它拓展和完善了持續集成和發布流程,因此可以確保代碼是生產上可用的,并且確實能給客戶帶來價值。
企業在應用了 DevOps 之后,往往可以得到以下幾個方面的業務優勢:一是產品快速推向市場,縮短開發周期和更高的部署頻率;二是提高質量,提高可用性,提高變更成功率,減少故障;三是提高組織的有效性,將時間花在價值增加活動中,減少浪費,同時交付更多的價值至客戶手中。
DevOps 在中國發展滯后
自 2008 年 Petrick Debois 在多倫多敏捷會議上提出“ DevOps ”一詞以來,DevOps 理念在全球越來越深入人心。近期,Transposit 公司發布了一項針對 415 位 CIO 及 CTO 的調查。數據顯示,88% 的受訪者已經開始了 DevOps 理念的實踐;83.4% 的人認為 DevOps 對公司的數字化轉型具有至關重要的作用;幾乎所有的受訪者表示將進一步深入實踐 DevOps ;更有 83% 的人已經制定了計劃并著手實施。
而我國 DevOps 發展起步較晚,整體發展水平存在明顯滯后。劉博涵等人于 2019 發表的《 DevOps 中國調查研究》從更多維度探討了 2016 年至 2018 年期間 DevOps 在我國的發展情況。目前,國際上對于高性能團隊的定義是部署頻率為一天多次,交付周期和平均修復時長在 1 小時以內,團隊變更失敗比例在 0~15% 。如果按照此標準衡量,在國內受訪團隊中,2016 年無一能達到該標準,2018 年僅有 6%可以達到這一標準。這雖然在一定程度上說明了部分國內團隊在IT性能上有了明顯的進步,但總體來看,國內與國際水平還存在明顯的差距。
《 DevOps 中國調查研究》的調查還發現,23.3% 的準高性能團隊受訪者表示其和團隊都害怕代碼部署,而準低性能團隊表示害怕的僅為 8.8% ,這與 Puppet Labs 面向全球調查后得出的“高性能的團隊得益于自動化實踐的充分開展,面對部署,比低性能團隊感到更輕松”的結果正好相反。因此他們認為,這是我國 DevOps 標準逐漸與國際接軌,而生產力卻發展滯后的體現。
此外,Puppet 發布的《 2021 年度 DevOps 狀況調查報告》指出,83% 的 IT 決策者表明他們的組織正在實施 DevOps 實踐。而中國信通院發布的《中國 DevOps 現狀調查報告( 2021 年)》顯示,引入了 DevSecOps 的企業占比僅為 53% 。
癥結就在于員工素質不高和人才緊缺
正是因為 DevOps 不是一種實實在在的技術,而是一種思想理念,一種方法論,所以每個軟件開發組織都可以根據自身的實際情況將 DevOps 理念落地,指導組織內的開發與運維工作 。不過仍有一個共識就是,通過自動化的方法實現持續集成與持續交付,是 DevOps 實踐的一條基礎性準則。如今,除卻各種開發、運維自動化工具,微服務、容器等其他領域技術也同樣支撐著 DevOps 的變革。
比如,在云計算、微服務大力發展的背景下,出現了以 Docker 為代表的容器技術,以 Kubernetes 為代表的容器集群技術將容器技術進一步提高到了生產級別,同時出現了 Maven 、Gradle 、Webpack 等構建工具,以 Git 、 SVN 為代表的代碼版本控制工具,使得自動化的持續集成與交付變為可能。
然而現在的局面是,不同的平臺與工具被不同的部門使用,盡管交付效率提升了,但不同部門之間仍然像信息孤島,不同系統之間的信息流轉仍偏向手動方式。
飛算云智總裁陳定瑋認為,互聯網技術是非常龐雜的,并且發展日新月異,開發與運維之間的技術鴻溝真實存在并且日益加深。對國內大部分IT企業來說,依靠 DevOps 的理念并不能彌補這種鴻溝。因為 DevOps 的實施對人才的依賴性強,以及對人員的基本素質要求非常高。這也是很多 IT 公司在實踐 DevOps 時不得不以失敗告終的原因。如果沒有一個更加有效的平臺讓它落地,那么 DevOps 這一出色的工程理念和工程技術便無法在中國得到進一步推廣。
《 DevOps 中國調查研究》的調查數據也證實了這一點。我國 DevOps 的發展起步晚是不爭的事實,但人的因素是 DevOps 發展的最大障礙。阻礙 DevOps 推行的前五大因素依次是組織行業的限制、不同部門的目標不一致、員工不理解 DevOps 的概念、組織缺少具備 DevOps 經驗的專家、缺乏配置和使用相關工具的專業知識和人才,其中與“人”相關的因素高達 80% 。該研究總結道,國內 DevOps 滯后、過程成熟度不高的癥結就在于員工素質不夠高和人才緊缺。
可視化全自動開發打破技術鴻溝
那么,有沒有一種工具,可以擺脫軟件開發對員工素質和人才的依賴,彌補開發與運維之間的技術鴻溝,實現真正的高效協同工作呢?飛算科技用新一代 Java 開發工具—— 飛算SoFlu 全自動軟件工程平臺給出了答案。陳定瑋說,飛算SoFlu 可以將原來開發工程師才看得懂的代碼可視化,讓業務人員也看得懂,從而降低準入門檻。
據了解,飛算SoFlu 采用通用的技術功能模塊,支持循環、條件判斷、函數調用等組件,通過拖拽方式以及參數配置,實現實際上就等同于編寫復雜代碼的業務邏輯。只要技術人員了解基礎的業務邏輯,就能實現軟件開發。而且,平臺統一了代碼規范,不依賴人工編碼、審碼,因此可以從源頭上保證代碼高質量。
總而言之, 飛算SoFlu 通過可視化編程的方式滿足低門檻開發需求,輸入流程圖即可實現自動開發。毫無疑問, 飛算SoFlu 與 DevOps 理念是一致的。
陳定瑋曾表示:“飛算 SoFlu 的出發點是想讓 DevOps 真正的落地。而實現‘落地’首先重點要解決的就是開發的問題, 包括開發的品質、安全和效率等,再逐步解決測試和運維問題。”
近期,隨著飛算SoFlu全自動化測試平臺的上線,陳定瑋要解決開發、測試、運維問題的目標已經完成了三分之二。據了解,該平臺能夠以自動化的方式實現測試生命周期管理、測試用例自動生成、測試數據管理、精準回歸測試等一系列功能,不僅降低了測試門檻,讓初學者輕松上手,還可以減少測試對資源的占用,提高執行效率,自如應對企業數字化轉型背景下軟件測試面臨的人工測試耗時長、測試跟蹤管理難、測試成本高、Bug發現和解決成本高等挑戰。
此外,在該平臺上,用戶可以對程序流程圖中任何節點配置跳過節點,或模擬節點數據,或正常執行,方便用戶測試任意部分的業務邏輯,即使只開發了部分業務邏輯也可進行測試,極大地提高了測試效率。
我們也要看到,全球絕大多數組織仍然停留在 DevOps 演變的中期階段。企業在落地 DevOps 實踐時,仍面臨許多挑戰,比如 DevOps 文化構建、部門溝通成本、開發工具分散、DevOps 實踐成本等 ,期待能有更多、更好的工具或平臺能解決上訴問題,以此促進 DevOps 的發展。
責任編輯:劉沙





