2013年的天猫双十一活动中,产生了1.88亿的订单,这1.88亿订单中,有两个商家的订单量都突破了100万单,突破10万单的有42家。这么多的订单量,不仅仅给商家的生产、销售、服务、仓库、资金带来了前所未有的压力,也给商家的IT系统带来了很大的压力。100万是个什么概念呢?这个单量是国内另外一些电商平台梦寐以求的“整个平台”的销量,可知这个对商家的系统的要求是很高的,传统的IT解决方案根本无法承载如此大规模的业务波峰。而商家多数都只专注于商业,对技术并无所长,阿里巴巴并不能要求每个商家都养一支强大的技术团队。今年有75%的全网的订单,80%的天猫订单,都是在云计算的系统上来处理的,构建在阿里云上的专属电商工作平台“聚石塔”承载了这部分工作。
云计算听起来比较遥远,其实其中的每一部分都是实实在在的好工具,一套完整的云计算工具包含ECS、RDS、SLB、OSS、OCS,商家获得这一套体系,等于把系统交到了阿里巴巴的工程师手里,能保证安全可靠、弹性稳定,而且还十分便宜。
ECS(Elastic Compute Service)是阿里云弹性计算平台,简单来说就是一台远端的服务器,用户可以像使用“远程连接”一样去访问它,把用户的应用程序部署在上面,可以随时随地来使用。机器上的网络、电源、存储、机柜等设备都不需要用户操心,这样就彻底省去了运维上的成本。它更大的优势是可以弹性扩展,在阿里云有数万台的机器,当一个用户所用的机器不够的时候,可以随时平滑扩容,这样就可以要多少就买多少,不必为了“百年一遇”的状况买很多设备而平时又闲置无用。在天猫做生意的商家尤其适用这种状况,万一哪天打出一个“爆款”,或者上了聚划算,参加了双十一,都会让商家的服务量突然来一个脉冲式的暴涨。而对于传统的IT方案来说,需要技术人员管理机器的软硬件设备,高峰期如果是平时的100倍,就要准备100倍的冗余设备,这个成本非常大。
RDS(Relational Database Service)是阿里云关系型数据库,商家运行的软件系统几乎都要和大量的数据打交道,这就需要一个云端的数据库服务器。聚石塔提供了一个数据同步的组件,一端连接淘宝的主数据库,一端连接RDS,只要在淘宝上有成交,这个组件就把商家的订单数据同步到RDS里面,让商家的数据能够跟淘宝保持一致,不会说淘宝上有成交了,商家系统里面还看不到,那他就要抓狂了。在没有这个功能之前,在面对大规模订单量的时候,商家通过淘宝开放的API,经公网下载数据,这常常会漏单,甚至订单被第三方获取,不仅损失了生意,还会被人投诉。
SLB(Server Load Balancing)是服务器负载均衡。当用户一台服务器不够用的时候,他需要多台服务器同时提供相同的服务,这时候一个服务请求是发送到哪一台服务器呢?这需要有个中间人做决策。就如同阿里巴巴有3个食堂,一个员工要吃饭的时候,去哪个食堂呢?最好能看到哪个食堂不用排队,然后把员工带到最闲的那个食堂去,SLB做的就是这一个工作。
OSS(Open Storage Service)是开放存储服务,这个比较容易理解,就是一个共享文件夹,常常会看到商家整理的客户服务标准话术、商品图片、客户资料等分门别类的文件,放在一台机器上不安全,复制很多又无法同步更新,这些需要放到一个安全可靠的共享空间里,OSS是一个很好的选择。
OCS(Open Cache Service)是开放缓存服务,当商家数据量比较大的时候,主机访问数据库也会开始变慢,数据越多,速度就会越慢,这个时候需要在主机和数据库中间加上一道缓存,这跟电脑太慢了加内存是一个道理。今年有几个超大型的商家,都用上了OCS,反馈很不错。茵曼的CIO告诉阿里巴巴:“茵曼入驻聚石塔,本次双十一订单处理效率大幅提升,主要得益于由驻聚石塔提供的RDS数据推送和OCS开放缓存服务,大幅提升了转单效率。峰值 1分钟转单达到2000多单,对比未入塔的情况下提升了4-5倍的速度。下单、转单均不存在瓶颈,也使得百胜E3系统在其它业务处理方面更为流程和稳定。”
在2013年双十一,阿里云的小伙伴们接到聚石塔的需求,提前进行了统一的弹性扩容,云主机扩容30%,RDS云数据库扩容80%,带宽扩容40%。在双十一前夕,再度查看商家的机器负载,给20几个商家又扩容一次。同时,阿里云部署在聚石塔上的“云盾”安全软件,也帮商家抵挡了3次DDoS攻击,最高流量达19Gbps,是所有的商家平稳度过了战斗的一天。基于阿里云计算的聚石塔0漏单,0故障,给双十一提供了强有力的技术保障。