王鑫


[摘 要]隨著智能油田信息化建設的發展,軟件項目數量逐年遞增,在傳統的集成項目管理模式下,項目開發過程中的問題日益突顯。比如:源碼在項目生命周期沒有受控,后期運維風險較大;只能在項目后期進行交付,難以控制開發進度;異地開發給項目集成、交付帶來困難;集中提供開發集成、測試服務器,因為項目需求差異難以高效管理運維,可能造成管理混亂、資源浪費的局面;由開發階段到測試、上線、運維,每個階段的部署遷移都會帶來一定的培訓、安裝調試以及溝通成本等,以上這些問題是每個項目存在的普遍問題。因此,對于智能油田這樣大體量的規模建設,這些問題帶來的風險、制約將被成倍擴大,成為智能油田發展道路上的阻礙。
[關鍵詞]智能油田;docker容器;開發環境;項目管理
doi:10.3969/j.issn.1673 - 0194.2020.18.037
[中圖分類號]F270.7;TP311.13[文獻標識碼]A[文章編號]1673-0194(2020)18-00-02
1? ? ?智能油田建設中Docker技術概述
1.1? ?目的和意義
本文研究智能油田建設中Docker技術的目的是給新疆油田智能油田建設提供一套從系統研發、部署到后期運維的整體解決方案。該方案提供相對隔離的項目開發環境,以便捷、友好、按需訪問的方式共享物理及虛擬資源(包括網絡、服務器、存儲、應用和服務),為軟件項目開發及運維全過程提供服務。①隔離的項目開發與測試環境,項目代碼和資源得到有效控制,保障項目資產安全。②統一的技術框架與開發環境,保障軟件系統架構的合理性和可讀性,保障統一運維隊伍的可行性。③實施項目的精細化管理,通過業界成熟的項目管理軟件,規范項目管理流程,準確評估項目運行狀態并及時應對,使項目開發過程得到有效管理,準確評估項目運行狀態。④通過成熟的云管理工具,大幅提升開發、測試、部署項目全生命周期生產效率,降低管理難度,確保開發、測試環境的穩定性和可維護性。
1.2? ?設計思想
采用近年來在業界流行的Docker容器技術對軟件開發云管理系統進行研發,以相應的開發規范和管理辦法為指導方向,項目運行監控和代碼集成檢查為執行準則,實現一體化開發、測試、上線、管理體系。
2? ? ?智能油田建設中Docker技術研究內容
2.1? ?總體設計
軟件開發云管理系統底層以Docker容器技術和Kubernets集群管理技術為主線進行研發,整合虛機資源,并進行集群管理;通過部署容器方式實現,每個容器之間互相隔離,每個容器有自己的文件系統,容器之間的進程不會相互影響,能區分計算資源;通過從源碼倉庫獲取項目源碼到自動持續集成編譯、構建鏡像實現應用的持續發布;通過系統設置實現用戶空間隔離、用戶權限分配。
2.2? ?功能架構設計
軟件開發云管理系統主要由容器服務、持續交付、自動化運維、高效DevOps、模塊管理等主體功能模塊構成,具體如圖1所示。
2.2.1? ?容器服務設計
整合底層服務器的資源,進行容器集群管理,容器間相互隔離,調度與分配智能化的資源,支持負載均衡、彈性伸縮、高可靠,應用容器化,一個應用可包含多個容器服務。
2.2.2? ?持續交付設計
以鏡像方式封裝服務;服務間可調用相關配置文件;摒除環境異構問題,實現一次構建隨處運行,并可以獨立管理應用交付每個環節;鏡像與應用關聯;當有鏡像Push或者構建成功時應用可以自動進行灰度發布。
2.2.3? ?自動化運維設計
可視化性能監控,包括容器使用狀況、主機健康狀態;可視化資源管理,管理容器CPU、內存、網絡、進程資源;可視化主機管理;智能化的資源調度與分配。
2.2.4? ?高效DevOps設計
DevOps(開發運維一體化)以可視化Flow流程的方式,構建開發測試流水線,實現編譯、集成、打包、測試、發布的自動化;提供標準化階段任務,可快速定義流程任務;設置自動觸發規則觸發流水線;制品倉庫管理,存放多種鏡像文件;上線流程審批,通過設定審批人審批通過后可實現應用的直接部署。
2.2.5? ?模塊管理設計
系統可以從互聯網獲取豐富的應用模版,同時用戶可以創建自定義的應用模版,并配置相應模版的訪問權限;導入應用模版的功能可以將互聯網模版快速導入系統中。
2.3? ?技術架構設計
軟件開發云管理系統整體分為以下4部分:①底層服務資源整合,租戶權限控制,隔離開發測試運行項目,容器資源監控;②項目源代碼進行集中式的代碼倉庫管理,實現完整的源碼入庫、打包、編譯、發布、出庫管理流程,確保代碼的完整性、正確性;③項目開發、測試環境,搭建在容器云管理環境基礎上,按項目提供相互隔離、可彈性擴展伸縮的開發、測試環境,定制自動化開發、編譯、打包、發布、測試流水線,實現持續集成、持續交付,統一的精細化項目管理;④項目快速移植。其中,圖2是軟件開發云管理系統技術架構設計。
2.4? ?規范制度設計
為了確保軟件開發云管理系統順暢運行,并能在整個生命周期每個階段發揮各個角色的作用,項目單位需要制定相應的規范制度為此“保駕護航”,根據現有管理制度,制定《平臺集成項目管理辦法》,依據項目管理辦法各個階段設定的流程,制定相應的規范、模板、檢查表等,保證平臺正常運行。
3? ? ?應用效果
本項目集成管理各研發團隊,對傳統的基礎設施資源進行集群化管理,可動態擴展資源,為研發團隊提供標準化的開發、測試、交付環境,實現軟件交付的全過程流水線化,加速產品迭代;實現業務持續創新,快速交付;實現跨云、跨環境的管理基礎資源共享,有效解決傳統軟件開發模式下效率低、返工率高、成本高、協作差、系統穩定性不高等問題,促進新疆油田軟件開發模式變革。
主要參考文獻
[1]周正午,盧朝霞.基于面向服務架構的異地醫保系統研究[J].網絡與信息,2007(12):76-77.
[2]陳傳波,張彬彬.面向服務架構的遷移方法研究[J].計算機工程與科學,2008(2):128-130.
[3]黃小慶,關維德,周宇,等.面向服務架構中的服務分類及其應用
[J].計算機集成制造系統,2009(9):1844-1853.