【架构师观点:前平安保险首席架构师蔡学鏞】微服务真正的瓶颈并非技术,而是业务
2017-08-09 12:52:16 | 来源:ithome | 投稿:乐乐 | 编辑:dations

原标题:【架构师观点:前平安保险首席架构师蔡学鏞】微服务真正的瓶颈并非技术,而是业务

前平安保险首席架构师蔡学鏞认为,许多宣称导入微服务架构的企业,只强调系统及技术面,但是,业务才是微服务架构真正的挑战。(图片来源/iThome)

名列全球财富5百大第39名的平安保险,是中国第二大寿险公司,尽管网络用户高达达2.4亿人,年营收超过台币3兆元,但为了迎战网络巨头,如阿里巴巴、腾讯等,开始抢占传统金融业地盘,平安保险早从2015年时,就开始追求转型,更找来曾在阿里巴巴支付宝和中国银联担任架构师的蔡学鏞,担任首席架构师,负责打造Open△API架构。

平安保险希望通过API,将内部业务系统开放给外部新创,未来若他们要推出新的支付型式,也能整合平安保险的系统和资料。

蔡学鏞为了打造Open△API,也开始着手设计新的资讯架构时,但他发觉,若后端系统依旧维持单套式(Monolithic)架构,不仅无法承受过多使用者流量外,未来就算搬上云端,也无法善用云端的扩充能力。

面对这些老旧系统出现的弊病,“许多架构师都采取纯技术手段,不太关心业务运作逻辑”,蔡学鏞举例,像系统运作效率不佳、无法承受更多负载,扩充更多硬件资源可用于救急,但终究是治标不治本,“追根究柢,还是得要厘清业务的实际运作逻辑。”

导入微服务得先养成良好开发习惯

“一定要厘清,甚至重整业务的运作”,他以用户帐号为例,得重新规画系统需求,厘清用户与帐号间是否存在一对一、一对多的函数关系。光是第一个阶段,他就花了数个月的时间,才对平安保险内部系统完成全面性的盘点与系统分析。

不过,平安保险架构翻新的挑战不只如此。完成规画后,开发团对希望可以使用现成开发框架来支援新的架构,为了加速业务系统开发,蔡学鏞只好开始寻找适合使用的开发框架。

起初,蔡学鏞并没有找到合适的解决方案,“导致工程师仍用老方法做事,因为框架并没有限制住开发者的坏习惯”,他认为,设计良好的开发框架必须满足两个条件。首先是让开发工作更为简洁,再者是矫正开发者的习惯,“限制使用者得依循特定规范进行开发。”

在导入新架构的第一步,就是要改善过去不良开发习惯。蔡学鏞观察到,许多开发者了解业务需求后,只是在资料库新增栏位,针对特定需求撰写程式,将资料取出,执行运算再回传至资料库。他表示,如此程式码有3大问题。首先,这些程式只为特定需求而生,其他开发者无法执行维护工作。再者是缺乏结构化设计,即使跟其他系统有重叠功能,“该元件也无法重复利用。”最后则是靠昂贵资料库执行繁瑣的运算,浪费其效能。

这也逼得蔡学鏞要着手设计自己的应用程序框架Karma,“它是一个纯粹的反应式(Reactive)框架”,蔡学鏞解释,这个框架中将每个元件打包成微服务,而元件彼此间都会互相影响。直到后来他才发现,原来分散应用程序框架Akka的设计理念与Karma有许多重叠,“技术会引领我们到正确的方向。”

微服务得满足水平扩充、元件可重复使用

蔡学鏞表示,企业导入微服务架构总共有两个优点。第一个优点是可扩充性,可以锁定特定系统元件,随需扩充。再者是元件可重复使用,面对业务变动,只需要稍微调整即可。而他认为,系统扩充性还相对好解决,“只要业务分析做得不彻底,系统元件就无法重复使用。”

以政府高度管制的金融业而言,法规朝夕令改,业务系统得时时配合进行调动。蔡学鏞举例,中国在2016年12月底开始,总共将银行帐户分为3类。第1类帐户中,存款户可以自由办理存款、购买金融产品。第2类帐户则是通过网上银行和手机银行等管道提交开户申请。第3类帐户仅能用于小额消费及缴费支付业务,“但是最初设计微服务时,并不会想到这样的未来需求”,导致当时设计出来的系统元件,不仅无法重复利用,还得一并修改过去的功能。

