天天看點

一切從架構的基本元素出發

——專訪湯森路透集團企業架構師劉曉晖

記者 / 鄭柯

一切從架構的基本元素出發

湯森路透集團企業架構師劉曉晖

說起來路透,很多人知道世界四大通訊社之一路透社,卻并不知道它背後的路透集團在2008年4月與加拿大媒體巨頭湯姆森集團合并,成為湯森路透集團,英文名Thomson Reuters,一躍成為全世界占有市場佔有率最多的金融資訊服務提供商。

2006年,路透集團在中國北京中關村軟體園成立了軟體研發中心,目前已有700餘人的研發隊伍,負責研制、開發、維護湯森路透全球金融系統的資料采集、處理、發送任務,完成了紐約證交所,納斯達克等交易所的更新與軟體移植,歐共體多市場的金融報價系統。除了金融市場戰略事業部,集團還擁有法律事業部,稅務财務事業部,科學研究事業部,醫療健康事業部,湯森路透集團為全球上百萬的專業人士提供高品質和智能化的資訊服務,北京的軟體研發中心現緻力于為集團旗艦産品的研發做出貢獻。

劉曉晖,是湯森路透軟體研發中心内資深的企業架構師。1991年開始進入IT行業,多年來扮演過程式員、團隊主管、經理等各種角色,最後成為架構師,也有六七年的時間了。

什麼是架構?

在整個采訪過程中,劉曉晖多次提到“架構的基本元素”。我們的談話,也就先從“什麼是架構”開始。劉曉晖指出:“雖然不同公司對架構會有不同的定義,但是說起來架構,總是會有一些共同的元素,總是要涉及到結構、各個組成部分之間的互動關系,以及這些組成部分跟外界的互動關系。除此之外,還有一些相對來說不太明顯的東西,比如一些設計标準,應該遵循的各種規範等等,它們也屬于架構的元素,就像我們這棟辦公樓的裝修,就非常有Thomson Reuters的一貫風格。隻要是Thomson Reuters的辦公室,不管是在倫敦、新加坡,還是總部,裝修風格都非常像。架構最終是要服務于具體的業務要求。”

接下來,劉曉晖提到了架構的共性與具體行業和企業的組合問題。他說:“在架構上,一定有一些共同的元素。如果結合不同的具體行業和企業,就會産生架構的多樣性。就拿Thomson Reuters來講,我們是做金融資料産品的一家公司,專門為各種機構和個人提供專業的金融資料和咨詢資訊,有很多産品線。然而所有的産品實際上都是基于我們的金融資料。比如有些客戶希望通過湯森路透得到一些實時的股市資訊,我們還有外彙、期貨等方面的交易平台。可以想象,我們有一個非常龐大的資料采集系統,處理各種各樣不同類型的金融資料,此後還要把資料分發到每一個具體的産品。是以,如何組織這些不同的資料集,是我們在做架構時需要考慮的一些東西。不同客戶還會有些特殊的需求,比如有些要求實時性,有些要求容錯性,也就是說某個系統的某個環節發生故障,應該對他的業務不造成影響,這都是我們在整體上設計湯森路透系統架構時非常關注的一些方面。不過如果把架構的基本元素再套用到其他行業,可能又有不一樣的一些關注點。”

湯森路透集團的架構師

在湯森路透集團内部,有一個名為Chief Architecture Office的組織,簡稱CAO。那麼為什麼要存在這樣一個組織?其中又是由什麼樣的人構成的呢?劉曉晖這樣解釋:“CAO以前是隸屬于CTO管轄的,是非常重要的一個機構。至于是否有必要有這樣的組織,我覺得很大程度上取決于行業的性質。我們湯森路透從全球幾百家證券交易所俄采集金融資料,然後再做集中的處理,增值和分發。對于如此龐大的一個系統,必須有這麼一個Chief Architecture Office的存在,負責整體架構。我們要求在任何一個領域中做項目的時候,都要把它放在整個企業的環境中考慮,看它跟其他系統應該是什麼樣的互動關系。”

