📣📣📣📣📣📣📣
🎍大家好,我是慕枫
🎍前阿里巴巴高级工程师,InfoQ签约作者、阿里云专家博主,一直致力于用大白话讲解技术知识
🎍在这里和大家分享一线互联网大厂面试经验、技术人成长路线以及Java技术、分布式、高并发、架构设计方面的经验总结
🎍感恩遇见,希望我们都能成为更好的自己
📣📣📣📣📣📣📣
“变则通,通则久。”-《周易-系辞》
2023年3月27日,马老师现身他创办的杭州云谷学校,在外云游一年的马老师终于回国了。相隔一天,3月28日阿里巴巴董事局主席张勇发全员信,宣告了阿里有史以来最大规模组织架构调整。阿里将按照“1+6+N”的组织结构进行拆分,“1”就是一个阿里巴巴上市公司主体相当于母公司或者控股公司,“6”代表六个业务集团,分别是淘宝天猫集团、阿里云智能集团、本地生活集团、菜鸟集团、国际数字商业集团以及大文娱集团,“N”表示多家独立的业务公司。阿里正式结束吃大锅饭的时代,各个业务板块将独立直面市场接受市场考验,在未来如果这些业务发展的好都可以进行独立融资上市。当组织架构发生巨大变革的时候,其背后的技术架构也会发生变化。那么阿里曾经引以为豪的中台技术战略将会面临怎样的变化?中台技术战略到底是不是一场骗局?本文将谈谈慕枫对于中台的看法以及未来发展方向的判断。
中台战略的由来
中台探索
天猫业务蓬勃发展逐渐成为阿里巴巴TO C第二业务引擎,而在当时淘宝和天猫虽然都是电商业务,都会涉及到商品、搜索、交易、支付以及物流等核心基础功能,但是两者却是完全独立的业务和技术体系,而天猫的电商业务都是淘宝技术团队在支撑,所以经常出现淘宝的业务需求优于天猫业务的情况,因此在一定程度上阻碍了天猫业务发展的步伐。另外两个电商业务板块有太多类似的业务流程,就好比同样一件事情换了一拨人又干了一遍。因此为了解决上述问题,在2009年的时候,阿里巴巴就成立了共享服务事业部,将淘宝、天猫上层业务中通用的业务能力如用户中心、商品中心、评价中心等等都沉淀到共享服务事业部中进行统一维护,从而避免服务能力重复建设,降低技术资源投入,实际这就是早期的中台思想,通过通用能力的沉淀提升集团平台能力复用水平,同样也是阿里巴巴在中台技术战略上从组织架构到技术架构的一次探索。
时间来到2015年,马老师带领阿里巴巴集团高管们拜访了芬兰一家名为supercell的游戏制作公司,号称当时世界上最成功的移动游戏公司,旗下的《部落冲突》《海岛奇兵》《皇室战争》等游戏受到了全球游戏玩家的广泛欢迎。公司一年的净利润高达15亿美元,但是公司当时的员工数却还不到200人,因此人均工作产出高得离谱。supercell最大的特点就是5-9个人就可以组成一个完整独立的研发团队来专门负责一块游戏的开发制作。这也呼应了公司的名字,每个研发团队就像是一个超级细胞,拥有一定的产品自主权,可以决定开发什么样的游戏、怎样进行快速迭代试错以及如何向市场进行发布推广。我们都知道市场总是千变万化的,因此谁能够快速推出拿得出手的产品,谁就可以快速占领市场。而supercell是如何靠几个人就能迅速开发一款新游戏的呢?实际上游戏有很多共用的能力比如游戏引擎、场景创建、人物模型、路径算法等等这些都是比较通用的。正是由于这些通用化组件的沉淀,技术团队在开发新游戏的时候可以快速复用已有能力避免重复造轮子,如此才给了小团队在几周时间就可以快速迭代进行新游戏开发的可能性。
马老师从中意识到这种通用化组件沉淀的巨大潜力,而彼时阿里巴巴正处于高速发展时期,逐渐成为中国最大的电商平台。业务体系已经非常庞大而且复杂,另外各项新业务层出不穷,因此技术架构如何能够高效地支撑新业务快速落地,适应市场变化成为阿里巴巴集团层面不得不面对的问题。阿里巴巴于是在2015年底的时候启动“小前台、大中台”战略,计划在三年时间里面构建符合DT时代的更加灵活的组织机制、业务机制以及技术架构,正式从集团层面推进落地中台战略,集合整个集团的数据运营能力、产品技术能力为瞬息万变的前台业务提供强有力的支撑。
什么是中台
那么我们应该如何理解中台呢?其实中台最核心的思想就是复用,所以我们可以把中台理解为能力复用平台, 无论是技术架构调整还是组织架构变化目的都是为了实现复用,从而解决重复造轮子的问题,最终避免系统重复建设导致的系统复杂性以及研发资源浪费等问题。而基于中台的通用能力,支撑新业务快速上线成为了技术战略的不二选择。
之前写过如何优雅的消除系统重复代码这篇文章,其中提到在项目中消除重复代码的核心思想就是抽离或者抽象业务代码中相似的逻辑来进行统一处理,从而达到消除重复代码的目的,这其实是站在某个项目代码的视角来看待问题。如果我们把视角放大,比如站在整个阿里巴巴集团视角来思考问题的时候,就是要把各个业务线重合的能力进行抽离或者抽象出来形成基础的能够服务于各个业务线的底层技术架构,这种技术架构其实就是中台架构。无论是抽象代码实现重复代码消除或者沉淀通用能力落地中台架构,它们的核心思想或者说底层逻辑都是复用思想。
阿里的中台战略是从技术上架构和组织结构的全面调整,中台在内部被称作为CTO线,主要负责整个集团的数据中台以及业务中台的建设和维护。业务中台主要是对前台各个业务线的交叉核心基础能力进行抽象提炼最终沉淀出通用的底层业务能力提供给前台业务进行调用。数据中台主要负责各个业务中涉及到的数据使用方式进行统一的管理以及模型构建。
为什么又要拆中台
中台架构可以说是某个发展阶段的产物,因此它可能在公司的业务高速发展阶段可以发挥巨大的作用。但是随着业务的发展变化,外部越来越激烈的市场竞争以及互联网业务逐渐进入存量用户维护期,多种原因促使公司战略不断调整变化,而重度建设的中台可能就会成为掣肘公司发展的绊脚石。
为什么这么说呢?我们还是拿阿里巴巴举个栗子,阿里巴巴的业务范围可以说覆盖了人们生活的方方面面,业务形态也是多种多样,有提供生鲜品类的盒马,有专注二手交易的咸鱼还有主攻低端市场的淘特等等,不同的业务对于交易流程的细节各有不同,比如对于盒马这个生鲜新零售排头兵来说,它的营销策略、业务逻辑以及仓储运转方式和电商板块都有较大的区别,如果让它去使用中台的能力就需要进行不少的适配改造,这样反而会对盒马自身业务发展造成一定的影响,在快速变化的市场环境中更加不容易先发制人。
正是业务形态太多了,因此中台就很难满足所有业态的个性化需求。中台的同学疲于应付各种业务提出的业务需求,另外每当各个业务BU向中台提出新的需求的时候,中台团队的排期一般都要1到2个月的时间,业务同学觉得中台响应太慢,而市场竞争本身就十分激烈,谁能够更加快速满足用户需求,谁就能在市场竞争中抢占先机,因此业务的快速发展和中台相对迟缓的需求响应的矛盾越来越激烈,各个业务BU想要有自己的决策权以及应对市场变化能力的呼声也越来越强烈。因此基于以上两个最核心的原因,把中台做薄的呼声越来越强烈,让中台回归最原始的形态,只做最基础,最交叉的能力,各个业务BU结合中台最基础能力之上构建自身业务,把业务迭代的主动权放给业务BU自身,这样在市场竞争中,业务迭代发展中,各个业务可以根据自身业务特性实现快速业务迭代,提升市场反应能力。阿里宣布组织架构变革之后,集团中台将全面做轻做薄,大中台将随着业务BU的拆分被各个前台业务所吸收。
慕枫并不认为阿里拆中台就代表中台战略的失败,相反正是因为可以根据公司发展需要及时调整技术架构以及组织结构,积极拥抱变化,反而体现了一种在变化中寻求突破的勇气以及强大的执行力。通过拆分中台可以将原先在中台中统一管理的数据和技术能力进行释放,将其打散到各个业务BU中,让各个业务BU拥有更多的主动权和决策权。如此各个业务BU可以根据外部的市场变化以及自身业务的特点绕开原有的中台部门进行针对性的定制和优化,使得各个业务板块拥有更快的业务需求响应能力,业务的深耕细作不再受中台的制约。实际上中台只是一种形式,各种业务能力聚在一起是中台,将业务能力打散化作春风细雨滋润业务也是中台。
写在最后
中台技术架构好像从出生到现在一直都有批评的声音,尤其是当阿里巴巴进行中台拆分之后,幸灾乐祸的声音更是不绝于耳,更有甚者说中台是一场骗局。其实我觉得大可不必,无论技术架构还是组织架构,都需要契合当前公司以及业务发展才能发挥它们应有的价值。如果中台还可以支撑你的公司进行快速业务迭代那么就继续发挥中台的价值,如果中台已经掣肘公司的业务发展那就把中台做轻做薄。总之适合自己的才是最重要的,不要人云亦云,别人说中台好就大刀阔斧地去改造自己的系统,别人说中台不好的时候也跟着去做轻做薄,我们需要结合自己的系统有自己的思考。