Headfirst 中台

深入浅出 讲 中台

本文概要

术语“中台”的起源

阿里巴巴参观Supercell

关于阿里中台战略起源,有一个广为流传的说法。2015年,马云带领高管,前往芬兰赫尔辛基参观游戏公司Supercell。这家不到两百人的公司,相继推出《部落冲突》、《卡通农场》、《海岛奇兵》等爆款游戏,几年内收入与估值翻番。

回国后几经研究,阿里开始推行中台战略。

企业竞相模仿

此后,各大企业竞相模仿“中台”战略,为什么呢?资本不会无缘无故跟风,深究其模仿的动力,乃是因为看到了中台化后带来的效率的提高成本的降低

阿里巴巴集团CTO、阿里云智能总裁张建锋在不同场合多次提到,由于智能中台,“每年几万亿的交易额,内部只有几百个运营。

Supercell借鉴谁?

那么问题来了,Supercell的游戏开发模式,又是借鉴谁的?在回答这个问题之前,让我们来看看Supercell的中台是怎么样的:

Supercell的中台,指的是公司将游戏开发过程中公共通用的游戏素材和算法整合起来,并积累了非常科学的研发工具和框架体系,构建了一个功能非常强大的中台。这样强大的中台可以支持若干个小团队在短时间内开发出一款新的游戏。

作为一个程序员,以前只知道“前端”和“后台”,并不知道“中台”是什么鬼,但是看到“公共”、“通用”和“框架”,我就明白了,这不就是优化代码时经常用到的,将出现频繁的类似代码,抽取出来并封装为公共函数/接口?也就是说,把企业看成一个软件项目,那么中台,就是公共函数库。

重复且相似的业务

抽象为中台

思想:函数式编程

让我们把实际问题抽象为数学问题,假如有这么一道题让我们解:

  • 计算10和5这两个数的相加、相减、相乘和相除的结果并打印

那么用Python的解为:

# 代码
sum = 10 + 5
sub = 10 - 5
mul = 10 * 5
div = 10 / 5
print(sum, sub, mul, div)

# 输出结果
15 5 50 2.0

此时,又来多几道题:

  • 计算8和4这两个数的相加、相减、相乘和相除的结果并打印
  • 计算6和3这两个数的相加、相减、相乘和相除的结果并打印
  • 计算5和2这两个数的相加、相减、相乘和相除的结果并打印

这个时候如果继续用原来的代码写,就得写15行

# 代码
sum = 8 + 4
sub = 8 - 4
mul = 8 * 4
div = 8 / 4
print(sum, sub, mul, div)
sum = 6 + 3
sub = 6 - 3
mul = 6 * 3
div = 6 / 3
print(sum, sub, mul, div)
sum = 5 + 2
sub = 5 - 2
mul = 5 * 2
div = 5 / 2
print(sum, sub, mul, div)

# 输出结果
12 4 32 2.0
9 3 18 2.0
7 3 10 2.5

这时我们发现了这种题目有个规律,而且在可预见的未来内,会有很多这种题目需要解,我们便把题目抽象:

  • 计算两个非零整数的相加、相减、相乘和相除的结果并打印

并为此写个函数:

# 函数代码
def calculate(a, b):
    sum = a + b
    sub = a - b
    mul = a * b
    div = a / b
    print(sum, sub, mul, div)

以后再有需求过来,比如再来4个:

  • 计算100和300这两个数的相加、相减、相乘和相除的结果并打印
  • 计算100和400这两个数的相加、相减、相乘和相除的结果并打印
  • 计算100和500这两个数的相加、相减、相乘和相除的结果并打印
  • 计算100和600这两个数的相加、相减、相乘和相除的结果并打印

我只需要写4行代码:

# 代码
calculate(100, 300)
calculate(100, 400)
calculate(100, 500)
calculate(100, 600)
# 输出结果
400 -200 30000 0.3333333333333333
500 -300 40000 0.25
600 -400 50000 0.2
700 -500 60000 0.16666666666666666

效率提升

