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 軟件機器人在其中起到了關鍵性的作用,不僅明顯降低了項目開發難度,提升開發效率,還極大地為企業節省了人力成本和資金投入,真正實現了 “一人一項目,十人抵百人”。

免責聲明:本文僅代表作者個人觀點,與每日科技網無關。其原創性以及文中陳述文字和内容未經本站證實,對本文以及其中全部或者部分内容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關内容。
本網站有部分内容均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責,若因作品内容、知識産權、版權和其他問題,請及時提供相關證明等材料并與我們聯系,本網站将在規定時間内給予删除等相關處理.