不过,他也坦言,架构规画时间不足是导入微服务的一大挑战。因为现今市场强调敏捷开发的风潮之下,最看重产品发布速度,但贸然在基础架构功能还不齐全时,就得开始开发新架构的程式。“微服务的重点就是要设计”,虽然市场不会停止改变,但企业若只为速度急着导入新架构,恐怕会让新架构不够严谨,这是翻新架构的考验。

也因此,蔡学鏞认为,许多宣称导入微服务架构的企业,大多只强调系统及技术面,“但业务才是真正的挑战。”他表示,在企业引入微服务架构之后,至少还要等上1至2年,当基础架构可以顺利撑过更多使用者流量,而系统架构也设想好未来可能需求,“才能够称作成功导入微服务。”

要导入微服务,系统得大规模翻新

外部因素如市场需求朝夕令改,使得企业难以导入微服务,但内部因素像系统大幅重构,可能影响系统营运也是一大障碍。

从平安保险推动微服务的经验来看,蔡学鏞认为,导入维服务要靠公司发挥由上而下(Top-Down)的力量,“如果企业不下定决心大规模重新开发,根本不可能实现。”

由于营运稳定是企业重要目标,但面对老旧的应用程序,无法同时满足既有架构并且导入微服务,“而全部重开发的风险太高,企业无法承受运作停摆。”蔡学鏞也表示,即使新专案都导入微服务架构也没用,“因为系统瓶颈不在此,而新系统的后端也都会与旧系统有所牵连。”

蔡学鏞表示,微服务的成功与否,与该公司业务的复杂程度相当有关系。就以银行、保险、证券金融业而言,业务相当复杂,开发的前置设计就得要花上许多时间。但以一家锁定社交、社群市场的新创而言,业务相较之下并不复杂,更有机会成功导入微服务架构。

早在20世纪的60、70年代,就有人提出软件危机(Software△Crisis),描述既有软件的产生方式,难以满足未来迅速成长的需求。蔡学鏞认为,现在业界状况则变得更加严重,“以前的危机是出自于复杂度,但竞争较不激烈,还有许多时间规画”,但面对现今市场,企业如果花上半年投入系统分析及设计,“早已经被他人淘汰了。”蔡学鏞认为,即使新专案使用微服务架构,但受到老旧系统的牵制,仍然无法发挥其效益,“唯有经过一段时间,即便市场需求更改,但最初的设计让开发工作减少,同时,大量流量也靠水平扩充撑过,这才是真正的微服务。”

tags:

上一篇  下一篇

相关:

打通竹市交通瓶颈 高峰路110巷通车

记者万世琏/新竹报道为了纾解上、下班新竹市高峰路周边的交通车流,高峰路110巷拓宽工程31号举行启用典礼,多位议员、里长以及附近民众一起到场祝贺。本项工程打通高峰路110巷,连接明湖路、高峰路两条交通动脉,未

云南首席技师选定40人 [生活]

7月15日是第三个世界青年技能日,当天,7·15世界青年技能日主题活动暨技能中国行2017——走进云南活动在昆明启幕。现场,来自全国各地包括省内各行优秀青年技术能手汇聚一堂,交流切磋技艺,展示着最新成果。同时,

话题:如何看“动画鄙视链”现象 网友观点不一 [生活]

腾讯动漫这几天报道过这样一则消息,说的就是有些中产阶级家庭的父母形成了一种“鄙视链”。包括给孩子看什么动画的问题上,都能分出个三六九等来。这也引发了非常多的争议。不过除了小孩子看的作品之外,有些网友也

错误观点影响夫妻之间的关系 婚姻中十个错误关系 [生活]

错误观点1:婚姻给男人带来的益处比女人多事实:与从前的很多报道相反,近来的调查结果显示,婚姻给男人和女人带来的好处是一样多的,只是不同方面而已。由于结婚,男人和女人都会活得长一些,快乐一些,富裕一些。大

突破理赔服务瓶颈 [热事件]

为不断突破理赔服务瓶颈、补足短板,保险业通过保险小额理赔服务来缩短理赔周期、提升消费者体验。记者今日从保监会获悉,自2015年10月保监会下发《保险小额理赔服务指引(试行)》(以下简称《指引》)以来,服务时

站长推荐: