BT

你的观点很重要! 快来参与InfoQ调研吧!

百年人寿IT经验谈:企业架构的演进
录制于:

| 受访者 李杰 关注 0 他的粉丝 作者 侯伯薇 关注 0 他的粉丝 发布于 2013年11月19日 | ArchSummit社交架构图谱:Facebook、Snapchat、Tumblr等背后的核心技术
16:57

个人简介 李杰是一个资深码农。起步于DOS系统下的C语言,还好,没有用汇编语言。他先是在中国银行从事信用卡系统的开发,最主要的开发成果是一个红外触摸屏查询程序。他为触摸屏反映不灵敏费劲了脑筋确也没有取得什么成果。加入平安保险后,他沉沁在Oracle PL/SQL的开发,也写一些Unix Shell。他也领导了几个系统的设计与开发。

QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、杭州、旧金山召开。自2007年3月份首次举办以来,已经有包括传统制造、金融、电信、互联网、航空航天等领域的近万名架构师、项目经理、团队领导者和高级开发人员参加过QCon大会。

   

1. 大家好,欢迎来到QCon[上海]2013的采访现场,今天我们有幸请到了百年人寿的IT总监李杰先生,李杰先生会给大家介绍一下百年人寿架构演进的一些故事。那么请李杰先生先给大家做个自我介绍吧。

李杰:大家好,我叫李杰,是百年人寿的IT负责人,今天非常高兴能够参加在上海的QCon,能够和大家分享一下百年人寿的一个架构的一个演进的一个情况。百年人寿是2008年开始筹建,2009年开业,到现在,从筹建算起来正好是五个年头。在这个过程中,也是从大概公司总共筹建的时候总共那么几个人,到现在有了几千人,那保费也从几十万,到现在三四十个亿一年,所以说,应该说是发展速度非常快。在这个过程中,IT也经受了很多折磨的这么一段时间吧。

   

2. 那当年在百年筹备刚刚建立的时候,我们的IT架构是一个什么样的状况?

李杰:当时百年总共可能十来个人的时候,IT的人算是比较多的,有个三四个,也没有什么职能的一个区分,除了我以外总共就还有另外两位员工。那我们实际上主要做得是一些规划的工作,大部分的工作其实都是通过外包的人力来做得。随着公司的发展,我们的策略也是外包和自主研发、自主设计相结合,所以也就是逐渐增加了自己的人员,也就从了几个人,到现在有40多个人这样的一个规模,也就把架构也就做了一些区分,首先是人员上的架构也做了一些区分,就做了开发、运维、数据管理、系统管理等等这样一些组织上的架构这样区分,这样区分就反映到了系统架构上的区分。那我们有专门来设计硬件构成的一些人员,网络怎么架构的一些人员。当然也包括我们的系统、应用、数据库,还有软件开发相关的一些架构的一些考虑也都相应有建立起来了。

   

3. 百年人寿其实是一家金融企业,金融企业的架构和互联网的架构,或者说传统的生产型企业的架构,他们之间会有一些什么样的相同的和不同的地方?

李杰:我觉得IT系统首先,它是支持业务发展的,所以说业务的不同,也就造成了IT系统的不同。其实,如果说这和传统企业有些什么样的不同的点,或者和互联网企业有什么不同的点,其实首先得看他们的支持的业务形态有哪些不同。那我想,在我自己也接触互联网这么一段时间吧,因为百年人寿还有个子公司,是做互联网保险电商的,就我对互联网这种不多的一个理解上来看,互联网,相当于是一个高点击量,用户访问量比较大,相对来说又集中在几个峰值这样的一个情况。后面,这个对用户的这个体验要求非常高,对每一个页面打开速度等等,就我个人浮浅的一个理解,这方面要求是比较高的。当然作为一个电商,它后台,也有很多自己的供应链等等很多这样的一些相关的一些管理。那对于这种传统的金融企业来讲,我们可能支持的系统,可能最重要的还是以内部用户是我们的一个核心,那这个我们这边保险公司内部都叫核心系统,这个应该说是我们80%以上的一些用户。那同时保险公司的系统还都会和相关的一些合作伙伴来连接,比如说和银行连接的,我们管它叫银保通,实际上就是银行和保险公司相连的那种系统。那同时,我们还有一些其他的一些合作伙伴,比如说我们也卖航意险,就是大家做以前坐飞机去买的航意险,我们也要和这样的一些,比如在机场的售票点来连接。其实同时现在大家都知道了,很多人买机票,都是在网上买了,其实我们,比如说我们也和去哪儿网有接口,每天,任何一个飞机上飞的,任何一架天上飞的一架飞机,可能其中有两个人买的这个航意险就是百年人寿的,所以说那也和这种互联网企业有直接的一些这样的一些接口,其实接口还非常多,还有很多各种各样类型的这种合作伙伴,这有点像互联网的分销渠道建设一样,都和这个系统接起来。同时形态和互联网企业区分来讲,又分成线下和线上两种,我们相当于都和他们接在一起。都和互联网企业相似的一点,又是都对这个时间的要求比较高,那都是要比较快的来响应。那比如说银保通,像工商银行要求是包括核保,两次分段提交在内,也都是要在几秒钟之内完成,这个对于当数据量比较大,同时比较繁忙的时候,这个压力其实还是蛮大的,虽然说起来这个几秒钟对于一个互联网企业来说可能差的已经是很慢了,但是由于复杂的核保过程,其实要求还是比较高的,等等这样的一些情况就造成了这个系统的一些不同。那我们这个系统了其实又要考虑这个高可用性、稳定性、灵活性等等,这就是我想,在这里很难展开一些技术细节的一些描述,更重要的是从业务形态的角度上来介绍,我们这个系统要考虑这些方面吧。

   

