業(yè)務系統(tǒng)數(shù)據(jù)庫向開源和分布式過渡,運維人員要Get哪些技能?

在現(xiàn)今云計算、大數(shù)據(jù)等新型技術推動下,業(yè)界主流的應用架構,正由松耦合、集中式的 SOA 架構向解耦合、分布式的微服務架構發(fā)展,運維人員的工作方式也正在由煙囪式運維、人工運維向自動化、流程化、平臺化、智能化運維轉變。

【摘要】傳統(tǒng)金融行業(yè)的業(yè)務系統(tǒng)所采用的數(shù)據(jù)庫,正在從老牌廠商的 Db2 、 Oracle 等逐漸過渡至開源數(shù)據(jù)庫或國產(chǎn)新興的分布式數(shù)據(jù)庫。技術路線的變化同時也帶來了工作方式的轉變,傳統(tǒng)數(shù)據(jù)庫運維人員在這一輪發(fā)展浪潮中會遇到哪些挑戰(zhàn)?如何應對這些挑戰(zhàn)?

【作者】王旭叢,現(xiàn)任某金融機構科技項目經(jīng)理,具備多年銀行核心系統(tǒng)運維經(jīng)驗和分布式技術實踐經(jīng)驗,長期致力于私有云、分布式數(shù)據(jù)庫技術、智能運維領域的研究和實踐。

一、概述

在現(xiàn)今云計算、大數(shù)據(jù)等新型技術推動下,業(yè)界主流的應用架構,正由松耦合、集中式的 SOA 架構向解耦合、分布式的微服務架構發(fā)展,運維人員的工作方式也正在由煙囪式運維、人工運維向自動化、流程化、平臺化、智能化運維轉變。在“去 IOE ”、“自主可控”的技術和政策雙重背景下,傳統(tǒng)金融行業(yè)的業(yè)務系統(tǒng)所采用的數(shù)據(jù)庫,正在從老牌廠商的 DB2 、 Oracle 等逐漸過渡至開源數(shù)據(jù)庫或國產(chǎn)新興的分布式數(shù)據(jù)庫。技術路線的變化同時也帶來了工作方式的轉變,傳統(tǒng)數(shù)據(jù)庫運維人員在這一輪發(fā)展浪潮中會遇到哪些挑戰(zhàn),以及應該如何應對這些挑戰(zhàn),這些問題成為各位管理員們首先要思考的問題。筆者結合自身工作經(jīng)歷整理了點滴感悟與各位分享。

二、新形勢下的挑戰(zhàn)

1、運維成本大幅提升

傳統(tǒng)數(shù)據(jù)庫運維人員面對的數(shù)據(jù)庫往往是各自獨立的。業(yè)務系統(tǒng)仍然是縱向隔離的狀態(tài),在煙囪式系統(tǒng)架構中,每個業(yè)務系統(tǒng)都有自己獨立的數(shù)據(jù)庫,我們在管理這些數(shù)據(jù)庫的過程中,往往需要串行化操作。然而,我們的數(shù)據(jù)庫運維團隊規(guī)模還比較小,卻已經(jīng)承擔了幾百套數(shù)據(jù)庫的運維,隨著業(yè)務系統(tǒng)數(shù)量越來越多、數(shù)據(jù)規(guī)模越來越大、交易復雜度不斷提升,如果仍按照傳統(tǒng)的數(shù)據(jù)庫單點運維方式,勢必導致運維時間成本和人力成本大幅攀升。

2、缺乏統(tǒng)一的“運維大腦”

作為一家傳統(tǒng)金融行業(yè),業(yè)務系統(tǒng)都有各自獨立的數(shù)據(jù)庫,每個數(shù)據(jù)庫會被分派給指定的數(shù)據(jù)庫管理員運維,這就導致每個人之間存在信息壁壘,無法對全部數(shù)據(jù)庫的運行狀況形成全局視圖,缺乏統(tǒng)一的“運維大腦”,無法進行統(tǒng)一的數(shù)據(jù)庫分析和輔助決策,出現(xiàn)問題時往往各自為政,大家各自查看自己負責的那些數(shù)據(jù)庫,然后靠現(xiàn)場溝通互通有無,運維時效性難以保障。

3、運維手段亟需豐富

