“中台”是 2019 年技术圈的热词之一,从观望到试水,很多公司做出了从 0 到 1 的探索。本文采访了蘑菇街技术专家刘诗遥(花名英斗),主要分享了蘑菇街中台建设过程中的坑。他也将在 10 月 17~19 日召开的QCon上海2019分享蘑菇街中台转变之路的更多实践案例,敬请关注!
中台建设背景
在蘑菇街,平台技术团队一直是作为强有力的支撑力量在构建着蘑菇街技术中台,他们不仅维护了与云厂商交互的云适配层,也维护了蘑菇街的一些高效业务中间件。而电商、直播、内容三大业务部门也是各自支撑自己的业务内容,但是每个业务部门内的中台建设推动则是在 2019 年初。通过对业务发展趋势的理解,可以预判出技术未来的方向,在中台改造的过程中按照中台演变的方式来进行部门内人员的分工,提前为公司业务的调整做好了技术侧基础的搭建,改造进行的几个月后,公司的组织架构也如预判一样进行了相应的调整。基于这样变动的原因主要来自于以下的考虑:
在年初的几个项目实施过程中,我们发现当项目涉及业务系统较多时,各系统在实现时仅考虑自己系统的实现部分设计;
设计后的方案虽说在每个业务领域内合理,但是新项目的维护却十分困难;
同时这些新实施的内容大多偏向于很多业务的组合,并不能很好的归属到某一个业务范畴;
通过对业务的预判,我们认为公司会不断进行深入产业链的内容,类似的业务支持还会有很多,而且这些业务的维护周期可能很长、也可能仅有几天,而这些都和传统互联网架构产生冲突。
在做中台之前,一些业务需求的实现如果涉及多个业务领域系统的时候,各内容仅会对自己的业务维度进行思考,现在可以站在全局的维度上,了解需求的更合理设计方式,并且不断强化各业务自身的能力;而在现在,一些新业务的支持,仅需要将各业务领域系统的功能做简单组合即可完成。
中台建设战略
在蘑菇街中台的实现也是会区分技术中台和业务中台的;技术中台主要是由云适配层、业务中间件、直播公共技术等模块组成的,下面会针对这几方面展开说明:
云适配层:由于蘑菇街是借力云厂商的云化架构体系,所以云适配层在初期就是为了适配不同云厂商而建立的;但是在不断发展的过程中,我们逐渐发现云厂商在不同方面提供的能力各有强弱,而针对云厂商的灾备考虑等也使得云适配层在不断强化,逐步会演变成为适配混云架构的核心接入层。
业务中间件:在业务不断升级和转变的过程中,我们发现针对业务的支撑会有大量可抽象可复用的功能形态,而针对于这部分的功能又无法归属到业务的范畴之内,所以我们针对于这部分内容抽象出了业务中间件;而业务中间件的产生,也大大的提升了业务研发的效率,减少了很多重复功能和重复架构的负担,这也使得业务中间件逐步成为技术中台中的重要一员。
直播公共技术:在业务发展的过程中,直播业务的能力也在不断迭代和发展,我们发现直播的底层技术可进行充分的解耦,抽离出与业务相关较小的核心技术模块;借此契机,我们开始了针对于直播公共技术的剥离,进一步使得剥离后的部分成为可被其他业务复用的基础技术,从而达到通过这部分内容而为其他业务赋能的目的。
除了技术中台的组成外,业务中台的组成也可以总结为以下几部分:
商品、交易、促销等电商核心业务:整合了电商相关的核心功能,为其他业务变现提供电商的支撑。
内容核心业务:包含了内容相关的完整能力,可以快速为其他业务提供内容侧的相关功能,并支撑内容与其他业务的结合。
直播核心业务:包含了主播、机构等直播核心业务的核心技术,可为其他业务快速提供直播相关的核心数据和核心业务逻辑,能快速支撑业务的快速调整和业务交叉。
中台改造问题
在建设中台的过程中,还是产生了不少的问题的,而下面这些问题可能在很多公司建设时都可能遇到:
在中台建设过程中,业务仍然需要快速迭代,所以就出现了改造和业务实现并行的问题
这个问题应该比较常见,在一些改造与重构时也会遇到类似的问题,中台的建设无法在业务完全停止的情况下进行,这种情况就类似于一个常见的比喻,就是给飞行中的飞机换引擎;
我们的解决方法就是梳理和分类业务领域内的系统功能,然后逐一进行中台维度抽离和改造,当日常业务需要这部分功能时,通过切换开关和流控的方式将外层对于功能的依赖,逐步转化为使用中台改造后的功能,类似通过一层网关来达到对于新旧内容的路由,而不影响外部业务的迭代。
人员的变动也是中台建设过程中碰见的一个难题
中台的改造是对核心技术部分进行修改和重新划分,那么人员的变动必然会让新接手的人员增加熟悉的工作,这个也是碰见的难题;
但是,当我们发现熟悉的工作无法避免之后,我们开始进行人员的调整,让其他业务领域的人员来进行跨领域内容的熟悉,通过这样的方式,我们让各业务领域的人员都对全局有了更深入的了解;
所以,通过跨领域人员的调动,来达到对不同业务领域内容的了解,可以让中台的改造向着更适合的方向前进。
中台提效案例
在蘑菇街,业务中间件作为技术中台的一部分,它的核心目的就是为了提升日常的研发效率,所以类似案例还是有很多的。在日常的业务研发过程中,我们发现各系统都有对较长生命周期的缓存需求,而每个系统都要自行研发一套针对于缓存的读取,和增量与全量 DUMP 的流程。鉴于这种需求的抽象,我们抽离出这套逻辑内容,研发出了蘑菇街现在在较多系统所使用 Zonda 中间件,通过简单的配置,就可以完成对此类似功能的实现,大大提升了日常业务研发的效率。更多案例分享,将会在QCon上海站的“业务中台化演进”专题中跟大家分享。
未来演进计划
蘑菇街中台的未来大概也会从技术中台和业务中台两方面来进行:
技术中台方面:
不断优化现有的业务中间件,抽离业务需求实现过程中的公共内容,不断为业务研发提升效率;
针对业务发展过程中的一些基础技术进行剥离,将例如直播的底层技术不断做强做厚,可以让直播技术与其他业务的结合提供更多的可能性;
混云架构的持续推进,实现基础设施部分在灾备方向上的可控。
业务中台方面:
业务中台建设首先要注重各业务领域系统的能力沉淀,不断提升中台层面上各业务领域系统可支持的能力,为之后业务的快速搭建或者业务的快速转型提供一个坚实的基础。
除此之外,业务方向上的预判能力也是业务中台演进计划上的考量之一,通过考虑业务的发展方向,预判未来业务所需要的能力,在业务中台建设的过程中,提前设计这些业务所需要的功能。
采访嘉宾介绍
刘诗遥,花名英斗,现任蘑菇街技术专家。曾就职于京东、支付宝等公司,2016 年加入蘑菇街。目前在蘑菇街负责电商技术相关业务架构工作,主要职责是在业务方向上,明确技术规划和业务技术架构,并完成相关技术方案的落地。曾负责推动蘑菇街大促等项目的进行,协调并完成技术中台内容与业务侧的深度结合等。
在QCon上海2019的演讲中,刘诗遥将结合业务和技术两方面的视角,为你详解蘑菇街中台建设过程中的难点和变通之法,帮你避开中台设计过程中必踩的坑,点击了解详情。
评论