如何快速复制阿里巴巴的互联网架构?

2016-01-25 12:18


图片: Yestone.com 版权图片库

编者按:本文归纳自赵杰辉(阿里云中间件产品总监)在阿里云栖大会上的分享。

什么是互联网架构?

把传统的 IT 架构,从一个物理的专用硬件设备搬到云上,这不是互联网架构。开了一个公众号,亦或做一个 O2O 项目,也不能算互联网架构。

互联网架构有三个特征:

第一是敏捷性

首先要想清楚客户为什么需要互联网架构重构他的 IT 系统?这里举一个例子,中石化的供应链的平台,今年是跟阿里合作开发的。中石化体量太大,若按传统的 IT 架构去做,从发标到最后上线,至少需要一年时间。可基于阿里巴巴的互联网架构,从第一次接触到最后上线,只用了 90 天时间,到运行四个月已经达成 70 多亿的交易额。

在供应链平台上线之后,两三个月时间又把中石化的会员卡系统上线,随后又是物流系统上线。所以互联网架构的第一个特征就是非常创新敏捷。

第二是扩展性

整个互联网架构的计算能力,随着机器的增加,其性能和能力都是可以线性扩展的。

这里其实有两个含义,第一是在类似于 “双 11” 这种高并发场景下,它可以线性扩展;第二是当你要搭建一个覆盖全国或者全球的大平台,综合原来所有的 IT 系统架构依旧发现资源不足时,它可以线性扩展。这就像,基于以前的传统 IT 系统,我们的社保不能各个省联通成一个大平台,税务也是这个道理。

第三个是共享和开放性

在基于传统 IT 的信息化建设中,做一个 ERP 系统或者几百个其他的系统,里面是有非常多的重复开发,这就是能力的不共享。

而阿里的互联网架构下,整个集团用户的管理,其实是作为一个服务共享给所有 BU 的。当做完第一个系统后,用户管理的能力便沉淀下来,这种共享能力被逐渐成为一个业务的共享层之后,再做一个新的系统或者业务时,只需要做一个差异化的业务逻辑就可以。

这就是内部共享,当积累更多,就可以选择开放和运营起来,共享给合作伙伴,这就是生态。

云计算是另一类运营商

电信运营商是运营着通信能力,云计算的公司是运营着计算能力,所以在互联网作为一种基础设施的前提下,云计算其实是另一类运营商。

站在企业的角度,最后每一个企业都会变成它核心能力的运营商。例如一个传统的制造企业,他具有设计能力、品牌能力、用户管理能力等,如果通过互联网架构,把这些核心的能力抽象成一个一个的微服务,通过运营,这些能力可以开放给所有的子业务单元,可以开放给下一个供应链和各个合作伙伴。那么企业就变成了其核心能力的运营商。

阿里巴巴的逻辑是,不仅可以去共享基础设施的云化,还可以实现业务能力的云化。这里就需要大规模的分布式数据库,包括整个服务化的理念等。

如何去快速复制阿里巴巴已经沉淀下来的互联网架构?

先看一下基本框架:最底层是企业级互联网架构,往上到中间这一层就是共享服务层,顶层就是能力开放平台。

这里有一个挑战,当原来的用户管理能力,是在不同的 IT 系统中以不同的形式存在,比如说用户的信息可能在 A 系统中是一种数据形式,B 系统又是另外一种形式,双方孤岛式的存在,在抽象成一个共同的用户管理中心能力之后,需要支撑的就不只是一个业务流了,要求必须是能力可线性扩展。

再来,把一个专用硬件上跑的独立的烟囱式系统,拆成一个横向的、平台化的、分布式的系统之后。有一个问题:这个系统虽然很好,当它越来越大的时候,运维怎么去治理,那么就要有数据化的运营。

说白了就两件事情,一个是在整个系统中做任何一次点击,整个服务集群里面的链路要被跟踪下来。再一个就是结合流计算的技术,能够实时的分析这些数据。真正的互联网架构,还要做到当服务对象感知出问题之前,系统已经知道自己出问题了,并切换掉。

也就是说,第一个挑战是分布式系统的平台和运维之间的矛盾出现后,必须要靠数据化和实时计算的方式去处理。 

接下来会有第二个问题,小的垂直式系统被封入一个大的平台之后,有些调用会变成跨网络的调用,那么一定会遇到一个系统性的瓶颈。这时候,必须从架构上提升它的性能,也就是 MQ 起到的作用。此外,在分布式的服务框架等把计算层面的瓶颈打开之后,数据库会出现线性的扩展,数据数访问的链接等等也需要加机器让它线性扩展。

等这些都做完,整个的企业级互联网架构也就建起来。服务的中心可以涵盖供应链、销售、物流、客户管理,甚至把整个企业的能力全部服务化。

这里有一个思考,整个的企业各种 IT 流程、各种数据流,全部被统一到一个平台上去,有什么好处?

我们讲工业 4.0 的概念,最核心的就是从智能的销售,智能的客户管理,智能的物流,智能的供应链,最后整个的信息流打通,实现类似于 C2B 的逻辑。其实企业级互联网架构能够扩展到一个平台上的时候,工业 4.0 就可以落地了。

现在对于互联网的理解,都是工具和应用很多,但是底层架构讲的很少。例如,“双 11” 其实不光是买东西的盛宴,某种意义上是对一个企业商业基础设施的测试。阿里的架构也是经过七次 “双 11” 的锤炼沉淀和优化下来的东西。

这个架构有几个原则,最核心的一个原则,就是把企业的核心能力孵化出来。之后不应该看到企业是独立的一个个系统,而是面向全流程的自动化。