郭玉霞



關鍵詞:國產化;業務應用;遷移;云平臺
1引言
目前,我國信息技術應用創新產業(簡稱信創)取得初步突破,涌現出了一批自主可控、安全可信的國產化軟硬件,國內企業研制的國產處理器、操作系統、數據庫、中間件等戰略性核心產品,可以滿足桌面終端、服務器、存儲設備、網絡設備的應用需求。核心芯片方面,形成了以MIPS,SPARC,ARM,ALPHA等架構為代表的系列化處理器產品。
隨著自主可控應用的推進,基于傳統X86架構的電力云平臺正逐步完成國產基礎軟硬件替代工作。通過分析電力業務典型應用系統特征,目前現有業務應用由非國產化商用環境向國產化環境遷移時,存在指令集兼容性、插件兼容性、數據庫遷移等諸多問題。針對應用本身和運行環境,可以采用自底向上的方式,對應用系統所依賴的基礎軟硬件、數據庫、中間件、集成環境進行分析。通過電力云平臺基礎技術路線選型,解決異構環境下不同基礎軟硬件組合的集成部署問題,實現最優性能與高穩定性,解決異構環境下傳統數據庫向國產數據庫遷移過程中數據表、視圖、存儲過程等差異性問題,實現快速數據遷移。通過電力云平臺異構資源環境下遷移調度技術,屏蔽底層操作系統、CPU架構差異,最終實現應用遷移規范化、標準化,提升遷移效率。
2國產化環境下遷移理論依據
目前,云平臺虛擬化技術主要基于KVM架構實現,可實現內存、CPU及網卡等資源虛擬化,大大提高了IT基礎資源的集約化水平[1]。在國產化趨勢與信創背景下,自主可控產品更新迭代快,經過幾年的系統運行,應用出現眾多版本兼容、硬件兼容等問題,產生了云平臺的國產化芯片與業務應用的適配需求。因此,采用盡量屏蔽底層硬件、操作系統、應用服務差異性的虛擬化技術和云化技術進行云平臺搭建。
2.1云計算技術
目前,主流的國產虛擬化云平臺為華為的鯤鵬云、升騰的威訊云,二者都采用了0penStaek進行云平臺建設。0penStack是一個綜合的云計算管理平臺,在0penStack項目中包含以下組件:Kevstone組件提供身份驗證、Nova組件提供計算服務,Glance組件提供鏡像服務、Swift組件提供對象存儲、Neutron組件提供網絡服務、Cinder組件提供塊存儲服務、horizon組件提供面板服務等。鯤鵬云以0penStack為原型進行自主研發,適配鯤鵬916、鯤鵬920芯片系列,而威訊云支持華為鯤鵬芯片、飛騰芯片和海光芯片。
2.2容器技術
容器技術是一個單獨的應用程序進程、運行資源的高度隔離[2]。研發人員在將代碼開發完成后,會以代碼、相關運行環境構建鏡像,測試人員在宿主機上下載服務的鏡像,使用容器啟動鏡像后即可運行服務進行測試。測試無誤后,運維人員申請機器,拉取服務器的鏡像,在一臺或多臺宿主機上可以同時運行多個容器,為用戶提供服務。在這個過程中,每個服務都在獨立的容器里運行,每臺機器上都運行著相互不關聯的容器,所有容器共享宿主機的CPU、磁盤、網絡、內存等,即實現了進程隔離、文件系統隔離和資源隔離。使用容器可以將微服務及其所需的所有配置、依賴關系和環境變量移動到全新的服務器節點上,而無須重新配置環境,這就實現了強大的可移植性以及云計算時代資源的最大化利用。
3業務應用遷移技術方案
基于電力云平臺國產化環境,在國產基礎軟件環境中現有業務應用適配遷移技術方案如下。
(1)對于典型業務系統的開發與部署模型,結合不同芯片對于云平臺的適配性以及對操作系統、開發語言、云服務組件的支持能力,同時根據是否基于微服務框架開發,合理制定國產化適配改造技術路線,推動建立典型業務應用基礎軟硬件整體集成架構模型,如圖1所示。
(2)通過異構環境下自適應基礎軟硬件集成部署技術,解決業務應用依賴于操作系統、數據庫等關鍵基礎軟硬件的問題。
集群規劃與自動化部署技術。通過集群規劃的表示及解析技術,利用JSON等形式化語言對集群實例、具體信息配置、部署的軟件、軟件路徑等信息進行統一表示,形成規劃文件[3]。分布式軟件自動化部署引擎負責對規劃文件進行校驗與解析,并通過ssh等網絡協議將軟件分發到具體服務器。服務器端負責解析引擎傳輸的信息和軟件介質,執行自動化命令,完成軟件部署。如圖2所示。
統一配置管理及更新技術。通過分布式協調等基礎設施,將軟件的配置進行集中管理,當配置發生變動時,統一推送到集群中的所有節點,實現配置的統一管理及自動化更新。
(3)異構環境下主動適配國產數據庫遷移與性能優化技術。
3.1數據庫主動適配遷移技術
國產自主可控數據庫適配是應用系統平滑遷移的關鍵[4]。將應用系統從oracle等主流商業數據庫遷移到國產數據庫也是業務應用自主可控的關鍵點。本文提出了國產數據庫主動適配遷移工具架構(圖3),該架構能夠在數據庫腳本遷移、歷史數據遷移過程中避免產生大量的系統改造工作。國產數據庫主動適配遷移工具架構從以下兩個方面進行數據庫遷移適配:(1)簡單應用的自動適配技術。針對簡單應用,利用數據庫連接引擎的主動適配技術,可以避免修改應用系統代碼。通過對數據庫適配進行一系列數據庫操作方法的封裝,包括連接,斷開數據庫,執行soL等,從而能夠根據所使用的物理數據庫類型的不同,采用不同的數據訪問引擎接口,對外以Java Jar或其他語言的庫包方式,使數據訪問服務本身的應用能更好地屏蔽數據庫接口的差異;(2)復雜應用的數據腳本改造技術。根據差異性分析結果,通過不同數據庫之間操作語句自動轉換的腳本工具,實現數據定義語言(DDL)與數據操縱語言(DML)的自動化轉換,配合語言自動掃描工具,在減少轉換工作量的同時,提升轉換質量。
3.2數據庫訪問性能優化技術
(1)異構數據庫連接池管理技術。數據訪問連接池是數據庫訪問性能的最重要環節之一,良好的、面向多數據庫的統一連接池能夠減少高速數據訪問中頻繁創建數據庫連接、釋放數據庫連接的耗時,滿足客戶端的服務請求,避免服務請求長時間無響應。
(2)數據操作及傳輸的優化策略設計技術。國產化環境下,由于硬件性能較低,請求響應時間相對較長。為了避免用戶在查詢大量數據(如十萬條以上)時,用戶界面長時間得不到響應,數據訪問服務需要設計為特定優化策略。
3.3異構環境基于容器化的應用遷移調度技術
容器技術是面向微服務架構的主流類虛擬化技術,在X86架構下已經廣泛使用。但是,容器虛擬化能力依賴于操作統,容器化的功能范圍、性能情況在不同操作系統、芯片組合下都有不同表現。隨著微服務架構的應用深入,基于Docker容器的應用系統部署方式逐步成為主流。相對于傳統的虛擬機技術,Docker容器技術具有輕量化、高性能等特點,也是實現應用系統安全可控遷移的主要技術路線。
與原生部署應用不同,Docker在應用和操作系統之間進行了隔離。為了實現完整支撐,Docker自身已經形成一個生態,包括Docker鏡像、鏡像倉庫、組網方式、數據訪問、鏡像編排與調度等[5]。通過搭建面向多種主流國產操作系統的Docker生態環境,提供自動化整體部署能力,支持應用系統改造過程中環境及工具支撐需求。
3.4生產應用系統在線冷熱應用遷移技術
業務應用系統在遷移過程中可以按照標準模式完成跨平臺遷移。通過跨平臺遷移方案和工具,結合云原生理念對真實業務系統進行全國產化芯片改造,并基于標準優化方法對完成遷移改造后的應用系統進行性能優化,保證業務系統改造完成后在功能、穩定性和性能方面均可完全滿足并超越當前需求。
4結束語
目前,業務系統主要包括四類業務應用,即傳統單體架構部署應用、虛擬化部署應用、容器化部署應用、微服務部署應用。根據各業務系統技術難度、業務復雜度、影響面和應用范圍等因素,按照先易后難、逐步推進的方式上云。針對電力業務應用系統特征,現有業務應用在由非國產化環境向國產化環境遷移時,涉及基礎軟硬件平臺、開發語言、實現架構等各個方面,需要結合應用系統自身和運行環境等多個方面進行具體分析,以確定遷移內容和方法。基于國產虛擬化環境,通過異構環境下業務應用遷移方案,可以提高業務系統運行整體安全性,同時通過軟硬件優化技術,實現系統整體運行性能提高5%,為后續更大范圍地開展業務應用自主可控安全替代提供技術支撐。