大家下午好,我是來自國網信產研究院的劉迪,下面和大家分享的主題是“讓軟件開發在云端化紛為簡”。
國網信產集團是國家電網公司的一家全資子公司,員工人數大概是8000人,去年營業收入是250億元,下屬10家二級單位和15家三級單位,業務涵蓋咨詢、信息、通信、芯片、數據、集成、運維、安全和北斗位置,我們的目標是助力國家電網公司建成全球規模最大的電力專用中心網,助力國家電網公司建成央企領先的一體化集團信息系統,助力國家電網公司建成國家先進的網絡安全防護體系。
國家電網公司十分注重企業的信息化建設,過去的十年當中業務系統大概從30套左右增長到240套,大量的系統研發從傳統的單極架構演變成現在的微服務架構,開發人員大概有2萬余名,業務系統240多套,整個內外部廠商加起來150余家。
國網公司從2014年開始推進IaaS建設,2016年開始推進混合云建設,但是研發方面仍然存在研發質量、研發進度和研發成本的諸多問題。2017年開始我們研究院作為牽頭部門開始梳理整個國網公司的研發能力提升的專項工作,整理出了四個存在的主要問題,這些問題可能也是存在于相對特殊的企業內部,不一定所有單位都適用。
協同研發的支撐不足,整個研發模式下各個單位都依賴于制度管控,缺乏統一的管理方式。針對越來越多的敏捷開發場景缺乏有效的迭代升級機制,離岸開發溝通成本偏大。
研發環境日益復雜,底層研發環境越來越多地依賴于容器、微服務等相對復雜的技術,之前極端的情況下給大家臺式機和刀片服務器,幾個同事就可以開始研發,現在部署環境相對依賴云,所以整個研發支撐環境變得特別復雜。
微服務門檻持續提升,因為供應商相對比較多,所以技術門檻也不太一致。
研發安全缺乏有效保證,國網公司對信息安全非常重視,目前研發環境非常分散,沒有統一的保證機制。項目過程當中采用大量第三方開源組件,哪怕使用同樣的開源組件,獲取的渠道也不是十分一致,directadmin安裝,或者整個版本也不一致,這樣對整個安全漏洞修復相關工作會有比較大的影響。
核心代碼缺乏統一管控和防護,就是代碼在轉到運維之前都是掌握在各自的開發廠商手里。
持續交付能力不足,云原生應用缺乏一體化持續交付的手段,線下交付方式導致研發和交付的版本不一致,特別是針對迭代開發的場景,不僅僅是開發和運行的不一致,因為國網公司的要求是必須經過獨立機構的第三方測試,甚至是整個研發、測試和運行的所有版本都不一致,確實沒有有效的手段去控制。
我們的工作也和互聯網廠商、企業應用IT廠商進行交流,總結研發平臺的發展趨勢,包括研發工具和過程管理相結合。之前很多做研發工具的就是做研發工具,做過程管理的就是做過程管理,我們這樣的企業非常多地出現研發和管理的兩層皮,更多的廠商也開始做基于瀏覽器的外部開發工具,更多的企業進行研發資源的集中管控,更加強調分布式的協作,不管是互聯網公司還是企業更加強調建設自己的生態圈。
基于我們以上的調研和分析,基于過去十年國網公司研發工具,我們提出了一體化開發云,希望實現云端項目的協同管理和線上開發、線上測試、線上整改和線上發布。這里包含幾個部分:訪問端、工作臺、研發路線組件、研發管理組件、配置管理組件和云基礎設施,機器保障和隊伍建設。訪問端不是我們做的,我們是支持多種訪問方式,包括傳統的PC機,也包括新的終端機。云基礎設施也不是我們的項目范圍,依賴于國網公司自己的私有云,體系保障和隊伍保障是我們認為國家電網公司推行產品的時候必然會對過去的傳統研發模式造成比較大的沖擊,保證項目和新的研發方式能夠順利推進。
我們的工作集中在這樣幾個部分:工作臺是開發云提供的統一窗口,保障研發環境的封閉,所有的研發人員和管理人員都要通過工作臺統一登錄。項目核心就是研發流水線的支撐組件,也是基于之前的SKP進行一系列的改造,研發管理組件就是為統一的研發過程提供管理和同步支撐,配置管理組件就是負責統一的代碼倉庫構建,為代碼安全和版本配置提供支撐。
這些就是經過試點我們總結的一體化開發云核心能力新的體驗:敏捷化項目管理、云端代碼檢測、原生云應用開發、流水線持續交付。我們的目標是讓軟件開發更加智能、更加協同、更加便捷,使得軟件開發向制造邁進,更多的是解決我們企業內部的研發過程當中存在的問題。