DevOps 是一種重視 “軟件開發人員(Dev)” 和 “運維技術人員(Ops)” 之間溝通合作的文化、運動或慣例,是軟件開發領域最近十年來興起且當下普遍成熟運用的方法論。它和傳統的瀑布模型、螺旋模型等理念不同,其核心是 “敏捷”,結果是自動化。DevOps 是敏捷開發的延伸,通過 “軟件交付” 和 “架構變更” 的流程自動化,使構建、測試、發布軟件能夠更快捷、頻繁并且可靠。
傳統的軟件開發組織結構中開發、運維和質量保障部門之間相互獨立、各司其職。隨著需求膨脹和響應迭代頻率的加劇,行業對敏捷開發的要求更高,不僅要做到交付快捷頻繁,而且得保證質量可靠,這就對軟件研發工具提出了更高的要求。
一個明顯的趨勢是,軟件研發工具正在從單個工具逐漸轉向為一站式 Devops 平臺。
一站式 Devops 平臺至少要滿足如下三個最基本的條件:
•功能矩陣完整,能覆蓋研發過程的主要部分
•完善的研發數據鏈路和功能整合能力
•系統間的高度自動化能力
有了這三方面最基本的保證,一站式 Devops 平臺才能發揮最大價值。
以代碼評審為例,工程師發起代碼評審時,系統界面自動將評審的研發數據鏈路信息(代碼 Diff 對比、評論、push、commit、關聯的需求、關聯的測試、流水線構建、代碼掃描等)關聯并顯示到評審功能界面上。評審發起人和評審者可以基于這些信息進行高效的數字化研發協同。
具體來說,在這個過程中:
①工程師進行研發工作的各流程時,可快速完成功能切換,無需跨多系統操作,使用高效,節約時間。
②將代碼評審的研發數據鏈路進行功能級集成,不管是評審發起者還是評審人,都不再需要到各離散系統中去尋找相關信息,在評審界面各種信息應有盡有,甚至可以直接在當前界面進行操作,這才是數字化研發協同能夠得以真正實現的關鍵核心,從而讓大幅度提升效能變為現實。
③當代碼評審創建時,代碼掃描、自動化構建等各種相關系統立即被自動觸發與執行,不需要復雜配置,實現全過程高度自動化。不僅如此,這種高度的自動化直接帶來了強大的質量內建和左移能力。
此外,一站式 Devops 平臺還具備如可視化能力、可追溯能力、可度量能力等,直接讓研發團隊數字化協同水平上一個大臺階。
對技術背景雄厚的企業來說,自研 DevOps 平臺工具也是一種選擇,但這一平臺的開發需要很大的投入。以微軟的 Azure DevOps 為例,從微軟 2005 年正式對外發布產品化 Team Foundation Server(Azure DevOps 前身)開始,經歷了 17 年的不斷開發與優化,才有了目前國際市場上被廣泛認可的 Azure DevOps。在此期間 Azure DevOps 為了適應不斷變化的軟件研發管理實際要求,也經歷了數次大的技術調整與重構。由此可見想一蹴而就地研發一款優秀的 DevOps 產品基本是不可能的。
雖然目前市場上有很多 DevOps 產品,但是或多或少會有一些開源工具的影子,有些干脆就是基于開源工具套了一個殼子。這種方式可以讓產品快速投入使用,但是同時也會有很多的問題。比如:
技術封裝不到位:這類產品的最大特點就是只是對開源產品進行類簡單地封裝,但由于封裝得不到位,導致了在運行自開發產品的同時,需要維護底層的開源產品。也有一些產品,在基于開源產品進行優化時反而降低了開源產品具備的優秀能力,提高了使用難度,這就有點兒得不償失了。
流程管理模式僵化:DevOps 平臺需要具備的研發流程管理,配置管理,自動化流水線,制品管理,環境管理等重要模塊功能中,除了研發流程管理,其他的主要功能每個產品的差異不是很大。最能體現產品特色的就是研發流程管理。但是很多產品在設計這部分時,都只支持敏捷、看板或者帶有自管理方式的流程。研發流程上每個企業都或多或少地存在差異,尤其是在一些中大型的軟件研發部門或企業中,固化的流程管理方式很難適配所有團隊。
擴展性差、定制化強:很多 DevOps 產品是都支持企業級用戶的,但往往在適配企業用戶時需要對現有產品進行定制才能將企業管理流程落地。定制化方式往往僅限于基于現有產品的定制化開發。其實基于產品的定制化開發應該是最后才考慮的,否則會導致后期維護成本高,同時會給版本升級,產品功能迭代帶來諸多質量問題。
管理維度能力較強,工程維度專業度不足:正確的做法應該是平臺工具從管理維度上覆蓋軟件研發的所有過程,從工程維度上有的 DevOps 平臺產品可以覆蓋軟件研發的主要過程,但是很多產品在設計的時候并沒有考慮到從工程維度的版本交付維度進行管理,這導致了在當前軟件研發過程中很多 DevOps 平臺產品都是項目 / 系統 / 團隊范圍內的研發管理,但是由于很多企業的不同產品間是存在耦合的,很多時候需要不同系統協同開發與發布,而很多 DevOps 平臺產品對跨系統支持得并不好。
可度量設計缺失、數據分散:有些 DevOps 平臺的研發數據分別存儲在不同功能模塊中,各個模塊數據沒有聯系,這種情況尤其體現在基于開源產品的封裝式產品上;有些則無法簡單地定制化度量報表。
一站式 DevOps 工具如此之多,應該怎么選呢?正所謂 “試玉要燒三日滿,辨材須待七年期”,所以歷經六七年時間打磨的 SoFlu 軟件機器人才能在眾多 DevOps 開發工具中脫穎而出。它是一款覆蓋軟件全生命周期的自動化開發工具,包含后端全自動開發平臺、前端全自動開發平臺、全自動測試平臺、全自動運維平臺。
SoFlu 軟件機器人有三大特性:
可視化:SoFlu 軟件機器人擁有可視化開發界面,用戶利用簡單的流程圖就能分析業務邏輯,拖拽組件就能完成軟件開發。不論是專業的開發人員,還是沒有編程基礎的普通人,都可以創建復雜程度不同的軟件,自動化開發流程可以滿足加速數字化轉型的業務需求。平臺簡單易上手,極大地降低了開發門檻和人力資源投入。

