`
Qin-Qin
  • 浏览: 24799 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一切从架构的基本元素出发

阅读更多

——专访汤森路透集团企业架构师刘晓晖

 

说起来路透,很多人知道世界四大通讯社之一路透社,却并不知道它背后的路透集团在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、微软等等都有比较固定的合作伙伴关系,所以我们也有很多活动跟这些伙伴一起合作。”


 

 

多年来的体会

做了这些年架构师,刘晓晖这样谈自己多年来的体会:“有几点我觉得感受比较深。一个就是现在很多人都在谈架构,实际上他们没有非常明确的认识。这个概念显得有些含糊和抽象,但实际上这个概念是可以有很明确的方法来解释和表述的。同时,也正是因为架构这个概念的特殊性,各种角色对于架构师都有非常不同的期望,这也是架构师经常要面对的,非常有挑战性的一个方面。比如在一个项目里头,工程师对你的期望跟业务方面角色对于你的期望完全不一样。而项目经理的期望可能又是另外一种了。不过至少有一点是可以肯定的:这么多不同的利益相关者,他们对于架构师都抱有很高的期望。

“架构师还会遇到一些文化方面的问题。在汤森路透这一类全球性的公司里,文化是一个非常普遍的问题,而且大家都觉得这个东西非常重要。汤森路透集团也有专门的工作组在做这方面的努力,去归纳文化之间的差别到底有哪些不同,会带来什么样的问题,需要怎么解决。因为不同文化背景,思考、沟通的方式也不一样。包括我们在运用语言的时候,比如说在我们这个类型的公司里面语言的使用能力不一样,就会产生一些非常微妙的差别。在某一个文化里头适用的沟通方式,换一种文化背景来说,可能就不适用,人家会觉得‘你这好像是在冒犯我’。我们工作组在做这一方面的研究和教育。他们一直也在各种场合给不同文化背景的人强调:要意识到文化上的差异可能带来一些问题,要有充分的考虑和应对。

“对于架构师来说,我觉得这也是软技能的一部分。架构师对于这方面要有充分的认识,要相当敏感,只有这样才能进行更有效的沟通。因为沟通是架构师经常要做的事情。不过现在很多情况跟我们当年不一样,现在我观察到:相当多的人具备很好的语言运用能力,他们在文化的适应能力上也相当强,同时有非常丰富的工作背景。因此,在汤森路透内部,技术骨干要发展成为架构师,文化上的差异已经不再是多么大的一个障碍了。”

分享到:
评论

相关推荐

    架构的基本原则

    架构的基本原则 一个很好介绍架构的各种基本原则的ppt

    电子病历基本架构与数据标准

    本文将深入探讨电子病历的基本架构与数据标准。 一、电子病历的基本概念和系统架构 1. 基本概念: 电子病历并非简单的纸质病历数字化,而是涵盖了患者基本信息、临床诊疗记录、检查检验结果、医疗影像资料、处方...

    电子病历基本架构与数据标准(试行)

    电子病历基本架构与数据标准(试行)旨在规范这一领域的建设和应用,确保信息的准确性和安全性。 首先,电子病历的基本架构主要包括以下几个层次: 1. **数据采集层**:这是电子病历系统的起点,涉及到医生、护士等...

    企业架构的发展历史与基本概念

    总结来说,企业架构是企业应对日益复杂的信息环境和业务挑战的关键手段,它从战略层面出发,通过对业务和IT的深度整合,构建高效、灵活且适应性强的IT基础设施,以支撑企业的持续发展和创新。随着技术的进步和企业...

    架构设计图架构设计架构设计架构设计架构设计

    架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计架构设计...

    架构实战——软件架构设计的过程

    - **领域驱动设计(DDD)**:强调从业务角度出发,将复杂业务逻辑抽象为模型,并围绕这些模型构建软件系统。 #### 结语 《架构实战——软件架构设计的过程》这本书不仅覆盖了软件架构设计的基本概念和原则,还深入...

    架构师从入门到精通

    "入门"意味着本书将从基础出发,介绍架构设计的基本概念。例如,它可能会涵盖模块化设计、分层架构、微服务架构等常见架构模式,以及如何根据项目需求选择合适的架构风格。此外,书中可能还会讨论架构设计的文档编写...

    架构师-架构漫谈

    软件架构是指软件系统的结构设计,它定义了软件的基本组织结构和构成组件,以及这些组件之间的关系和交互方式。软件架构的关键目标是解决软件系统中的问题,包括系统的功能性、可靠性、可维护性、可扩展性等方面。 ...

    IMS系统架构和基本原理

    IMS系统架构和基本原理

    企业架构及典型设计.ppt

    企业架构元模型是定义企业架构基本概念、元素和关系的模型,它是构建企业架构的基础框架。元模型帮助统一术语,确保所有参与者都对架构的构成有共同理解。 3. **企业架构视图** 企业架构视图按照四横五纵的框架...

    架构漫谈(王概凯架构系列文章整理)

    整理了王概凯的关于架构的系列文章; 文章列表如下: 架构漫谈(一):什么是架构? 架构漫谈(二):认识概念是理解架构的...架构漫谈(八):从架构的角度看如何写好代码 架构漫谈(九):理清技术、业务和架构的关系

    软件架构师教程 软件架构

    0_架构师与设计师.pdf 01_软件流程实施方案选择.pdf 02_软件架构文档设计.pdf 03_软件架构风险管理.pdf 04_如何描述和评估软件架构质量.pdf 05_设计模式与软件架构设计.pdf 06_AOP开发实践.pdf 07_软件架构通用服务....

    应用架构设计.ppt

    架构基本概念 (Basic Concept) 架构设计目标 (Goals) 架构分类 (Categories) 企业级应用架构 (Enterprise Architecture) 架构组成 (Constitution) 架构设计原则 (SOA) 架构实现方法论 (Methodology) 火龙...

    软件架构--软件架构讲义

    软件架构的主要元素包括: 1. **组件**:构成系统的基本单元,如模块、服务或对象,每个组件都有特定的功能。 2. **接口**:组件间通信的桥梁,定义了组件间的交互方式和数据交换格式。 3. **连接器**:描述组件间...

    从企业架构到信息化规划,从现状调研到架构设计的核心逻辑.pdf

    这个过程需要从业务需求出发,通过技术手段来实现业务目标,因此,业务驱动IT是信息化规划的核心。 蓝图规划和实施规划是信息化规划的两个重要步骤。蓝图规划是为了描述未来的理想状态,包括应有哪些IT组件,它们...

    架构实战 : 软件架构设计的过程

    本书从基本原理入手,介绍软件架构设计过程中涉及的一些概念、流程、方法、用到的工作产品及可重用的资源,从第6章开始,通过介绍一个具体的案例来阐述如 何定义需求、创建逻辑架构、创建物理架构。在第10章“进阶”...

Global site tag (gtag.js) - Google Analytics