“在CAO中,有三種架構師,一種是企業架構師(Enterprise Architect),就像我,我們的關注點在于系統,負責企業系統的架構,做Technical Governance,也就是技術監理,是我們的一個重要工作方式。同時對于一些比較大的項目、一些戰略性的項目,我們會直接參與架構的設計。還有一種架構師叫做資料架構師(Data Architect),又稱為資訊架構師(Information Architect)。他們的關注點是資料和内容。因為湯森路透對于自己的定位是金融資料中心廠商,怎麼樣組織我們的資料,這點非常非常重要。因為我們的資料來源非常非常多,怎麼樣把這些資料非常有序地整合起來,同時還得考慮這些資料跟不同産品系列之間應該是什麼樣的關系。此外還有業務架構師(Business Architect),側重于業務如何跟各種各樣的流程之間如何定義。其實在湯森路透集團這一類性質的公司裡頭,經常可以看到Chief Architecture Office的機構。

“另外,我們還有一些系統架構師、解決方案架構師、軟體架構師等等,這些在湯森路透複雜龐大的系統裡都能找到。從之前談到的架構基本元素而言,他們都有共同之處,但是放在具體的環境裡頭,大家都有各自不同的關注範圍,有不盡相同的一些抽象層次,但這些都是一層一層環環相扣連接配接起來的。在TOGAF企業架構架構裡面也可以看到類似的對應關系。”

劉曉晖接下來還談到了有關湯森路透内部架構師教育訓練的話題。他提到:湯森路透重視員工的發展,有專門的技術梯級,員工在技術方向有較大的發展空間。湯森路透還為技術人員成長為架構師提供了教育訓練的機會。自06年起,湯森路透集團從全球研發中心開始推廣架構師成長計劃(Growing Architects Program),為各個領域不同的技術骨幹創造成長的條件,并專門針對他們設計了兩年的教育訓練計劃,主要分三個方面。首先是為他們安排非常資深的架構師作為導師;其次,圍繞整個教育訓練計劃,還建立了架構師社群,并有定期的講座和交流;第三個方面就是有一些跟公司業務比對的課程設計,這其中既有技術方面,也有軟技能方面,比如談判、演講方面的課程等等。

作為橋梁的企業架構師

說起來自己擔任的企業架構師的獨特之處,劉曉晖指出:作為湯森路透集團的企業架構師,需要結合湯森路透的業務來考慮整個系統與資料的構成。比如實時資料、曆史資料以及衆多公司各種各樣的背景資訊,這些資料如何跨系統、跨層次地關聯在一起。如果具體到某個具體系統内部的詳細設計,就會有相關的系統架構師去考慮,比如與證券交易所的互動系統等等。如果其中涉及到與外界系統的關系,這又是需要企業架構師來協調的事情了,但是企業架構師通常不會過多關注具體的子產品設計或是算法實作。

經常有人為架構師應該注重業務,還是注重技術而争得不可開交。對此,劉曉晖的看法是:“我個人不會去區分到底哪個更重要。架構師當然要有技術方面的專長,但是作為企業架構師,其實擔任了技術與業務之間的橋梁。是以對于我來說,技術和業務同樣重要。不過隻要是一個架構師,一定會涉及到非常多的利益相關人,一定有與業務和需求相關的一些東西,也有非常具體的技術要求。企業架構師可能很少去寫代碼,但是要關注系統為了實作業務需求需要用什麼樣的技術,比如實作什麼樣的容錯能力,采用什麼樣的容錯方法,什麼樣的彈性機制等等。我們要把這些思考建構到系統裡頭,在這個層次上,結合業界的一些實踐,結合湯森路透自己各種系統的一些實踐,拿出有一些非常有價值的解決方案。比如針對可擴充性,提出什麼樣的架構模式,在哪些業務情形下可以重用,具體要怎麼樣實作,資料應該怎麼存儲,系統之間的互動應該是通過什麼樣的方式,什麼樣的管道,應該在哪些地方建立各級的緩存等等這些方案,都需要我們去歸納、設計。”