在目前的煙囪式運維時代,我們數(shù)據(jù)庫管理員有時間、有精力直接敲命令進行運維,例如安裝、巡檢、備份、升級、調參等基本工作,此時是“純人工時代”;隨著數(shù)據(jù)庫數(shù)量的增加,再通過手工敲命令方式逐一操作各個數(shù)據(jù)庫已經(jīng)不再現(xiàn)實,因此,我們開始寫腳本,放到服務器上自動執(zhí)行,由操作系統(tǒng)完成腳本執(zhí)行,管理員只需讀取針對各個數(shù)據(jù)庫的腳本執(zhí)行結果即可,此時是“腳本時代”;然而,數(shù)據(jù)庫數(shù)量日益增長,即使逐一讀取腳本執(zhí)行結果也要消耗相當大的精力,此時管理員們開始借助 ansible 這類自動化運維工具批量管理數(shù)據(jù)庫,只需讀取一次批量執(zhí)行結果即可,此時是“初級自動化運維時代”。然而,即使到了“初級自動化運維時代”,信息的終點還是“人”,需要由我們管理員做最終判斷,當出現(xiàn)問題時登陸數(shù)據(jù)庫讀取各項指標進行人工分析,在當今這個分布式技術蓬勃發(fā)展、數(shù)據(jù)海量井噴的時代里,只靠我們這些“人”來判斷處理如此之多的信息流,已經(jīng)出現(xiàn)力不從心的情況。這種形勢下,必須引入其他運維手段,幫助把我們管理員從繁瑣高壓的工作環(huán)境中解放出來。

4、缺乏新技術運維經(jīng)驗

在“去 IOE ”、“自主可控”的技術和政策雙重背景下,傳統(tǒng)金融行業(yè)的業(yè)務系統(tǒng)所采用的數(shù)據(jù)庫,正在從老牌廠商的 DB2 、 Oracle 等逐漸過渡至開源數(shù)據(jù)庫或國產(chǎn)新興的分布式數(shù)據(jù)庫,我們也在進行分布式數(shù)據(jù)庫的轉型探索。然而,并非所有數(shù)據(jù)庫管理員都具備新數(shù)據(jù)庫技術理論和操作能力,有的管理員已經(jīng)成為傳統(tǒng)數(shù)據(jù)庫領域的專家,可能已經(jīng)運維了十年甚至二十年之久。面對新型數(shù)據(jù)庫技術,傳統(tǒng)技術經(jīng)驗并不能完全適用,甚至可能是顛覆性的。

三、運維人員如何應對新挑戰(zhàn)

1、制定規(guī)范和標準,降低運維風險

作為傳統(tǒng)金融機構,我們有一套完整的運維規(guī)章制度,如運維操作流程、應急處置規(guī)范和預案、完善的變更與回退流程等等,保障各項運維工作有條不紊開展,而這些規(guī)章制度的有效執(zhí)行往往需要依靠各崗位的細化落實,數(shù)據(jù)庫運維崗位也不例外。數(shù)據(jù)庫運維團隊正在按照這些規(guī)范指引,結合崗位各方面的具體工作,制定出屬于數(shù)據(jù)庫管理的規(guī)范和標準。例如把升級、上線、備份、遷數(shù)等工作整理成標準模板文檔,形成運維資產(chǎn)隨時調用;或更進一步地,把數(shù)據(jù)建模和數(shù)據(jù)庫設計、容量規(guī)劃、 SQL 開發(fā)、高可用架構設計等工作整理成規(guī)范文檔,面向所有數(shù)據(jù)庫開發(fā)人員提供咨詢指導。通過標準、規(guī)范化的管理,使得數(shù)據(jù)庫運維工作有據(jù)可依、遇事不慌,從而降低運維風險。

2、借助運維工具,發(fā)展自動化、平臺化運維

大數(shù)據(jù)背景下運維工作已經(jīng)不能單純依靠人力來解決,而要借助工具、平臺來完成。目前開源的和商用的運維工具和平臺豐富多樣,很多傳統(tǒng)的手工運維工作都可以交給這些工具或者建設相應平臺來做。常規(guī)序列化操作如安裝、巡檢、升級、備份等,我們已經(jīng)開始借助自動化運維平臺;以往通過手工更新的數(shù)據(jù)庫配置信息表交給 ITSM 或 CMDB 來管理;數(shù)據(jù)庫的監(jiān)控告警可以利用近幾年大熱的 Prometheus+grafana 技術進行配置,或者引入商用產(chǎn)品建設數(shù)據(jù)庫監(jiān)控平臺或數(shù)據(jù)庫性能分析系統(tǒng);等等。作為一名數(shù)據(jù)庫管理員一定要經(jīng)常思考哪些工作可以交給“機器”去做,學會借助運維工具和平臺,輔助運維人員保障業(yè)務穩(wěn)定性及連續(xù)性。

3、探索智能運維,建設決策中心

