商業銀行資訊系統自動化運維的研究與實踐
行業現狀:當前商業銀行隨著網際網路的發展正經歷著快速變革,各類業務創新和交易量呈爆炸式增長、資訊系統規模及複雜程度迅速增長、雲端計算、區塊鏈等新興概念快速湧現,業務發展對IT的依賴性越來越強,同業之間的競爭已愈加趨向於產品質量和客戶體驗的競爭,行業監管愈發嚴格。對於商業銀行資訊系統而言,功能實現是根本,生產穩定執行是關鍵,在業務系統整個生命週期中,生產執行環節的週期是最長的,對業務運轉和客戶體驗有最為直接的影響。所以如何安全高效地做好資訊系統生產運維已成為商業銀行IT部門共同關注的重要課題。
商業銀行IT運維難點和痛點
商業銀行資訊系統的建設大都優先強調開發和管理流程建設,運維自動化建設工作則在其次,優先順序甚至低於測試自動化建設;業務的穩定性、健壯性要求越來越高;業務系統對IT支撐的依賴性越來越強;IT架構的複雜度不斷提高;IT部門工作職責越來越重;人員不足難以應對繁重的運維要求;IT事故直接影響客戶使用責任重大;運維成本居高不下,耗費大量人力物力財力。
日常運維過程中可固化的、例行且操作步驟複雜的工作項較多,要求操作人員具備豐富的技能。這部分工作如仍然依賴人工操作,如通過人工編寫指令碼,生產環境直接執行命令等,效率低、風險大、缺乏稽核機制,過度依賴技術人員的技術能力和工作狀態,稍有不慎就有可能出現差錯。一旦人員誤操作就可能直接導致業務損失,而商業銀行的業務損失直接影響著銀行的公信力甚至地方和國家的金融穩定。因此既需要利用自動化工具代替人工快速高效地完成這些工作,也需要嚴格的流程控制確保固化和例行的工作按照正確的步驟執行不被遺漏,並能及時發現診斷過程中出現的問題,同時要儘可能支援各應用系統的個性化需求。
自動化運維體系
交通銀行IT應用系統已實現全球一體化架構設計,建立了全球一體化運維體系。IT部門聚焦運維工作的新變化和新挑戰,務實地面對運維自動化的迫切需求,紮紮實實打牢基礎,搭建了自動化運維平臺,並逐步實現規範化、自動化、服務化、智慧化的運維體系,將平臺作為一個產品去運營打磨,更好地實現IT服務管理和價值創造。自動化運維平臺邏輯結構如圖1所示。
圖1 自動化運維平臺邏輯結構
自動化運維平臺將日常運維工作做成功能模組以服務的形式供各資訊系統按需使用。技術人員可以在平臺辦公端進行服務的配置和資訊系統基礎資訊的管理,經過稽核後即可提交生產使用。服務的輸出結果可通過電腦終端、移動終端、電話等多種形式通知和展現。服務List包含了日常巡檢、應用版本釋出、資料檔案備份、日誌集中展示、驗證、監控告警、變更、資訊系統異常處理、定時排程、實時交易量監控展示等。
自動化運維平臺嚴格控制工作流程,通過實現各流程管理要求對運維操作進行管理,避免人為操作風險,保證生產運維工作合規、安全、可追溯。例如實施生產資料變更,為了控制操作風險,都需要按一定流程進行準生產環境測試、複核、審批、生產預執行對比前後結果並回滾、生產最終執行雙人複核等,有無運維自動化體系,這都是必然要求。
自動化運維平臺對生產資料和自動化資料進行分析,並將分析結果作用於服務,包括交易執行報表、流程報表、自動化執行報表、審計報表等。例如對於應急啟停和自動化驗證作業流,平臺自動出統計報表顯示以作業流和系統為單位的呼叫情況,包括呼叫次數、成功次數、失敗次數、作業流執行耗時、報錯原因等資訊,供技術人員和管理人員進行分析和調優。
自動化服務介紹
1.驗證自動化。 自動化驗證分自動化指令碼和實時交易量場景兩個模組。技術人員在自動化運維平臺上根據需求配置自動化驗證作業流將兩者串聯起來,配置完成後的作業流即可在自動化運維平臺執行。
自動化指令碼模組,在自動化運維工具平臺提供了大而全的模板供技術人員按需挑選。預設檢查項包括檔案系統mount檢查、程序檢查、網路埠檢查、WAS資料來源連通性檢查、日誌檔案錯誤碼檢查、網路埠連通性測試、檔案更新檢查、MQ佇列管理器和通道狀態檢查、日誌錯誤碼檢查等。技術人員無需關心函式的實現方式,只需配置具體的檢查項即可,此外自動化指令碼模組還支援個性化jar包的呼叫。
實時交易量場景模組,自動化運維平臺獲取交易量管理平臺的實時交易資訊,由技術人員設定不同緯度的判斷閥值、呼叫頻率等引數,實現模擬人工對實時交易情況進行驗證。
技術人員可以授權一線值班人員或24小時執行值班人員遠端執行,也支援設定定時排程。自動化驗證作業流執行結果將在平臺展示通過訊息推送的方式發至技術人員手機。如設定定時排程作業流,如驗證結果為失敗,則生成響應告警由24小時執行值班通知技術人員確認(如圖2所示)。
圖2 自動化驗證作業流執行平臺
2.資訊系統異常處理自動化。 當資訊系統發生異常時,無需技術人員到場可以通過執行配置的作業流一鍵完成故障資訊收集、恢復、驗證(如表1所示)。
表1 資訊系統異常處理對比
發現故障:通過實時監控收到告警簡訊,並接到24小時執行值班電話通知。
故障資訊收集:例如CPU、記憶體、埠連線情況、程序、交換空間、資料庫快照,網路連線,生成JavaCore、檔案控制代碼使用情況、日誌錯誤碼資訊等。為了不影響快速恢復的原則,整體故障資訊收集時間控制在20秒以內。
快速恢復:包括摘叢集、suspendMQ、停SNA、停止應用、啟動應用、恢復MQ、啟動SNA、加叢集等。
一鍵驗證:通過自動化驗證作業流進行一鍵驗證。
3.應用版本釋出自動化。技術人員事先在自動化運維工具平臺自行配置版本釋出的各種環節,將準生產環境預釋出、備份、傳輸、解包、停服務、更新、啟服務、驗證甚至回退在同一個平臺配置好固化下來。每次版本前可以根據版本需求選擇對應的排程流程,只需更改版本日期即可實現一鍵式釋出和驗證,如驗證失敗支援一鍵回退。
主機系統更是實現了無人值守的全自動版本釋出流程。通過自動執行特殊作業、主動監測CICS狀態、主動判別DB2ENTRY資源、多程序多工釋出模式、設定啟停聯機交易場景、主動判斷資源更新級別、精確控制同步觸發停聯機交易等手段,減少了版本釋出人力成本,大大降低了操作風險,滿足了全球一體化的版本釋出需求。同時通過一系列策略的實施使得版本釋出過程對業務的影響控制在秒級。此外通過監控系統實時跟蹤釋出程序,準確判斷髮布過程對交易的影響,對安全穩定的釋出起到顯著的保障作用。
4.變更自動化。規範變更的步驟,將變更的內容標準化,形成變更模版,基於模版編寫變更的實際步驟,在自動化運維平臺配置變更計劃。確保變更在規定的變更時間視窗執行,以及變更嚴格按照既定步驟實施;確保變更與預期的目標和要求一致,並監控變更執行的結果。徹底規避變更中容易出現的不合規行為,避免變更中出現的操作風險,降低技術人員的工作量,提高變更的效率和質量;並能夠及時發現變更中出現的問題,實現兩者的聯動。變更指令碼審批通過後就可以直接啟動變更操作自動化功能,完成之後再將實施結果自動反饋到變更管理流程中,實現流程的關閉。
變更自動化還有助於簡化變更管理流程。在手工執行變更的情形下,為了控制變更風險,我們往往要求在變更申請單中附上詳細的變更實施步驟、測試報告及回退方案,長達幾頁的文件司空見慣,編寫、稽核的工作量都很大。如果實現了變更自動化操作功能,可能只需要在變更申請單上說明變更自動化功能執行的簡單步驟,相關環節可大大簡化。
5.巡檢、日誌集中展示和備份自動化。各系統部署巡檢指令碼,每日定時自動呼叫,產生格式化結果檔案在統一頁面展示,技術人員無需登入生產即可檢視詳細巡檢結果。巡檢異常資訊將會發送簡訊通知技術人員。日誌集中展示,對於分割槽較多的系統,配置應用日誌自動化傳輸作業,在統一的頁面展示日誌供技術人員查詢並提供統計分析功能,大大提升日誌查詢和問題排查的效率。備份自動化,對程式包、重要檔案和資料庫檔案按需進行自動化定時備份。
6.實時交易量監控。統一頁面展示各系統實時交易量情況,除了展示整體交易情況,技術人員按需提維度資訊需求進行配置。例如伺服器IP、分行號、渠道編號、交易碼等,並可以對不同緯度的交易情況設定監控告警,並具有歷史資訊查詢及交易量分析預測功能。
自動化運維建設成效
隨著平臺建設愈加完善、自動化服務日益豐富、使用者體驗逐步提升,我行自動化運維已成為技術部門日常工作中不可或缺的部分。日常運維工作基本不直接接觸生產,切實提升了工作效率、降低了生產風險、嚴控了操作流程。自動化做到事前全面防範、事中及時處理、事後智慧分析,保障了資訊系統這顆大心臟的穩定性,為集團快速發展保駕護航。
本文節選自《金融電子化》2018年9月刊
宣告:本文來自安全內參,版權歸作者所有。文章內容僅代表作者獨立觀點,不代表安全內參立場,轉載目的在於傳遞更多資訊。如需轉載,請聯絡原作者獲取授權。