4. 那我知道其实咱们从最早可能只有一个核心系统来支撑我们的业务,到现在公司内部也好,公司外部周边也好,其实会有很多系统通过各种各样接口。那您刚才也提到了,需要保证我们这些系统的高可用性,它的稳定性,那么我们就是会采用一些什么样的具体的措施来保证这些性能?

李杰:在这方面坦率的说,我们不是来说我们自己有什么多好的经验,更重要的是实际上我们如果想和你谈,也是我们自己的一个摸索。因为这一块也很难说有一个定式就可以直接这么做了,为什么这么说?当我们在构架百年人寿的系统架构的时候,就我个人第一件事我做的事情,当时我记着就是一个网络设备的一个采购,因为首先要把这种数据中心的这个网络结构要搭建起来,当时,我采购的就是华为的这个产品,这在我自己了解的全国的所有的保险公司,我想可能银行更是了,中间第一个采用华为产品作为它的核心网络设备的这么一家公司,那这就是说明什么?我们在搭建高可用的时候,我们可以有很多种很奢侈的一些方案,但是我们其实搭建高可用的时候,我们还是希望能够在比较低成本的情况下把高可用性这个目的能够给实现起来。所以说我们在低成本方面,一个可以从硬件设备上面来讲,另外一个方面,我们的搭建高可用的时候,我们也尽量利用开源的产品,这个可能也是为什么我们也对InfoQ这种QCon这种论坛非常感兴趣的一个原因,其实我们真正用到的技术,比如像我们用到的我们这个操作系统,除了小型机以外,我们基本上用的都是Linux。那么应用系统,我们觉得Tomcat还是不是特别踏实的情况下,我们用的是JBoss,前面,这个前端这个分发服务器,我们也都用的是Apache,应该说是我们希望用的比较低成本的这种方式来把我们这边的负载均衡高、可用性都做起来。

   

5. 对于金融企业来说,安全性应该是一个必须要谈的一个话题,那咱们百年人寿的架构它在安全性方面采取了哪些方式来保证这些?

李杰:是,现在安全是一个越来越热,也是越来越严肃的一个话题。我们这边业内,其实也听说过一些机构安全上出了一些问题,当然不光是金融机构了,其他机构比如说最近比较热的这个酒店订房的数据漏出来了,也是一个更火热的这么一个话题。那这一块对于我们这边来说,是一个很严重的一个挑战。我们这边对这个事情我们还是比较重视的,首先,我们都和大连的公安局都进行了一个系统的评估,哪些系统是二级系统,哪些系统是三级系统。那比如说二级系统就是如果出了问题,都会对很多市民产生很严重的影响的这个系统,它的保密程度是完全是不一样的一个层级。我们每年也都和公安局指定的在安全方面,包括像公安局的网警在安全方面很有经验,也很资深的一些人来给我们公司的系统进行一些入侵检测,包括一些问题的一些主要的一些察看,因为你随着不断的放新程序上面可能也会产生一些新的应用的漏洞,它也会帮你来察看。我们也请了专业的公司,每年都对系统的安全进行检查,那这个是检查方面的。那其实,我们也买了相应的一些安全的设备,这个当然是比较多了,大家都知道的防火墙什么之类的就不说了。那其实,我们还有WAF相关的这样一些设备,那么它,比如说可以做各种各样的一些入侵的一些主动的一些防御,比如DDoS等等这样的一些这样的入侵防护,这我们都做了一些相关的设置,都可以进行,应该说是在我们力所能及的情况下做了比较多的安全工作。但是这一块也是我们一直悬着的一颗心,因为我们觉得这个有盾就有矛,到底谁更尖利也很难说,我想可能技术细节这边也不太方便谈。但是我们确实在安全方面正像你所说的做了很多工作,也是我们很重要的一个课题。

   