自動化:自動化是提高軟件開發效率的保證。不論是開發、測試、運維,都能實現自動化。以后端開發為例,連接數據庫后,平臺自動生成庫中所有表的基本接口和 SQL 語句,開發效率提升 300%,時間成本降低 10 倍。此外,項目測試時,平臺能自動識別所有變動的接口,自動查找接口關聯的所有測試用例進行精準回歸測試。
全棧一體化:一站式 Devops 平臺不是簡單的菜單堆積,不是系統的簡單集成,也不是過 webhook 或者插件,能實現幾個系統之間簡單的信息傳遞和自動化觸發,而是像 SoFlu 軟件機器人一樣,全棧一體化,將軟件開發、測試、運維全部聯通,并且自動化執行,無需考慮與第三方平臺的集成成本。比如,由于測試平臺關聯了前后端開發平臺,一旦開發環節有所變化,測試平臺可以生成自動化的測試腳本,實現精準回歸測試。SoFlu 軟件機器人的全自動運維平臺提供 170 個接口,方便用戶精準定位問題,極大提升運維效率。
而且,SoFlu 軟件機器人已經有了成功的案例。它曾幫助國有企業中石油開發一個大型電商平臺,在 5 個 SoFlu 軟件機器人的協助下,中石油僅僅投入 9 人團隊 45 天就完成了平臺的重構及上線。而此前,中石油曾聘請外部廠商,組建了一個近二十人的開發團隊,花了約一年的時間才勉強將該電商平臺完成,且上線后,出現了系統運行不穩定、信息安全存在隱患等諸多問題。可以說,電商平臺能順利上線, SoFlu 軟件機器人在其中起到了關鍵性的作用,不僅明顯降低了項目開發難度,提升開發效率,還極大地為企業節省了人力成本和資金投入,真正實現了 “一人一項目,十人抵百人”。