隨著越來越多的運維工具投入使用,運維管理員似乎又“忙”了起來,因為需要在不同的工具和平臺之間進行切換,并在大腦中將各種指標關聯(lián)起來綜合進行判斷,以實現(xiàn)故障分析、關系維護等操作難題,這對于運維人員來說也形成了不小的壓力。深入思考后發(fā)現(xiàn),所有這些運維工具、平臺、系統(tǒng),歸根結底,都在采集“數(shù)據(jù)”并向外輸出“信息”。數(shù)據(jù)在當代已經(jīng)成為企業(yè)生存的根本,如果能夠整合這些“信息”并產(chǎn)生更大的“價值”,那么對于運維人員來說必然又多了一項利器。如何實現(xiàn)運維資產(chǎn)數(shù)據(jù)有效、精確、精細化管理,利用大數(shù)據(jù)技術形成決策中心,運維數(shù)據(jù)消費效率,成為目前不得不思考的問題,而數(shù)據(jù)中臺、運維數(shù)據(jù)中臺、智能運維平臺等技術正是為了解決此類問題應運而生。數(shù)據(jù)庫運維員作為智能運維的直接收益者,我們也正在朝這個方向探索。

4、主動擁抱新技術

自主搭建一套測試環(huán)境進行學習實踐是轉型的開端。如果已經(jīng)有 DB2 或者 Oracle 的實踐基礎,可以通過對比的方式來進行新數(shù)據(jù)庫技術的學習。 MySQL 是當今使用最廣泛的開源數(shù)據(jù)庫,搭建簡單,網(wǎng)絡上學習教程非常多,如果能夠先把 Mysql 原理理清楚,再去對比學習其他分布式數(shù)據(jù)庫便會簡單許多。目前市面上分布式數(shù)據(jù)庫技術有兩種實現(xiàn)方式,一類靠 mysql+ 中間件實現(xiàn),一類靠研發(fā)新型分布式數(shù)據(jù)庫實現(xiàn)。 Mysql+ 中間件有開源版本,也有諸多數(shù)據(jù)庫廠商基于中間件做了商業(yè)版的分布式增強,而數(shù)據(jù)庫仍沿用開源 Mysql ;自研分布式數(shù)據(jù)庫也有很多,比較知名的大廠商推出了 OceanBase 、 GaussDB 、 TDSql 等,或者中小公司推出的 Tidb 、 SequoiaDB 等。如果企業(yè)已經(jīng)有了向分布式數(shù)據(jù)庫轉型的思路,那么數(shù)據(jù)庫運維人員不妨借此機會開始參與到項目前期調研中,一定會收獲良多。

5、懂技術,也要懂業(yè)務和管理

大型金融機構內部的分工往往比較細,很多情況下技術人員、項目管理人員是不同的團隊,然而對于個人發(fā)展來說,還是應該把重點從技術領域擴展到復合型領域。正如前文所說,如果企業(yè)已經(jīng)有了向分布式數(shù)據(jù)庫轉型的思路,那么數(shù)據(jù)庫運維人員一定要從項目前期調研就開始參與,因為項目前期所進行的調研、需求、 poc 測試是了解新技術的第一步,可以最快速地了解市場主流技術和應用現(xiàn)狀。到了項目建設期,就更需要技術和管理的復合型人才了,數(shù)據(jù)庫運維人員自身已經(jīng)有了技術實力,更能方便地把業(yè)務需求與實踐相結合,利于項目成功落地。項目建成后進行新技術推廣時,技術人員的優(yōu)勢又能進一步凸顯,因為無論是何種新技術的推廣實施,一定要先制定完善的技術升級規(guī)范,提前做好測試,獲取遷移改造量和改造難度,制定出切實可行的切換計劃,在這一點上技術人員可謂具有得天獨厚的優(yōu)勢。

6、引進新技術人才,注入新鮮血液

如果企業(yè)有人才招聘計劃,不妨適當引入新型數(shù)據(jù)庫的技術人才,一方面使得團隊整體對外服務能力得到提升,另一方面也為團隊引入了內部講師有利于全體成員的進步。

7、開展廠商合作,引入專業(yè)技術支持

大型金融機構的技術團隊規(guī)??赡鼙炔簧匣ヂ?lián)網(wǎng)技術公司,但更多時候金融機構以甲方的身份出現(xiàn),有更多的機會與技術公司開展合作。數(shù)據(jù)庫運維人員可以借助這些合作機會,向專業(yè)技術公司學習。

四、總結

以上是筆者結合自身工作經(jīng)歷整理的些許感悟。在傳統(tǒng)數(shù)據(jù)庫轉型的過程中,運維人員一定要運用新時代運維理念及時調整自身發(fā)展方向,全面提升技術與管理技能,順應新技術潮流,以精細化、自動化、智能化的管理思維勤加思考,在變革的浪潮中砥礪前行。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論