引言
還記得我們在《從三個場景看如何玩轉(zhuǎn)元數(shù)據(jù)應(yīng)用》文章中提到的第一個應(yīng)用場景,元數(shù)據(jù)對比分析——讓系統(tǒng)上線/變更高效、可控嗎?還記得苦逼的程序員們在系統(tǒng)上線當天徹夜加班排查上線腳本問題的場景嗎?我們給出的辦法使用元數(shù)據(jù)對比分析場景來解決這類問題,那么北京銀行科技部門是如何借助元數(shù)據(jù)管理工具實現(xiàn)IT運營效率的提升,本文會對這個元數(shù)據(jù)項目重點建設(shè)內(nèi)容進行介紹。
多階段元數(shù)據(jù)劃分
首先來了解下多階段元數(shù)據(jù)是如何劃分的、存儲介質(zhì)有哪些,其實在元數(shù)據(jù)完整的生命周期中,有三個關(guān)鍵的形態(tài),設(shè)計態(tài)、測試態(tài)和生產(chǎn)態(tài)。通過對元數(shù)據(jù)三個形態(tài)的管理,就能夠?qū)崿F(xiàn)對元數(shù)據(jù)全生命周期管理領(lǐng)域的重點覆蓋,從而達到對元數(shù)據(jù)管理提綱挈領(lǐng)的效果。
三個不同形態(tài)是根據(jù)軟件開發(fā)的不同階段來劃分的。軟件開發(fā)一般分為需求、設(shè)計、開發(fā)、測試、部署上線和運維等六個階段,在軟件開發(fā)的三個關(guān)鍵階段會產(chǎn)生不同形態(tài)的元數(shù)據(jù)。
1、軟件設(shè)計階段,通常會對系統(tǒng)的邏輯模型、物理模型進行設(shè)計,就會產(chǎn)生設(shè)計態(tài)的元數(shù)據(jù)。它的存儲介質(zhì)一般是ERWin、PowerDesigner之類的模型設(shè)計工具,再簡單一點可能是Excel、Word文檔。
2、軟件集成測試階段,會對系統(tǒng)功能進行測試,需要在測試環(huán)境部署一套系統(tǒng),那么從測試環(huán)境獲取到的元數(shù)據(jù)就是測試態(tài)的元數(shù)據(jù)。通常存儲介質(zhì)一般有關(guān)系型數(shù)據(jù)庫,例如Oracle、DB2、Mysql、Teradata等等,復雜點的非關(guān)系型數(shù)據(jù)庫,例如:MongDB、HBase、Hive、Hadoop等。
3、部署上線階段,當軟件部署到生產(chǎn)環(huán)境,投入生產(chǎn)運營。從生產(chǎn)環(huán)境獲取到的元數(shù)據(jù)可以稱為生產(chǎn)態(tài)元數(shù)據(jù)。生產(chǎn)態(tài)元數(shù)據(jù)存儲介質(zhì)和測試環(huán)境一般差異不大,只是換了一個環(huán)境而已。
接下來我將結(jié)合北京銀行元數(shù)據(jù)管理項目案例進行具體說明多階段元數(shù)據(jù)的管理。
北京銀行急需提升IT運營效率
北京銀行整體IT系統(tǒng)建設(shè)已經(jīng)達到一定的規(guī)模,已應(yīng)用的IT系統(tǒng)有100個左右。隨著業(yè)務(wù)的不斷發(fā)展,這些系統(tǒng)的日常變更也較為頻繁,每周都會存在相應(yīng)的變更上線操作。從管理模式上看,變更的管理是以系統(tǒng)為基礎(chǔ),以項目為中心進行管理,如何保證系統(tǒng)日常變更的設(shè)計與實施上線的變更的一致性,使頻繁、復雜的系統(tǒng)上線變的簡單、可控、可跟蹤,從而使系統(tǒng)更好的服務(wù)于業(yè)務(wù)部門,是北京銀行科技部門重點建設(shè)的能力。
多階段元數(shù)據(jù)一致性分析保證系統(tǒng)安全上線
基于北京銀行元數(shù)據(jù)管理需求,我們按照以管理流程為依據(jù),以元數(shù)據(jù)管理系統(tǒng)為技術(shù)支撐,以事前預防+事后監(jiān)督為重點功能的建設(shè)思路。通過流程的落地執(zhí)行,實行對多階段元數(shù)據(jù)統(tǒng)一管理,保障設(shè)計與實際上線變更一致性,來推進變更管理、IT流程管理規(guī)范化。
上圖是北京銀行多階段元數(shù)據(jù)管理架構(gòu),通過這張圖我們可以看清多階段元數(shù)據(jù)管理思路以及實現(xiàn)多階段元數(shù)據(jù)比對應(yīng)用場景要解決的關(guān)鍵三個問題。
1、不同形態(tài)元數(shù)據(jù)的獲取
借助普元元數(shù)據(jù)管理產(chǎn)品Primeton MetaCube強大的采集適配器能力,可以將不同形態(tài)的元數(shù)據(jù)采集到元數(shù)據(jù)存儲庫來進行管理。由于采集適配器不是本文的重點內(nèi)容,這里不展開說明。
2、元數(shù)據(jù)變更管理流程
業(yè)務(wù)系統(tǒng)發(fā)生需求變更或功能模塊升級導致表結(jié)構(gòu)變更時,需要在元數(shù)據(jù)管理系統(tǒng)中發(fā)起申請流程,提交設(shè)計態(tài)元數(shù)據(jù)進行備案。功能開發(fā)完成后,部署到測試環(huán)境,由待發(fā)布環(huán)境元數(shù)據(jù)系統(tǒng)獲取測試態(tài)元數(shù)據(jù),將元數(shù)據(jù)變更在生產(chǎn)環(huán)境部署前與設(shè)計態(tài)元數(shù)據(jù)對比,比對一致上線部署,不一致駁回上線申請流程。元數(shù)據(jù)變更在投產(chǎn)上線完成后,生產(chǎn)環(huán)境元數(shù)據(jù)系統(tǒng)會采集生產(chǎn)態(tài)元數(shù)據(jù),并再次與設(shè)計態(tài)元數(shù)據(jù)進行對比,實現(xiàn)對元數(shù)據(jù)變更的事后核查。通過三個不同形態(tài)元數(shù)據(jù)的比對分析,達到事前風險預警+事后變更核實的管理效果。元數(shù)據(jù)變更管理流程如下圖:
3、多階段元數(shù)據(jù)一致性比對分析
元數(shù)據(jù)一致性比對是實現(xiàn)多階段元數(shù)據(jù)管理的核心功能,也是支持元數(shù)據(jù)變更流程核心功能。下圖是元數(shù)據(jù)比對功能的三維立方體。對于不同形態(tài)、不同類型的元數(shù)據(jù)都可以實現(xiàn)比對,比對內(nèi)容包括對象本身、對象屬性、對象的關(guān)系等等。
多階段元數(shù)據(jù)一致性分析實施方法
通過獨立部署三套元數(shù)據(jù)系統(tǒng)環(huán)境,包括測試環(huán)境、待發(fā)布/準生產(chǎn)環(huán)境和生產(chǎn)環(huán)境,分別對應(yīng)設(shè)計態(tài)、測試態(tài)和生產(chǎn)態(tài)的元數(shù)據(jù)管理。
測試環(huán)境
測試環(huán)境為非受控環(huán)境,用于各項目組的一些開發(fā)測試工作,項目組可根據(jù)需要操作元數(shù)據(jù)管理系統(tǒng),測試環(huán)境的元數(shù)據(jù)不作為下游元數(shù)據(jù)的來源。
待發(fā)布環(huán)境
待發(fā)布環(huán)境為受控環(huán)境,操作人員必須滿足相應(yīng)的流程規(guī)定方可進行相應(yīng)的操作。該環(huán)境僅對個項目負責人開放,用于提交各自上線方案中涉及的數(shù)據(jù)結(jié)構(gòu)變更等應(yīng)用。
生產(chǎn)環(huán)境
生產(chǎn)環(huán)境元數(shù)據(jù)完全是生產(chǎn)系統(tǒng)實際情況的反映,其數(shù)據(jù)的更新依賴于元數(shù)據(jù)采集過程,可采用自動采集或手動采集過程,但原則上不允許手工調(diào)整,最大程度保證其對實際環(huán)境的真實反映。
待發(fā)布環(huán)境與生產(chǎn)環(huán)境是元數(shù)據(jù)管理的重點,三個環(huán)境的元數(shù)據(jù)在元數(shù)據(jù)系統(tǒng)上線之初通過自動采集功能,統(tǒng)一進行元數(shù)據(jù)采集,此時三者存儲的元數(shù)據(jù)都與生產(chǎn)環(huán)境完全一致。
在各項目的負責人發(fā)起元數(shù)據(jù)變更申請流程后,管理員需要使用元數(shù)據(jù)多階段比對功能,此功能主要包括比對規(guī)則的設(shè)置、比對任務(wù)執(zhí)行和比對結(jié)果展現(xiàn)三個功能模塊。通過比對規(guī)則管理,設(shè)置比對檢驗規(guī)則,例如設(shè)置那些元數(shù)據(jù)對象、那幾個屬性參與比對,是否忽略大小寫等。設(shè)置完規(guī)則后,選擇要比對的兩個元數(shù)據(jù)對象生成比對任務(wù),比對任務(wù)運行成功后,便可以查看比對報告。如下圖所示:
北京銀行元數(shù)據(jù)管理平臺建設(shè)效果
在沒有建設(shè)元數(shù)據(jù)管理體系之前,北京銀行一項系統(tǒng)變更要經(jīng)過幾輪評審后,才能夠進行上線部署,且一旦上線變更與評審內(nèi)容略有誤差,導致ODS、分析應(yīng)用等下游系統(tǒng)的被動調(diào)整,影響了整體IT運營效率,使得本來三天可以搞定的系統(tǒng)變更持續(xù)了一周。
元數(shù)據(jù)系統(tǒng)投入運行后,通過對三個關(guān)鍵階段元數(shù)據(jù)的管理,使得IT部門能夠及時的獲知業(yè)務(wù)系統(tǒng)的變更方案,協(xié)同受影響的下游系統(tǒng)同時變更。使得變更上線簡單、可控,提升了IT運行整體效率。