阿里研究员玄难:如何做电商业务中台 - 阿里技术
2016ATF阿里技术论坛于4月15日在清华大学举办,会上阿里业务平台事业部&淘宝基础平台技术部负责人玄难阐释了淘宝经历13年的发展中,业务平台从零到有,同时又逐步演进为业务中台。而中台的概念是阿里巴巴在2015年12月提出,并且按照“大中台、小前台”理念进行组织升级,旨在建设“敏捷的前端+强大的中台”,降低整个集团的创新成本,适应新时期的发展。
下面是演讲全文
玄难:大家好,我叫玄难。接下来主要讲一下淘宝13年发展中,每个阶段的业务状况、技术挑战和技术体系的应对策略。
在复杂的电商生态中,我们有4亿多的消费者,这是我们最大的资产。我们要服务好这几亿消费者,只是阿里巴巴是不可能的,现在有1700多万商家,在全国有200多万快递人员。有上万家软件服务商为我们的商家提供企业支撑软件。随着电商生态的发展,有更多的生态角色不断出现,例如大家都知道的网红。这些是外部生态。内部也从淘宝,一步步的发展壮大,现在有几十个事业部,相关的技术人员有一万多人。支撑了7000多个应用,上千种现存的业务,每天几百个业务需求,500多个独立的变更。面对这样一个复杂的体系,我们如何应对它呢?这就是我重点要讲的业务平台的发展历史。
在电商技术体系里面,我们会看到中间有一层非常关键的业务平台。淘宝网、天猫、聚划算,以及1688等耳闻目详的零售市场,都是基于业务平台建立的。很多业务也是通过业务平台进行串联的。在业务平台中包括了会员、商品、交易、营销、资金结算、店铺、评价等等电商的基础平台。4亿多会员、10多亿的商品,双11一天900多亿的成交都是在业务平台中进行管理完成的。业务平台是整个电商业务生态的基础。这是非常复杂的业务抽象和业务逻辑控制层。这一层的能力,直接决定了业务发展的速度和业务创新的成本。
电商系统的发展经历了四个阶段。第一个就是淘宝生长期,单一业务系统阶段。第二个是淘宝集市+淘宝商城时期,分布式业务系统阶段。第三个是三淘(淘宝、天猫、一淘)时期、业务平台化阶段。第四个就是目前的垂直化事业部、业务中台化阶段。
第一个阶段是淘宝早期的建立,业务简单,一个业务系统、几台机器就支撑了。刚开始系统不稳定,每天晚上都需要把系统重新启动一下。这是2003年的界面,我们还是保留了历史的痕迹。这个阶段也分两个部分,最早是花50万买的别人的一个PHP的系统。随着业务的发展,逐步改造成了Java技术体系。系统名字叫Denali。随着电商的迅猛发展,业务品类的快速增长以及淘宝商城起来之后,技术人员的增加,这个系统搞不定了,效率和稳定性都变差了。
到2007年团队已经有了上千人,这个时候我们的项目支撑面临巨大的挑战,系统架构必须升级进化。这就到了第二个分布式业务系统阶段。我们开始做分布式战略,把原来的单一系统拆分成多个高内聚,低耦合的中心化系统。现在耳闻目详的用户中心,商品中心,交易中心,店铺中心,就是这个阶段出现的。同时也意味着把上千人的团队拆分成了业务相对比较集中的小团队。每个独立的系统可以独立设计、独立接需求、独立发布,整个研发效率和系统稳定性都上了一个台阶。后面小邪要讲的中间件体系也都是在这个阶段发展起来的。
电商发展的速度实在太快了,到2011年随着各种B2C网站,各种导购网站的出现,公司也在战略上进行了调整,把淘宝拆分成立淘宝、天猫和一淘三个独立的事业部。三个事业部的业务决策链路更短,业务发展更快、技术人员也快速增长。而且三个事业部的定位不一样、业务发展方向不一样、业务的管控规则不一样。而且在一些业务规则上可能还相互冲突。我们都知道在做业务系统的时候,为了快速应对每天的业务需求变更,很多时候都是通过代码来写业务逻辑的。在业务抽象建模,系统架构的开放性方面都是不足的。这就会导致业务逻辑之间的耦合和相互影响,研发效率大幅下降。
系统架构必须升级,这就进入了第三个业务中心平台化阶段。业务中心平台化,什么是平台?就是要把基础能力跟每个业务方的特性业务拆分,要把业务和业务之间的逻辑进行隔离。比如说天猫的业务跟淘宝网的业务有可能是冲突的,但他们需要在一个平台上执行,这时候我们必须把业务的逻辑分开。这时候就开始升级会员平台、商品平台、交易平台等等。平台化最核心的是业务抽象建模和系统架构的开放性。业务抽象解决共性的80%问题,系统架构开放性解决20%的个性化问题。
比如说我们看到这个商品的平台化,整个电商体系有10几亿的商品,涉及商品本身的物理属性、不同渠道的销售价格、库存等等。还有很多的不同类目的管控规则,比例医疗器械,必须要有企业资质证明,要有检验证明等等。而且还有些类目,因为市场定位不一样,管控的力度也不一样,比例淘宝和天猫在手机的管控上也都有差异。我们怎么去解决差异性的问题,这些东西就是在整个商品平台里面去做的。我们要通过建立元数据中心、规则中心、商品发布界面自动生成、图片扫描等等来实现商品管理的平台化。
我们知道每一个人去逛淘宝买东西,每一笔交易都在交易平台上发生,但是在不同的交易的流程和规则是不一样的。比如我们买实物商品、买虚拟商品,还有线下洗头服务等等,它的交易流程不同,有些是先支付在发货,有些是先发货后支付。比如说汽车可能需要在购买的时候同时申请贷款。支付宝给我们提供了很多支付方式,但不同业务需要的支付方式是不一样的,这些东西都是需要通过交易平台来实现。平台化要把不同业务的逻辑隔离开,避免相互影响。
淘宝今年业务方向是内容化,社区化、本地服务化。我们需要为淘宝网未来5年的业务升级搭建新的基础设施,新的业务平台。像这个内容平台就是其中的一个,需要能同时支持所有业务的内容生产、内容管控、内容的检索、内容的组织等等。
全球化是整个集团得战略方向。要能把我们中国的货卖到国外,国外货卖到中国,国外不同国家之间的货物买卖。这些东西都涉及我们整个电商基础设施的升级,包括多语言、多币种、多时区的支持。但他不仅仅这些,还有更复杂的电商基础模型的升级。比如中国有一个很好的制造商,商品品质好。但是他们自己本身不具备英语的能力,俄语的能力,这时候在我们的电商体系里面,如何帮助他把货物卖到全球去。国外的品牌如何简单方便的把货物在淘宝、天猫、聚划算、1688、农村淘宝上去卖等等。比如说华为生产的手机,在天猫上卖的价格、AliExpress上的价格不一样,而且整个的营销模式不一样。“双十一”搞活动的时候,你会发现因为时差的问题,我们整个交易营销的控制逻辑都极大的提升了复杂度。会员安全控制的复杂度等等,都会发生天大的变化。当我们面对全球化的时候,所有基础的模型都会发生变化,涉及到我们对电商商业领域的理解升级,基础模型升级,平台能力升级。
到现在为止,平台化的升级改造还在不断的继续。而且只要这个业务存在,这个公司存在一天我们就要不断的进行平台的升级。
但随着生态的复杂度、业务的复杂度、系统复杂度的升级,我们又遇到了新的问题。我们领域的平台化解决了领域内部的问题。但是我们每一个业务的执行都是夸领域的,涉及会员、商品、交易、营销、店铺、评价、支付、物流、售后等等,业务逻辑横跨几十个系统。比如说这个衣服,我们的商品发布规则是什么样的,交易规则什么样的,营销规则什么样的,这些规则分散在不同的系统中,而且还是相互有关联的。逐渐的,没有一个人能说清楚全局情况了。最后发现最厉害的是谁?就是我们的程序员,因为他们能翻代码,能把所有的逻辑还原出来,但代价极大。最后发现做一个需求,我们评估所有系统的需求要1个月时间,开发只需要10天,但测试又花了10天。真正有效的工作占比很少。整个研发效率和业务响应速度都比较差。这个问题已经不是一个技术问题了,而是一个复杂生态的协作问题。
我们就到了第4个业务中台化阶段。主要解决4个问题:1、信息获取成本高。2、互联互通成本高。3、服务具有不确定性。4、低水平重复建设。如何来解决这些问题呢,我们可去看一下传统的建筑行业和互联网本身的基础设施建设。基本上靠三个东西来共同解决一个复杂生态的协作问题。1、协议标准、运行机制。2、满足标准的分布式执行单元。3、中心化的控制单元。比如说我们的移动互联网,我们现在之所以上网能用手机,它的根本是什么呢?网络的协议,就是我们整个对网络的理解,它是最基本的思考。然后我们有很多设备,不管是什么品牌的手机,只要满足3G协议、4G协议,就可以插上卡上网。也就是通过这张sim卡确定了我们的身份,从运营商控制网络上获取了控制信息。知道我们是谁,能不能上网,网络速率等等信息。回头来看我们的电商生态,就是要根据我们对商业的理解,把一些基础协议梳理出来。例如什么是业务?什么是业务身份?各个业务领域的边界是什么?每个领域提供的基础服务是什么?领域服务和领域服务之间的流程链接标准是什么?再在这些思想的指导下去建立业务平台化的实施标准和业务管控标准。电商业务中台由一系列业务能力标准、运行机制、业务分析方法论,配置管理和执行系统以及运营服务团队构成的体系,提供各业务方能够快速,低成本创新的能力。
业务中台需要一个中心化控制单元,就是我们的运营平台。它主要由协议标准,能力地图、业务需求结构分解、全局业务身份、业务全景图、业务度量等构成。能让我们有一个地方纵观全局,把控细节。其中能力地图是一个最基础的设施,要能把电商生态里面的能力都呈现出来,并在过程中不断的优化完善。就象我们现在出行离不开高德地图一样,今后所有的业务方需要做业务规划,业务创新,都可以到这儿来寻找需要的基础能力。
为了能将业务逻辑本身与实现逻辑分离,可以将业务逻辑下发给不同实现的执行系统,引入竞争,方便业务平台的改造升级,我们要将控制信息从业务平台中抽离到业务中台,以业务身份为主线来进行组织管理和呈现。并以生态角色的视角来重构信息架构。这样的变革对我们原来的系统架构提出了更高的要求。
通过业务中台化,我们把所有业务的数据汇集沉淀。每个业务它是怎么出来的,出来之后做了哪些业务需求,业务活动,每个业务活动的效果是怎么样的,都可以沉淀下来。当一个新业务来了之后,我们就可以让他看到前人成功和失败的经验。逐步可以做一些系统建议,建议他怎么去做营销活动,怎么做效果分析。这样我们能通过数据最终反过来支撑我们的业务创新。
最后,我想说的是业务平台是在最基础技术和前端大家能感受到交互技术中间的一层。这一层不是外部消费者和入门级技术人员能直接感知到的。但是这一层才是真正制约我们整个商业发展速度的核心地带。业务平台如何能支撑几千种业务,几万人在同一个时间里面进行变更,这个对业务业务的抽象能力和系统架构能力的要求都是极高的。
大家学一个技术,学一个网络的协议,今天学完了以后我一辈子都不会忘记,都可以用。但是我们在做业务抽象建模的时候,今天你的想法跟明天的想法都会不一样。为什么?桌子上的一杯水,今天你看到一个杯子,材质是塑料的,瓶口是小的,肚子是大的,你可能就做了抽象建模,但明天发现另外一个杯子的时候,它是大口小肚子的,你对杯子的理解变化了。所以说它是随着你生活阅历的增长,视野越来越开阔,你对同样一件事情的理解越来越深刻,你的建模能力都在不断的提升,而且基本是无止境的。在业务平台你会对商业的本质有更深入的学习、理解和成长。
面对复杂的生态协作,业务中台化是我们集团2018年中台战略的关键组成部分。“商业跑得快,业务平台可信赖”是我们的使命。