抗击疫情,腾讯云在行动。科技步伐在向产业互联网迈进的大趋势下,互联网体验和传统金融行业正在相互触碰及深度交融。企业数字化转型如火如荼,各类中台战略及相应互联网架构的演进或重构正是当前IT的建设重点。本文是对TVP王晔倞老师的直播演讲整理,为你们介绍介绍整个技术中台的演化过程,说明在实践过程当中遇到的问题与条件,并带领你们了解技术中台的价值与将来发展。前端
本次腾讯云大学大咖分享课程邀请 腾讯云最具价值专家TVP 王晔倞 分享关于“金融全产品交易模式下,技术中台应该是怎样的?”课程的内容。程序员
做者简介:王晔倞, 腾讯云最具价值专家TVP,好买财富架构总监。负责好买中间件及平台化的研发及运营,团队管理和实施重大技术决策。19年IT从业经验,经历过2000年网络经济泡沫的程序员,2011 年加入大智慧担任测试总监,在2年内带领团队自研了“大智慧云测试平台”,经过平台化将金融数据服务业务从瀑布式逐渐转型为DevOps。2013 年加入好买财富,在4年内亲身经历了公司面向互联网的业务转型与技术变迁,展转过不一样的业务团队,对技术与业务都有必定的深刻了解。数据库
本次分享内容:编程
一、什么状况下,技术中台才会有价值
二、技术中台实践过程当中的问题与挑战
三、Q&A环节
相信不少人都听过这样一句话:脱离了整个业务场景谈架构或者谈技术,其实就是耍流氓。技术中台最近这段时间很是火热,在各样的大会、文章里面都出现过相关的话题。缓存
不少人脑海中就会认为:只要公司作大了,个人业务就要去作中台,若是不作中台好像我就活不下去,这种话题外界流传的也很是多。安全
在我看来,中台其实并无什么标准,由于每家公司都会基于自身的业务场景来进行实践,好比我这边分享的是金融全产品交易模式,有的人可能基于公司的电商场景,有的多是游戏平台的场景,或者是其余什么场景。服务器
我历来不认为中台是一个什么标准,由于每家公司都有本身的一些特性,这中间掺杂到人、组织结构、流程,SOP等等各样的事务,全部掺和起来的总体更像是一个公司经营的战略。 网络
因此,我认为中台不是一种技术实现,而是一种技术战略。包括微服务,以前的SOA也都同样, 它根本就不是一种技术。架构
若是你说它是一种技术,那么它用的是什么?它该用什么语言仍是用什么语言。服务又要怎么拆呢?因此它实际上是一种业务模型,跟你的技术没有多大关系。app
我我的更赞同这句话:中台它不是一种实现,它实际上是一种战略或者布局。
在这个布局中间,会包含4个元素,除了技术、业务,还包括数据和组织结构。中台的实现都是基于本身的业务去作的,有些公司本身只有一条单一的业务线,没有复用,也就没有必要去作中台。
因此为何咱们要去作中台?无论是业务状态的,仍是技术状态的,简单来讲就是一句话:咱们须要复用!
由于当咱们的业务线开始变多,并逐渐造成了事业部,这时咱们就须要有这样的一些技术手段,包括调整组织结构等等,用比较低的成本去支撑多条业务线的实现,这样才是一个划算的买卖。
1. 业务系统的演进过程
在谈技术中台以前,先简单为你们介绍一下咱们业务系统的演进过程,方便你们了解背景。
咱们的发展历程跟不少公司差很少,基本上都是从单体架构单产品开始,而后发展到单体架构须要去支撑多产品,再到从新定义。
咱们公司之前是作线下金融交易业务,从12年余额宝出来以后,开始作线上。最开始实现的就是一个简单的买卖交易,随着产品线的增多和渠道商的增多,在2014-2016年咱们有重复建设的过程,在2017-2018年咱们造成了事业部,这时就须要对个人服务和架构以及业务条线进行重构结构的调整,这是很正常。
如上图所示的1.0发展阶段,由于咱们是基于基金来作理财的,有公募基金、私募基金。对于前端咱们有APP、网站、外部渠道的合做柜台等。交易的实现很简单,就是作交易的服务模式和交易体系,包括咱们的支付,以及后台的运营都很简单,链接数据库就能够解决。
到了2.0时代,就须要一个单体架构去支撑多产品。咱们的软件架构仍是同样,可是随着交易量的上升,可能要用到一些基础组件,好比上图左下角显示的Redis、memcache等,这些也都是你们经常使用的。
同时咱们也开始有了本身的帐户体系,从支付中间分离出咱们的帐户中心,包括咱们也用到了不少MQ。
从后面的基础组建中间,能够发现一个颇有意思的问题,我相信不少公司都遇到这样问题。
你用的任何一个技术或者选型一般都是根据你团队的老大,好比你公司的CTO,或者一些技术债而决定的。
为何要用这些技术?是由于以前有人用了,换你接手,短期内财力、物力、人力都解决不了,因此你只能沿用先前的技术。或者是你的老板以为某个东西好用,叫你也用。
因此你们可以发现咱们进化到2.0,各类技术选型和技术手段可谓五花八门,这是由于业务部门给到的压力,只能快速的去应对。
这时就会产生如下4个问题:前台负责部分业务拼装、缺乏分层,系统相互调用、基础组件五花八门、多套运营后台。
举个例子,假如你的前端团队如今在作一个东西很忙,你的后台团队正在作一个东西,但并不那么忙。这时公司须要上一个很急的项目,该怎么办?
从架构分层来讲,应该是由前台来作的。可是前台如今很忙,让项目排队等候?对于不少的中小型企业,这是不可能的。
既而后台团队正空着,能够先在上面开始作,这样子看上去好像全部的人都很饱和。
但时间一长,也会带来一个问题,就是在你快速发展的过程当中,会产生不少的技术债。
到最后你会发现,明明应该在后台逻辑层去实现的东西,你却在前台实现了。前台应该实现的东西,这些逻辑判断却在后台实现。
这就致使了前台负责部分业务拼装的现象,尤为是在业务发展速度很快的前提下。缺乏分层系统互相调用,也是由这个缘由致使的。
什么基础组建五花八门,多套运营后台重复建设的问题不用多说,像这种阶段相信你们都经历过。
进入3.0阶段,上图显示的是咱们的多业务线,在中间部位有机构、零售、高端、储蓄罐、产品中心、帐户中心、批量、后台,支付后台、报表后台、交易后台......
很明显的看到,其实咱们已经开始把不一样的产品放到不一样的事业线里面去了。
2. 技术中台的前提
技术中台实际上是一个技术战略,这个战略中间它包含了业务、数据、技术以及组织结构,甚至还有文化。
要作技术中台,我我的认为首先要具有两个大前提:
(1)技术组织结构必定要垂直化
如前面所介绍的咱们公司的组织结构,这个系统的发育过程经历了1.0、2.0、3.0等阶段,到3.0时代以后,咱们才开始有意识说咱们要去作一个所谓的技术中台。
在1.0 和 2.0 的时代,咱们是按照职能来划分的,以下图所示,相信不少公司基本上都是按这样来划分的。
图中用红框标出来的就是咱们的研发团队,研发团队中间只包含研发,他们只作开发。后面还有两个团队,质量管理部,其实就是测试团队和QA团队,包括咱们的系统运维团队。
这个组织结构是按职能来划分的,测试和测试在一块儿,研发和研发在一块儿。那么,对于这种结构,你们是否以为有问题?
为了解决这个问题,咱们须要从自身业务特性出发。做为一家强业务驱动型的公司,通常看你的技术团队、成本中心、产品中心这三样东西。
有人可能好奇什么是强业务驱动?能够这样理解,就是你卖出去赚钱的产品,是由于你业务的产品。好比咱们怎么赚钱?就是卖咱们的金融产品,给客户带来收益,客户分给咱们钱,咱们是靠这个活着的。
用最低的成本达到最高的产能效率来帮助你的业务得到更多的收益和流量,这个就是你成本中心的价值。质量更不用说,那为何我把效率提高上来了?
对于一个正在快速发展的公司,哪个最重要?必定是效率!我能够不惜成本,质量也不要紧,只要在交易的主链路中间不出现任何问题,就能够在牺牲质量的前提下上线。
为何这样说?由于假如我有的东西缺失了,但只要服务化切得好,某一个东西坏了,可让它下线,作服务降级也没有问题,可是你的效率必定要快,由于要抢时间。
而在咱们1.0、2.0 时代,当时的按职能划分的组织结构是颇有问题的,达不到提升效率的结果。
为何这样说呢?由于咱们当时存在一个痛点:因屁股决定脑壳而引起的多种多样的中间件!每一个团队独立选型中间件,没有统一的维护,没有统一的知识积累,没法获得统一的保障。
在快速交付的过程当中,确定也会遇到各类障碍,开发、测试、运维团队的目标不一致。好比测试A君,开发要求你只作功能测试,快上线,但测试老大却要求你作非功能测试,保障质量,避免背锅……到底听谁的?从而陷入无休止的争论。
基于1.0、2.0 阶段的这种野蛮生长过程以后,咱们为了解决每一个团队的目标从而提升交付速度,决定把技术服务下沉,快速试错,小步快跑。
最后把整个测试团队以及运维团队作了拆分,成了如今这个结构,也便是说把每一个测试、研发、运维分到了这些以功能为目标团队里。
(2)业务线又多又复杂
再次以咱们自身为例,以下图所示,底部的7个红色字块,表明了咱们公司作的全品类产品。
将这些产品全整在一块儿,不只对自身的资质、牌照提出了很高的要求,还伴生有技术性和业务性的许多问题,最可怕的是还有合规上的问题。
好比证监会跟保监会的东西就不能放在一块儿,可是对于客户来讲,下100万的单子,各买50万的保险和股票型基金是一件很正常的事情,可是合规上就是不能够。
这就是我所讲的在系统建设过程当中出现的又多又复杂,还有一些合规上的问题。由于产品繁多,系统就显得乱七八糟。
而业务创新比较多,须要先后台系统定制开发,逻辑兼容难度增长。再加上业务逻辑分散,缺乏统一适配层,因此每次测试工做都须要 ALL IN。
以下图所示,基于前面这些内容,咱们如今的整个技术前中后台就是按这么划分的。
前台主要是作功能,也是如今整个研发团队中间人数最多的,大概占到整体的60~70%。
中台主要解决的就是中间件自动化运维以及集中自动化。
技术后台是什么?其实就是整个的基础架构,网络安全、存储虚拟化,包括咱们的服务器,云厂商这方面的一些问题。
技术中台的做用,有点像编程时的适配层。适配层从上启下,将整个公司的技术能力与业务能力分离。
中间咱们把整个团队,包括总体的KPI、战略所有分离了,作到技术能力和业务能力分离,并以产品化的方式向前台提供技术赋能,造成强力的支撑。
至于把测试运维打散到产品线还可否高效跑起来,就看你技术中台资源整合的能力了。
在技术中台的演进过程当中,咱们还面临着三个挑战:
1. “屁股决定脑壳”
前面提到咱们技术前台的团队占到全体人员的百分之六七十。显而易见,假设个人前台团队有100我的的话,可能技术中台只有20个到30我的。
在这样的前提下,一个团队要来应付前端这么多人,势必会遇到下面这些问题。
因为理念、职责和节奏以及使命不一样,再外加屁股决定脑壳的立场,前台和中台的矛盾是不少的。
从职责的角度,前台他要的是快速应变,中台要的是稳定高效提供服务。一个追求效率,一个追求质量,矛盾是自然存在的。
2. “该死的技术债”
那么前台追求效率,中台追求质量,两边的目标不一致,因此你前台的需求中台要怎样去实现呢?
咱们来看一个场景示例,下图展现的是咱们公司的技术中台的一个产品,这个产品是A团队和B团队同时须要接入分布式缓存。
A团队、B团队指的就是前台的团队,前台A团队因为业务须要,同时向技术中台提出了要求接入缓存的需求(技术中台的中间件产品线中有一个基于代理的资源)。
由于A团队和B团队的技术债不同,两个团队系统也不同,因此必需要求增长适配器才能完成接入。
什么叫适配器?简单来讲多是一个基于代理的SDK,或是基于某一个协议的。
若是以前另外一个团队没有用代理,而是直联Redis,该怎么办呢?就只能经过中间适配器的方式来帮它桥接到如今这套系统里面去。
为何要这样作?由于对于中台团队,这样作的技术成本会很低。由于我只要维护一套系统,经过两个适配器,两个SDK的封装包,就能解决。
3. 众口难调
在咱们技术中台作技术选型的时候,基本上都是出于老板的丰富经验。你的老板用了A你就去用A,你老板用了B技术你也只能用B技术。固然还有一些技术债的问题,这就致使了谁说了都算,谁说了也都不算这样的尴尬境地。
混合交易场景下,技术中台的将来在哪?
前面所说的多产品交易,基于多金融体系下的这种混合场景交易,咱们的技术中台将来该怎么走?
如今因为咱们公司须要从线上转型到线下,包括咱们自身的一些调整以及行业的变化,咱们的技术团队人员在收缩,对于技术的投入愈来愈小。
前期已经把整个技术架子搭到这么大,可是如今却没有那么多的人和成本去投入,因此这是一个很悲惨的过程。
当你的产品比人还多,好比你技术中台所提供的产品有30个,现有团队就只有20多个,你想一想看你的服务会作得好吗?
因此这个就是咱们接下去所要解决的一个很大的问题,前台没办法变更,毕竟业务总得要作。当你的人员规模萎缩,可是业务还在,该怎么办?只能把这个事情往外走。
好比咱们从线上转线下,APP和网站等都还在,外包又会限制你的效率和行业敏感度。而自建研发团队,也会受到规模和技术投入上的限制。
你在缺人、缺经验、缺钱,再加上一些客观条件的限制,很多中小型企业可能只能摸着石头过河,既没有时间试错,也没有试错的本钱。但需求仍然还在!
公司仍是会继续给你提需求,因此只能要一点作一点、坏一点修一点,处于疲于奔命的状态。基于这样的状况,最后咱们准备上腾讯云。
由于咱们的业务转型,对线上的依赖在降低,因此咱们如今能够选择把咱们一些标准的服务上到腾讯云,完成咱们技术中台的标准、工具以及团队的逐步上云。
后台也是同样,咱们能够把咱们的服务器,包括咱们的网络所有都上到腾讯云,来解决咱们目前所须要的一些问题。
我以为对于建设中台,并不意味着中大奖,它实际上是靠每家公司逐渐演化才能产生收益的。
由于你作任何东西都须要投入,必定要记收益,不是作着玩的。技术中台要基于本身的特性,它就像健身同样,3个月有效果,10个月有结果,惋惜的是大多数企业基本上都是一拍脑壳就上了。
咱们的技术中台是基于以前咱们的特性,中间有数据、有业务、有团队、有流程、有文化,才造成了咱们如今所谓的技术中台。它确实解决了帮咱们度过2015-2016年快速发展过程当中所须要的东西.
咱们如今之因此可以去上云,并且咱们也可以制定成这个过程,就是由于咱们如今把整个技术变成了前中后台,才可以很是清晰的划分出前台和中后台的区别。
咱们才能把中、后台逐渐的往腾讯云上迁移,咱们也清楚了哪些东西须要去上云,哪些东西是不要上云的。
Q:公司也要作中台产品,这是企业的将来道路吗?
A:你无论你作什么中台,首先你须要有必定的规模,并且你要多业务线,而后你的组织结构要相对偏垂直,也就是你们分工要明确,而且你有不少复用的需求,你才有必要去作中台。
Q:创业公司如何低成本搭建中台,如何说服领导大建中台,解决技术和业务效率低的问题?
A:我的建议,若是你如今的团队还在100人如下,也没有那么多业务线的话,我建议你不要走这条路,继续走原先的路。除了上面谈到的组织结构的问题,即使是换成中台垂直的模式,也有不少新的问题出现。若是你的复用用到很少,我的建议你仍是说服领导不要去作中台了。
为了给广大开发者提供最实用、最热门前沿、最干货的视频教程,请让咱们听到你的须要,感谢您的时间!点击填写 问卷
腾讯云大学是腾讯云旗下面向云生态用户的一站式学习成长平台。腾讯云大学大咖分享每周邀请内部技术大咖,为你提供免费、专业、行业最新技术动态分享。