企業架構的技術趨勢

對于未來兩、三年内企業架構技術上的變化,劉曉晖說道:“在湯森路透集團,最核心的東西就是資料和内容。但是我們會利用各種各樣新的技術,比如說3G,也可能成為一種我們分發資料的一種途徑。再比如雲計算,我覺得都有可能成為我們整個平台有機的一部分。是以架構師要考慮新的技術領域。在設計架構的時候,應該充分利用新技術來滿足業務要求。新技術,新方法一定會出現,但作為架構來說,把這些技術的具體形式都抽象掉以後,基本元素仍然是存在,仍然是共同的,隻是在具體表現形式和應用的具體技術方面會有各種各樣的不同。

“由于我們的業務主要是圍繞資料展開的,是以我會關注基于資料的智能分析、商業智能這個領域。另外,我們這個行業現在關心虛拟化技術,因為這跟我們直接相關。湯森路透在世界各地針對不同專業領域也建有自己的資料中心,每一個資料中心都非常非常龐大。如何用新技術把系統設計得更加的有效、密集,其中就有很多方向可以考慮,包括如何充分利用伺服器資源,提高計算能力,同時更節約空間。虛拟化是我們非常關注的技術。此外,我們還對涉及到海量資料的高性能計算相關的技術跟關注。湯森路透跟一些主要的一些廠商,比如IBM、Oracle、微軟等等都有比較固定的合作夥伴關系,是以我們也有很多活動跟這些夥伴一起合作。”

多年來的體會

做了這些年架構師,劉曉晖這樣談自己多年來的體會:“有幾點我覺得感受比較深。一個就是現在很多人都在談架構,實際上他們沒有非常明确的認識。這個概念顯得有些含糊和抽象,但實際上這個概念是可以有很明确的方法來解釋和表述的。同時,也正是因為架構這個概念的特殊性,各種角色對于架構師都有非常不同的期望,這也是架構師經常要面對的,非常有挑戰性的一個方面。比如在一個項目裡頭,工程師對你的期望跟業務方面角色對于你的期望完全不一樣。而項目經理的期望可能又是另外一種了。不過至少有一點是可以肯定的:這麼多不同的利益相關者,他們對于架構師都抱有很高的期望。

“架構師還會遇到一些文化方面的問題。在湯森路透這一類全球性的公司裡,文化是一個非常普遍的問題,而且大家都覺得這個東西非常重要。湯森路透集團也有專門的工作組在做這方面的努力,去歸納文化之間的差别到底有哪些不同,會帶來什麼樣的問題,需要怎麼解決。因為不同文化背景,思考、溝通的方式也不一樣。包括我們在運用語言的時候,比如說在我們這個類型的公司裡面語言的使用能力不一樣,就會産生一些非常微妙的差别。在某一個文化裡頭适用的溝通方式,換一種文化背景來說,可能就不适用,人家會覺得‘你這好像是在冒犯我’。我們工作組在做這一方面的研究和教育。他們一直也在各種場合給不同文化背景的人強調:要意識到文化上的差異可能帶來一些問題,要有充分的考慮和應對。

“對于架構師來說,我覺得這也是軟技能的一部分。架構師對于這方面要有充分的認識,要相當敏感,隻有這樣才能進行更有效的溝通。因為溝通是架構師經常要做的事情。不過現在很多情況跟我們當年不一樣,現在我觀察到:相當多的人具備很好的語言運用能力,他們在文化的适應能力上也相當強,同時有非常豐富的工作背景。是以,在湯森路透内部,技術骨幹要發展成為架構師,文化上的差異已經不再是多麼大的一個障礙了。”

(本文來自《程式員》雜志09年06期)

《程式員》10年7月刊精彩内容預告:http://www.programmer.com.cn/3484/

《程式員》訂閱:http://book.csdn.net/programmer/

繼續閱讀