可以看到,代码量发生了变化:

  • 抽象出函数前,解N道题的代码量为 lineBefore = 5N
  • 抽象出函数后,解N道题的代码量为 lineAfter = 6+N

当N>1时,lineAfter < lineBefore

中台的优缺点

经过了上面的例子,想必大家知道了中台的理论基础。任何硬币都有正反面,那么中台的优缺点是什么呢?

优点

对于重复的劳动进行抽象化,提高效率。(相关概念有:单一职责、螺丝钉、微服务)

缺点

高耦合,牵一发而动全身。比如上面的函数一旦修改,那么之前调用它的所有题目的答案都会错误。

前提及场景

上面例子有个前提,就是N>1,也就是说,只有重复劳动,而且在可预见的未来有很多重复需求时,中台才能发挥它的功用。如果是创业公司在研究创新项目,实施过程中不知道未来有哪些重复劳动就跟风去搭建中台,那么其实是无米之炊

这种思想,除了IT系统中台化(属于企业数字化转型范畴)外,还有企业组织架构中台化(部门职责专业化)和业务中台化(相同业务聚合)。另外,我们的真实需求是“提高效率,降低成本”,并不是非中台不可

经典案例

亨利福特的流水线

以流程为本、保证流程本身的顺畅和效率是其精髓。运用这些原则,工人减少了无谓的思考和停留,把动作的复杂性减少到最低程度,几乎只用一个动作就完成一件事情。

平安集团的“大厨房”

早在2005年时,平安便在汇丰的帮助下,建成了一个高度集中的金融后台,平安张江运营管理中心。这个中心,被马明哲称为后援“大厨房”,它将平安分散于全国800多个城市的后台工作集中起来,为集团在全国的3000多个分支机构提供统一的“工厂流程化”支持。通过技术手段,使得服务标准统一、客户资源共享。在这个后台的支持下,平安各条业务线之间能够快速反应协调。

微信和支付宝的“支付接口”

以前的支付,用A银行渠道付款就得下载A银行的APP,用B银行渠道付款就得下载B银行APP,付款方和收款方每增加一种付款方式,就要重新配置一番(付款方要下载一个APP,收款方要在银行开收款账户),重复劳动多。

此时微信和支付宝就把“绑定银行卡”中台化了,把支付双方的重复且繁琐的劳动,缩减为只需绑定一次卡号,而且是社会上N个支付双方的劳动都缩减了,提高了社会效率。不得不说,其贡献挺大。

阿里到底做了什么?

阿里的中台战略,表面上说是从2015年开始,但我觉得,从阿里云开始就已经在摸索。阿里云最初乃模仿亚马逊云AWS,而亚马逊云AWS的诞生初衷是:

不少人会问,为什么亚马逊能够从一个书商转型为一家云服务提供商呢?最初,为了支撑其庞大的互联网网上购物业务,尤其是要理论上支持在圣诞节等热销的庞大并发用户数量的访问和交易,亚马逊部署了大冗余的IT计算和存储资源。而这部分IT资源在绝大部分时间里都是空闲的。其实,当时有许多互联网公司都曾采取类似举措。但是,善于抓住商机的亚马逊,此刻冒出一个大胆的想法:何不将亚马逊多余的计算资源租赁给用户?我们可以发现对于亚马逊来说,AWS最大的用户就是亚马逊自身。这也是亚马逊多年IT运营经验的一个汇总,保证了云服务的品质的同时,亚马逊将自己IT系统改造成平台化的产品,使之适合于向公众开放服务。

“而且向公众开放又可以倒逼自身系统的优化。”–本文作者

也就是说,从阿里云成立(2009年)开始,阿里就已经在部署其内部的运维中台,在大型企业工作且用过阿里云的技术人员就知道,阿里云的运维效率是多么得高!

此外,阿里还进行了内部组织架构的中台化和前端业务的中台化,有了近10年的积累和打造,才使得阿里的企业数字化程度如此之高。

预告

  • 企业如何打造中台?
  • 企业如何进行数字化转型?