01 中台的演变
中台的催生基石是能力共享。如果中台所提供的能力无法被共享,那就不是中台能力。如果中台只服务于一个前端应用,那就不是中台。
那么哪些能力比较通用且是多个前台系统的共性需求?要回答这个问题,可从系统的组成开始分析,如图3-9所示。一个应用系统首先是为用户服务的,因此最先离不开的是系统的角色和用户。
因此,建设中台的一个起步点就是先将角色和用户这些资源管理起来,形成用户共享中心。统一用户、统一权限、统一登录,可以看作是中台的雏形,但如果仅仅停留在此阶段,就退化成了单点登录。在此基础上,再发展与人相关的会员系统,比如会员的积分、积分的变动、会员的等级等就形成了会员中心。
再者,用户是通过商品、订单与系统进行交互的,因此,商品的管理、订单的集中处理也是可以一起共享的。这些资源的统一集中管理后,相关的用户、会员、积分、订单等数据被存储在一起,方便全局管控。进行集中管理的资源越多,建设中台所取得的成果就会越大,就越能体现中台对前台应用的支撑作用。
▲图3-9 中台建设的三个步骤
在资源集中管理的基础上,更重要的是抽象出系统能力。抽象是指在考虑目标事物时,去除表象的、次要的方面,而抽取相同的、主要的方面,从而做到从个别中把握一般规律。通俗一些的说法就是将目标事物模型化。只有通过抽象,设计出来的能力才能应用到类似的需求中。
中台是为前台业务服务的,因此当前台业务有所更改时,中台要随需而变。这就要求中台具有很好的灵活性来支撑业务的开拓和发展:
数据模型需要根据前台业务要求实现可扩展性。
业务流程可根据场景和需求重新定义和编排,并可通过插件机制进行定制。
中台环境需要支持多环境可部署。比如不同的基础设施环境,包括公有云、私有云及容器云等;再比如不同的微服务框架,如阿里云的EDAS、开源的SpringCloud、Dubbo等。
中台的建设不是从零起步,但是中台是为业务服务的,是需要根据企业业务演进逐渐积累而成的。因此中台的建设不是一蹴而就的。
02 中台生态的形成
中台是企业级共享能力平台,因此除了最开始提出的业务中台和数据中台,还会逐步发展出技术中台、研发中台、移动中台、AI中台、算法中台、组织中台等其他中台。
1. 技术中台
技术中台整合和包装了云基础设施,以及在其上建设的各种技术中间件,比如微服务、分布式缓存、消息队列、搜索引擎、分布式数据库等,并在此基础上建设和封装了简单易用的能力接口,如图3-10所示。
▲图3-10 技术中台
技术中台的建设标准是参考在一个只提供虚拟机或容器的私有云上,建设一个业务中台或数据中台所需但私有云没有提供的技术相关组件。
技术中台作为工具和组件,为建设前台应用和业务中台提供了基础设施重用的能力,大大缩短了它们的建设周期。如果数字中台(即业务中台+数据中台)是强大的中台炮火群,则技术中台提供的是如何根据需要快速搭建中台炮火阵地(即创建和部署不同环境下的中台)。
如何让阵地建设得更加可靠、简捷易用(通过技术中台提供资源的动态扩展能力等)?隔离数字中台对基础设施的依赖。比如业务中台的每个业务服务中心都需要关系型数据库。
关系型数据库要提供一主一备和自动切换功能,以及读写分离和只读库创建的能力。为了快速访问大数据量的表,一般需要使用分布式数据库对其进行分库分表操作。
分布式缓存是提高访问效率的一个必不可少的组件。通过消息队列实现异步解耦和大流量削峰填谷,这大大增强了前台应用应对大用户并发的能力。使用CDN加速的对象存储,可极大提高前端访问的性能。
数字中台是在技术中台的基础上开发、运行的,但又不能与技术中台绑定。因为数字中台关心的是如何满足业务要求,而技术中台提供基础设施底层的能力,两者相互促进但又相互隔离。
2. 研发中台
研发中台是关注应用开发效率的管理平台,如图3-11所示。软件开发和系统建设是一项工程,涉及项目管理、团队协作、流程、测试、部署、运营、监控等方面。
▲图3-11 研发中台
如何将在企业应用开发过程中的最佳实践沉淀为可重用的能力,从而更好地快速迭代开发创新型的应用,也是很多企业目前的一个关注点。这个关注点也是企业能力的体现,即研发中台。
研发中台为应用开发提供了流程和持续交付的能力,包括敏捷开发管理、开发流水线、部署流水线、持续交付。敏捷管理一般由问题、迭代、实施等组成,并管理研发人员的日常工作和任务。
开发流水线则涉及源代码的版本管理、分支的创建、合并和提交,半成品的构建、存储和使用以及产成品的构建。将产成品部署到指定环境并上线运行是部署流水线的职责。
线上的应用需要监控,包括基础设施监控、应用监控、日志洞察、浏览器监控、链路分析和追踪等功能。研发中台为应用的开发提供了流程、质量管控和持续交付的能力。
3. 移动中台
消费者接触得最多的企业前台触点在移动端。如何保障移动端的迭代效率和稳定性也是企业需要着重考虑的。一个电商业务一开始可能只是一个工具型的App,完成对商品全生命周期的闭环支持。随着在业务中台基础上发展出相似业务,需要平台级的移动端开发支持。继续深化发展可能还需要支持多业态。
因此为快速开发移动App、H5和小程序以支撑前台业务发展所进行的最佳实践就逐渐沉淀为移动中台,如图3-12所示。
▲图3-12 移动中台
移动App与其他前端技术比较,有其特殊性。比如移动App作为一个C/S架构,其发版模式需要通用应用市场的审核,而其客户端的更新是使用者控制的,提供远程配置、动态更新有助于控制App端。
移动业务是在线业务,对网络存在强依赖,而移动链路本身的稳定性和连通率等相比有线网络有一定的不足,因此消息推送的实现需要考虑网络因素。
因移动端质量相关问题,需要提供热修复等功能。
对移动App本身的安全扫描和加固也是一个需要着重考虑的因素。由于前端有不同的实现技术,如果完全使用不同的开发方式,对于企业来说是重复投入,且资源和技术不能共享。因此,使用Hybrid混合开发的方式,既可以支持移动App,又可以支持H5,甚至小程序,这也是移动中台需要研究的一部分。因此,尽可能将前端组件化,比如UI组件和图表组件,在此之上组装成业务组件,能大大提高移动端开发效率和质量。
4. AI中台及其他
前面所提的业务中台、数据中台等都是从技术系统层面展开的中台演变。企业在进行中台建设时,容易着手的也是对技术体系的改进。但要发挥中台的能力,让中台战略实际落地到企业,并为企业的业务目标服务,需要有与中台技术架构相匹配的组织架构。
从Supercell 的“部落”,比如阿里巴巴的共享业务事业部、数据平台事业部,京东的前、中、后台,大家都可以看到建设中台需要两手抓,两条路线相匹配,齐头并进。
如果将业务中台、数据中台等称为“战斗部队”,那么为企业提供的项目投资管理、风险管理、资源调度等的组织中台则是“战场指挥部”,指挥前线,调度后方。
“大中台,小前台”这种组织形式,并不是什么新鲜事物,实际上它是一种理想化的支撑模式。前台业务足够灵活,配套支撑足够快捷,资源还能够高效复用。
不过要让中台模式在企业中发挥作用,对企业本身也是有一定要求的,比如企业有一定规模,业务比较丰富,值得去提炼共性元素形成共享能力。如果同时开展多种相类似的业务,那么从业务A提炼出来的能力可能提供给业务B使用;或者虽然业务单一,但同一业务在不同地域有不同的模式,也能沉淀出很多共享能力。
数据中台提供了数据分析报表来响应运营,并在此基础上提供数据能力直接服务于业务。那能不能更进一步,提供诸如个性化服务等与智能相关的能力?答案是肯定的,通过AI中台就可实现。
AI中台借助数据中台的能力,尝试解决模型的训练、发布,智能服务的构建自动化,统一的元数据管理体系,模型的全生命周期管理等问题,通过AI能力平台化,降低对人员能力的要求。
与数据中台利用CPU级别的资源不同,AI中台需要扩展对GPU资源管理和整合能力,为算法模型的开发者、训练者、标注管理者、数据管理者等构建智能服务的人员服务,并最终为业务人员提供智能化的服务。
03 中台与前台的博弈
中台通过提供基础服务和解决方案为前台业务应用提供服务。中台的职责是不断提升整体平台的服务能力基线。根据中台对前台业务的支持与参与度不同(见图3-13),会产生不同的中台建设路径。
▲图3-13 中台对业务的参与度
一个极端理解是中台是工具,即将中台作为工具平台来建设。由于工具的通用能力强,抽象层度高,所以工具可适应各行各业的企业。如此,中台的研发人员可只专注技术相关的问题,而无须关注和了解企业本身的业务。
但是正由于工具无法深入业务场景,也不内含业务能力,导致中台不能沉淀业务,从而使中台开发人员与业务方沟通不顺畅,中台方无法直接为业务赋能。为了解这个问题,需要一个长期的业务理解和系统建设过程。
另一极端是中台完全为业务服务。中台方能快速理解业务需求,参与业务方的数据模型讨论、流程设计等,并将其变成系统实现。中台研发人员参与业务建设,符合中台为业务服务的目的,而且中台的能力也是通过业务沉淀下来的。
但是过分关注业务,过分与业务团队耦合,会受限于时间和团队的能力,不仅中台可能会没有考虑通用的业务能力,也会导致无法更专注于对中台技术的深入研究。
中台如果不从抽象度、适配性等角度出发,投入建设机制性的工作,很有可能局限于某单一业务,导致中台无法很好地适应其他相关业务的要求,从而不能很好地应对业务的变化。
目前很多宣传中描述的数据中台走到了图3-13所示的最左侧:把数据建设的工具称为数据中台,或把数据治理、数据建模等工具宣称为数据中台(其实只是片面地在理解数据中台)。中台最主要的能力是提供业务方可重复使用的并与业务相关的能力。数据工具的能力太泛化,会导致与