6. 那你刚才说的很多东西都是在硬件设备的架构上,那么在相应的我们软件系统的架构上,是不是也会做相应的一些设置和调整?

李杰:你指的是安全方面吗?

侯伯薇:可能包括高可用性啊这些方面。

李杰:好的,那如果稍微细一点到了这个软件这个层面,我们现在,用的是红帽的Linux,在操作系统这级,就是红帽的这个它的这个CS,就是RHCS,用它这个方式来做操作系统的叫做高可用性。同时,它的下面你比如装了Apache的这个服务之后,应该我们怎么说,应该叫做服务IP的这样一个技术。也就是说,它服务IP并不是绑定的硬件服务器,它可以在不同的服务器之间来漂移,那比如说,我们有两台服务器,那么一台服务器如果宕掉了,这个IP,这个服务就会漂移到另外一台服务器,这样来保证它这个分发的高可用性。那在应用这一层,我们JBoss就起了这么一个再生复制的这样一些设置,这样如果一台JBoss宕掉,对于前端用户来讲,它的Session是不会丢掉的,马上复制到另外一台JBoss的服务器上面,用户可以没有感觉的就可以继续他的操作了。其实这种操作,也就反映在我们这边的一个7×24的这么样一个要求上面。那比如说我们在一般而言,我们一般的发布,我们都不通知最终用户的,我们的发布方式其实就是把一台JBoss停掉,发布上去,然后再启起来,再把另外一台调掉,再发布到另外一台JBoss上去,当然这个7×24也不是绝对的。当比如说这个发布可能涉及到N多个表的这么一个结构的一个变化,那你光发布应用是不行的,一定要把数据库也要宕掉的时候,这个时候还是会通知用户的,但这样的维护应该说是一年是几次,而不是说像我们例行的比如一个月发布一次,甚至半个月发布一次,一般不涉及到这种需要告知用户,或者需要停机的一个状态。

   

7. 那随着百年人寿不断的继续发展,那您对IT架构未来有一个什么样的计划?

李杰:是,我们现在,一直是可以从刚才的这个聊天也可以感受到,我们其实是一个相对来说比较低成本的这样一个高性能的一个架构。但是随着业务的增长我们也感觉到,有些这种软的方法来解决的这种负载均衡,可能达不到一些在业务量很大的时候这样一个要求。那比如说Apache,现在我们能做到的是,这台应用服务器只要活着,我们就给它扔一个请求过去,但是如果它其实已经响应慢了,达不到我们的要求,如果它一个反应低于两秒的时候,我们就不再给它分配任务了,这个Apache是做不到的,那可能现在随着业务量越来越大,这样我们感觉上一直是依赖于Apache做负载均衡,可能就达不到我们的要求了。所以说我们也引进了F5,那这样的话,它就能够在负载均衡上有很多这样不同的一个设置。当然了,我们这个F5刚刚引进应用的范围还比较小。那另外一方面,我们遇到的一个问题是以前我们是用小型机,IBM P570做的HA,那现在随着业务量的增长,万一一台小型机宕掉的时候,都把财务系统和业务系统现在分别放在两台小型机上,如果是一旦一台机器宕掉了,相当于是一台机器得同时跑财务系统和业务系统,这个按照现在的业务量,用户的感受会非常不好,就会一下这个速度应该下降很多倍,不是下降一倍两倍了。所以我们也在高可用性上把这个我们的两大系统,财务系统和业务系统给它剥开,那分别装在两台小型机上面,相当于财务系统比如说和我们的客服系统来结伴了,不再是财务系统和核心系统互做他们的硬件设备互做HA,那么核心系统改成和电销系统来结伴,这个也是我们通过这种硬件的增加和以及系统在不同硬件上的这么一个部署,来完成我们未来的HA的一个继续保证我们系统能够做到HA吧。

侯伯薇:非常感谢李杰先生接受我们的采访。

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT