来自:程序员小灰
没有中台的时代
在传统IT企业,项目的物理结构是什么样的呢?无论项目内部的如何复杂,都可分为“前台”和“后台”这两部分。
什么是前台?
首先,这里所说的“前台”和“前端”并不是一回事。所谓前台即包括各种和用户直接交互的界面,比如web页面,手机app;也包括服务端各种实时响应用户请求的业务逻辑,比如商品查询、订单系统等等。
什么是后台?
后台并不直接面向用户,而是面向运营人员的配置管理系统,比如商品管理、物流管理、结算管理。后台为前台提供了一些简单的配置。
前台、后台、用户之间的关系,可以用下图简单表示:
在当时,项目的发展相对稳定,并不需要那么快速的去迭代和试错,所以这种结构并没有什么问题。
在互联网快速发展的今天,企业之间的竞争越来越激烈。只有以用户为中心,快速响应用户的需求,不断迭代和试错,才能让企业在竞争当中立于不败。
但是,现实情况下......
在传统的前台-后台架构中,各个项目相对独立,许多项目都在重复发明同样的轮子,即让项目本身越来越臃肿,也让开发效率越来越低。
这种时候,为提高开发效率,我们有必要整合出一个中间组织,为所有的项目提供一些公共资源。而这个中间组织,就是人们所说的“中台”。
中台的领跑者
SuperCell是一家芬兰的手机游戏公司,这个名字或许有些陌生,但是说起下面几款游戏,大家一定会很熟悉:
部落冲突
海岛奇兵
皇室战争
SuperCell公司就像是一个高产的游戏孵化器,在几年内开发出了10款以上的游戏,但是大部分用于试错的游戏都在研发过程中被腰斩了,最终呈献给用户的几款游戏都是经典中的经典。
是什么让SuperCell公司能够如此高效地试错和迭代呢?他们依靠的是强大的平台资源,支撑起各个游戏开发的小团队。
他们开发出的游戏看上去风格迥异,却存在许多共同之处。在业务上,共通的东西包括支付系统、用户系统等等,在技术上,共同的东西包括游戏引擎,内部开发工具等等。而这些共通的资源,都可以由一个强大的“中台”来提供:
中台的架构思想改变的不只是项目结构,也影响了研发团队的组织形式。SuperCell公司把这种高效的组织形式称为“部落”。
紧随其后,国内互联网公司也纷纷开始了各自的中台战略。
阿里巴巴提出了“大中台,小前台”的战略:
图中,阿里巴巴许多产品线的共通业务经过下沉,形成了中台的各种业务中心,而Aliware则是阿里巴巴的技术中间件平台,为各大业务线提供技术支持。
华为提出了“平台炮火支撑精兵作战”的战略:
华为把作战小分队比喻为前台项目团队,把中台比喻成战地指挥部。在这个比喻当中,中台的作用就是提供资源支持:要数据给数据、要技术给技术。
中台的具体划分
业务中台
业务中台在前文中反复提及,就是把各个项目的共通业务进行下沉,整合成通用的服务平台:
技术中台
技术平台,为了避免研发人员重复发明轮子,向各个项目提供通用的底层框架、引擎、中间件:
数据中台
数据中台,为各个项目进行各种数据采集和分析:
算法中台
算法中台,为各个项目提供算法能力,比如推荐算法、搜索算法、图像识别、语音识别等等:
中台的适用场景
从0到1的阶段,没有必要搭建中台。
从0到1的创业型公司,首要目的是生存下去,以最快的速度打造出产品,证明自身的市场价值。
这个时候,让项目野蛮生长才是最好的选择。如果不慌不忙地先去搭建中台,恐怕中台还没搭建好,公司早就饿死了。
从1到N的阶段,适合搭建中台。
当企业有了一定规模,产品得到了市场的认可,这时候公司的首要目的不再是活下去,而是活的更好。
这个时候,趁着项目复杂度还不是特别高,可以考虑把各项目的通用部分下沉,组建中台,以方便后续新项目的尝试和旧项目的迭代。
从N到N+1的阶段,搭建中台势在必行。
当企业已经有了很大的规模,各种产品、服务、部门错综复杂,这时候做架构调整会比较痛苦。
但是长痛不如短痛,为了项目的长期发展,还是需要尽早调整架构,实现平台化,以免日后越来越难以维护。