李德俊,黃洪濤
(1.南方電網(wǎng)財務(wù)公司,廣東 廣州 510623;2.南方電網(wǎng)數(shù)字電網(wǎng)研究院有限公司,廣東 廣州 510623)
為了解決隨著企業(yè)發(fā)展和成長中對于IT 需求的日益提升,面向服務(wù)的架構(gòu)(Service-Oriented Architecture,SOA)自提出到被普遍認可和接受,再到目前應(yīng)用普及和成熟已有20 多年的時間,在領(lǐng)域的應(yīng)用經(jīng)歷了Web Service、企業(yè)服務(wù)總線(ESB)等不同階段。目前容器化、微服務(wù)等最新的IT 架構(gòu)理念又賦予了服務(wù)治理更豐富內(nèi)涵。
近年來,各大金融機構(gòu)都開始推動服務(wù)化進程,希望通過接口的服務(wù)治理解決IT 系統(tǒng)架構(gòu)的問題。就目前國內(nèi)銀行與其他金融機構(gòu)的SOA 架構(gòu)建設(shè)情況而言,多數(shù)在實施企業(yè)服務(wù)總線的過程中,是基于目前遇到的一些IT 困難而建設(shè)的,沒有從整體IT 架構(gòu)出發(fā),沒有考慮到未來發(fā)展的需要,因此在建設(shè)過程中重基礎(chǔ)設(shè)施建設(shè),輕標(biāo)準(zhǔn)和規(guī)范的建設(shè)。直接導(dǎo)致很多金融機構(gòu)的SOA 建設(shè)有一定的盲目性,在這種情況下,基于SOA 的服務(wù)治理工作的作用就變得十分關(guān)鍵,通過開展服務(wù)治理,建設(shè)適合于本企業(yè)長遠戰(zhàn)略發(fā)展的服務(wù)目錄,穩(wěn)步保證為了企業(yè)系統(tǒng)架構(gòu)的可持續(xù)化、規(guī)范化的發(fā)展方式[1]。
縱觀大單體時代企業(yè)IT 架構(gòu)的各種問題,整理歸納下來可以概括為以下幾個方面:企業(yè)膨脹、邏輯浪費、私約對抗公約、缺乏本征互操作性。
本文對上述的4 個問題進行具體討論,發(fā)現(xiàn)了基于SOA的服務(wù)治理方法論,以期解決IT 架構(gòu)與戰(zhàn)略級的矛盾。
企業(yè)需要不斷成長,規(guī)模必然要不斷擴大,而IT 架構(gòu)的復(fù)雜性大部分來源于企業(yè)的這種膨脹,這種膨脹包括業(yè)務(wù)產(chǎn)品的更新和擴大,組織管理架構(gòu)的調(diào)整和規(guī)模擴大,以及不斷面臨的新技術(shù)挑戰(zhàn)和同業(yè)競爭壓力,而面對這種企業(yè)膨脹的問題,服務(wù)治理同樣不是銀彈,服務(wù)治理同樣沒辦法保證永遠不去重構(gòu)系統(tǒng)。軟件系統(tǒng)也有使用壽命,對于軟件系統(tǒng)的每一次修改和維護,既是它的升級優(yōu)化,也是它的折舊磨損,最終每個系統(tǒng)以及系統(tǒng)之間還是會形成一個“泥球”,任何一種方法論都不能對抗熵增。因此,服務(wù)治理的價值和意義就在于通過規(guī)范的手段,盡可能地延長系統(tǒng)的“壽命”,讓其從設(shè)計之初就具備極高的素質(zhì),并且在后續(xù)不斷地迭代中保持統(tǒng)一的顆粒度和尺度。
邏輯浪費是金融機構(gòu)和普通企業(yè)最常見的IT 資源和資產(chǎn)上的浪費,盡管從底層代碼的開發(fā)上人們就一直強調(diào)DRY原則(Don’t Repeat Yourself),但是邏輯浪費這個問題依然無法避免,從小的方面來看包括接口功能上的重疊、接口冗余、缺乏復(fù)用,從大方面來看包括系統(tǒng)邊界不清、缺乏領(lǐng)域邊界管理,但也不能苛求開發(fā)人員和業(yè)務(wù)架構(gòu)師對所有領(lǐng)域的服務(wù)都了如指掌,對所有IT 資產(chǎn)都事無巨細,所以服務(wù)治理的指導(dǎo)原則之一就是通過全面、統(tǒng)一的編排,重新梳理IT 資產(chǎn),使資源不再浪費。
私約對抗公約的根源就在于系統(tǒng)壁壘和領(lǐng)域壁壘的問題,而這些問題則廣泛存在于企業(yè)級的IT 領(lǐng)域,多數(shù)情況下,如果不是一個純粹的IT 企業(yè),都存在一定的問題,尤其是在金融領(lǐng)域。這是因為企業(yè)內(nèi)部的系統(tǒng)在傳統(tǒng)建設(shè)思維下,都是一個又一個的系統(tǒng)孤島,彼此間沒有約束和管理。長期下來不斷地形成系統(tǒng)彼此間的“私約”,導(dǎo)致這種鏈路構(gòu)成不斷地固化,進而喪失靈活性。而服務(wù)治理工作所推動的服務(wù)契約(包括服務(wù)接口協(xié)議、服務(wù)操作協(xié)議、服務(wù)水平協(xié)議)就是在構(gòu)建一個全行級系統(tǒng)間的“公約”,形成一個明文的約束,并形成制定規(guī)范、推行規(guī)范、檢查約束、違約仲裁的管理體系。
本征互操作性低是指接口間缺乏有效對齊,每個接口都有自己的操作規(guī)范和要求,這樣的設(shè)計如何才能實現(xiàn)服務(wù)的快速編排、快速組合呢?就像人們本想像拼接樂高一樣組合業(yè)務(wù),但卻發(fā)現(xiàn)手里的積木根本插不到一起去,服務(wù)治理和服務(wù)治理平臺就是一個“積木工廠”,把每一個接口都規(guī)范化、標(biāo)準(zhǔn)化,實現(xiàn)數(shù)據(jù)對齊,上下文統(tǒng)一,為快速搭建業(yè)務(wù)流程提供助力。
關(guān)于服務(wù)治理在IT 架構(gòu)戰(zhàn)略中投資回報的問題,不要從眼前的短期收益著手,如果每一次都把IT 資源和資產(chǎn)設(shè)計成可以被重復(fù)使用的形式,則這個資源在第一次被使用之后的每一次復(fù)用都是在節(jié)約成本,如圖1 所示,所以在進行ROI 分析的過程中人們往往會忽視服務(wù)設(shè)計的成本是分攤在后續(xù)的每一次復(fù)用中的,隨著企業(yè)膨脹,這種投資回報率的優(yōu)勢將不斷地凸顯,并且通過這種快速高效的復(fù)用,實現(xiàn)業(yè)務(wù)的敏捷開發(fā)高效落地。
圖1 服務(wù)治理對于業(yè)務(wù)落地在代際版本間的投入影響
另外,需要關(guān)注的是服務(wù)治理收益體現(xiàn)的是一個長期的過程,短期來看,積極的服務(wù)治理比不做服務(wù)治理投入了更多的治理成本(比如服務(wù)設(shè)計花費的時間,不合理服務(wù)的改造成本,服務(wù)發(fā)布、變更、下線均需要走流程審批的成本),但當(dāng)企業(yè)業(yè)務(wù)進入急速爆發(fā)期時,積極的服務(wù)治理在前期投入的成本會極大地助力企業(yè)快速擴張,產(chǎn)出極高效益。所以,往往對于服務(wù)治理不認同的觀點輿論中,普遍是關(guān)注了服務(wù)治理的短期收益,卻沒有注意到服務(wù)治理的長期效益,以及對企業(yè)中長發(fā)展的裨益。服務(wù)治理收益曲線如圖2 所示。
圖2 服務(wù)治理收益曲線
綜上所述,服務(wù)治理就是通過對業(yè)務(wù)的抽象形成業(yè)務(wù)理想模型,并通過一系列的手段和過程使得真實業(yè)務(wù)系統(tǒng)向理想模型過渡。
同時,服務(wù)治理是一個引導(dǎo)業(yè)務(wù)系統(tǒng)向理想模型趨近的一種手段和過程。服務(wù)治理是SOA 治理中一個重要的組成部分,是一個決策和責(zé)任框架,用來鼓勵SOA 化中所期待的行為發(fā)生。所以,服務(wù)治理的參與者就必須進行各種決策并制訂相應(yīng)的策略。IT 架構(gòu)SOA 化就是通過一系列特有的技術(shù),降低了系統(tǒng)故障的風(fēng)險。ESB 平臺提供的服務(wù)調(diào)用權(quán)重控制、交易流量管理、服務(wù)健康檢測、故障隔離、交易監(jiān)控等行之有效的措施,有效降低了維護、管理的難度[2]。