探索中国CIO人才现状 | 第四季调研报告
阿里云金鑫:云计算带给企业IT建设的几点思考
2015-01-23  来源:网界网

阿里云资深行业总监金鑫先生也与大家分享了《云计算带给企业IT建设的几点思考》的主题演讲,在演讲中,他提到了中国的云机遇:改变过去“重硬轻软”的惯性;计算机加软件的模式会变成云服务加数据的模式,而敏捷和弹性是互联网IT架构的核心要素。以下为演讲实录:

看到这个题目,思考了很久,像云计算,在中国实际上从2010年之后发展比较快,我自己是2010年加入到阿里云,一直在这个行业当中,我感觉到可能像今天在座的也有很多云计算的业者,大家都是在这个大潮当中一起来见证和实践云计算的发展。看到这个题目我在想,实际上大家说到云计算,对于云计算接受度最快的一些人群,从我来看,从2011年到2012年,是中小企业,是移动互联网开发者,是互联网的从业者,真正我在2013年以后,特别是2014年,看到一些传统企业开始出来了。我看到这个题目,今天有很多企业CIO的领导,从我过去这些年的经历跟大家分享一些个人的实践,供大家参考。

2014年开始,我们除了服务线上的中小企业之外,我们会看到很多传统的企业,对云计算有越来越多迫切的要求,我本人在阿里云看到的行业更多的是运营商的行业,还有大的央企,过去一年多,我们和这样的企业一同成长,帮助他们解决问题,向他们学习云计算。当中有非常多的感触,今天拿出来一起跟大家分享。

在阿里之前,我在一家外企做IT,做网络,大家从这张图就能看到,传统中国的IT建设实际上是“重硬轻软”,无论是知识储备上,预算投入上,还是领导重视程度上,最大的一部分预算投资实际上是放在硬件上的。真正到应用软件上的投资是很少的,导致国内很多做应用的开发商,把很多精力放在对硬件厂商的代理上,也没有动力去做符合用户需求的应用软件。

现在云计算来了,趋势会变了,硬件已经不再是高高在上,或者是充满神秘感的东西了,可能对于用户来讲,越来越不关注硬件的差异性,阿里云,可能还有其他所有的云计算的服务商,他们会把硬件的基础架构变成一种服务,把硬件的区分点都掩盖住,以一种通用的服务的方式提供出来。一些做云的是互联网企业,像阿里云、腾讯云、亚马逊,还有一些是传统企业开始做,像微软、IBM。我个人的判断,在未来一段时间,原来买计算,买存储的服务会越来越便宜。云计算的价格,去年阿里自己就降了三到四次价,今年还会再降,在国外,像亚马逊、谷歌每年都会降,原来花很多钱买的硬件的CPU能力会越来越便宜,直到达到基本上可以忽略不计的程度,这是我个人的判断。

基于这个判断,再往上一层就是上云服务,对于传统企业来说,如果硬件没有区分了,原来的ERP的服务、CRM的软件,原来运行在各种各样的那些硬件上的应用系统,怎么办呢?要从原来的IT架构,企业架构转到云的架构,就会有很多公司提供这样的服务,这是IT的变化,原来企业IT是老的架构,今天要搬到云上,无论是一次性搬到云上,还是混合式的,总之要改变。

再往上,真正基于云的各种各样的应用,这种应用会非常的丰富多彩,今天大家看到手机里的APP,你用APP的时候,不知道它的后端是放在阿里云还是哪里。整个业态变成了这样,投资也变成了这样,我们跟企业交流的时候,很明显的感觉到,这样的技术推动造成了管理上的变化,造成了蛋糕重新划分,造成了各种利益的重新划分,这个冲击还是非常大的。

第二,我想分享一下数据。央企领导听完CIO的汇报之后说,你讲的这个东西还是IT时代,我现在想听DT时代的东西,DT时代实际上就像刚刚我讲的,今天包括阿里云,我们对这个东西的理解,跟大家一样都是在探索、摸索,不存在我们来传教,完全是摸索的过程。

传统IT时代,每天都产生大量的数据,最常用的就是日志,在各种计算机操作当中都会产生大量的日志; 今天在各种各样的设备上都会产生很多图片,会产生很多视频,这些东西在很多传统企业当中,是在系统错误恢复的时候才用,这个东西实际上是负担。有的单位规定要存十天,有些规定要存半个月,像公安行业、交通行业,视频要存15天、一个月,因为这个存储的代价是巨大的,而价值不是很高,价值只是在特定条件下如系统错误恢复的过程当中才出现。包括阿里,像业界另外一个知名的公司也讲,今天大家通过各种手机端,各种Pad,拼命产生各种数据,互联网的盈利模式,今天都是免费的,未来是靠这些数据赚钱的,但是这些数据每天产生都是几十T,上百T,如果一年没有产生盈利,两年没有产生盈利,到第三年的时候,上百P的数据已经把他的盈利都吃掉了,因为存储上百P的数据花费是非常大的。现在带来的问题,如何把这样的数据变成业务,如何让数据产生价值。

今天我们在淘宝上做的,我们对于所有商家的数据做大数据的分析,得出用户的行为,最简单的就是定向广告,精准广告投放,还有基于位置的服务,结合地图的信息,结合位置的服务。还有比如说阿里有一个阿里小贷,完全依靠数据的计算,根据淘宝卖家过去N年所有的行为,评价、投诉、发货率、销售额,很复杂的一套数据,用很复杂的一套模型,算出来这个商家可不可以放贷,贷款的额度是多少,这是用日常的数据积累来做业务的模式。在这样的模式里面,实际上是传统银行没法做的,因为传统银行要给一个根本没有信用记录和抵押的线上的客户评估的话,成本是非常大的,成本是不能覆盖的。今天我们看到很多很多互联网公司会拼命的往这个行业去做,因为他自然而然有这样的条件,因为他有用户的数据积累,今天大家可以看到,包括像银联一样,银联尽管做所有银行之间的中转,但是很痛苦的一点,银联没有最终用户数据的记录,银联转一笔帐,并不知道这个用户是做什么事情花了这笔钱。不像今天在支付宝买一个商品的时候,很清楚的记录了这个用户的ID是多少,买了什么样的商品。所以我们说,在DT时代,数据会成为核心,会驱动商业价值,在未来,我们在摸索如何把这样大量的数据提炼出商业价值。

面临这个转变,面对业务互联网化,CIO要做的事情?要面临软件随时升级,硬件随时更换,传统企业选择硬件的时候,就是高投入,但是在互联网,云计算的时候,可能会用非常便宜的硬件来支撑,就意味着硬件是经常坏掉的。运维尽量自动化,效率、可靠性大幅度提升。最后由于云计算,大家关注的是业务、服务的SLA,而不去关心每一个软件,每一个硬件单个的SLA。我们认为硬件、软件加上运维服务,整体构成了对用户的服务体验。

另外一个,提到企业级架构来讲,大家在企业当中,很多IT应用是中心化架构,所有服务的提供者和调用者是通过服务总线来传递服务的请求和服务提供,但是这个对于大规模的架构来讲,带来了延时。比如说所有的请求都要经过一来一回,服务路径要由总线中转两次,服务总线变成了整个瓶颈。在互联网云计算的架构下,用去中心化的系统架构,任何的服务提供者和服务调用者都是直接面对的,这个架构完全变成了去中心化的系统架构。

在云计算到来的时候,对于企业内部的IT会有很大架构的变化,我们认为一切都是服务。左边这张图,构建企业IT的时候,基本上要用到所有这些产品,这些是做得非常优秀的厂家,代表了传统企业IT架构。你的预算是要按照业务预计的峰值进行计算的,申请采购预算,软硬件设备商交流,比价,一次性采购。设备代理商、系统集成商安装、调试、交付,一旦交付上线之后,就会进入下一个流程,系统要升级怎么办,或者是硬件换了怎么办,扩容怎么办。

到了右边,是以阿里云为例,我们在各个层面,都有的云服务,有搜索的服务,有关系型数据库服务等等,我们在搭建IT系统的时候,不需要考虑三年后的需求是什么样,今天要一次准备到,我们通过今天的需求就可以购买,随着业务的变化,随时伸缩,不只能扩容,而且还可以减容。我们在过去一年当中,跟很多政府,很多传统线下的企业在搭建这样的IT架构的时候,刚开始是一个痛苦的过程,一旦他们走过来,对这些用户来讲,是非常舒服的一件事情。

在互联网IT架构下,实际上是IT架构的互联网化,随着业务部门的业务变化,被感知到之后,下层的IT资源随时增减,是非常敏捷的,有更多需求的时候,就可以增加节点,服务资源也是可以增加和收缩的。

对于传统企业有一个很难的地方,就是数据库,过去我们会发现,梳理业务的时候,你的应用有多少比例需要严格的事务,有些企业,基本上没有,有些只有10-20%。第二个,我们会看到很多本来应该可以交给业务来做的,全部都交给数据库来做,所有的业务逻辑都跑在数据库上,在今天的架构下,可以拆分来做。第三,数据库变大的时候,不一定要增加CPU的能力,不一定要增加数据库本身的能力,实际上也可以横向拆分,横向拆分的时候,不可避免带来跨机事务,如果一定要有跨机事务的时候,采用最终一致性来替代中间过程的一致性。

下面讲一个很简单的例子,一个人叫Bob,要把他的帐户里的钱打给Smith,如果在一台机器上做的时候,要首先把Bob的帐户锁掉,再锁掉Smith账户,看Bob帐上是否有钱,再打过去,再分别解锁Bob和Smith账户,整个过程可能花5ms,这样的事务处理是在一台机器上,这样的延迟是可以的。如果到了云的结构下,可能是分布式的,如果在不同的机器上的时候,由于网络的延迟,使得整个交易时间大大加大,可能到11ms,会影响很多用户的体验的,怎么办呢?在互联网的架构下,很容易做到的一点,我可以用异步,在Bob的帐户当中,先把它减掉之后,交易就结束了,异步的方式来处理Smith的账户。今天大家最常用的,在淘宝上买东西的时候,选好商品,购物车,支付宝付款,交易就结束了,实际上异步在后面,还要把你的帐户再和商户的帐户做异步,当然这里有个支付担保的业务功能,帮助我们在双十一可以做那么大的交易量,每秒几万笔交易。

最后,就是用云的办法来帮助大型企业IT支持海量业务的问题,因为我们看到大型企业的IT,无论是用户数量,还是业务逻辑都非常复杂,所以我们总结了一些实践,如何利用互联网的架构,用云计算的架构来解决企业IT的需求。刚才举了几个,要用到异步替代同步,可以用最终的一致性来替代原来传统的严格一致性,要尽可能的容错,用户的数据任何时候都不能丢掉的,可以尽可能的拆分,在企业遇到一个很明显的共性问题,企业的IT部门,在业务部门面前,一般不是很强势的,基本上处于弱势地位,他跟CEO讲,我已经虚拟化了,但是业务部门说,对不起,我用不了,原因是什么?原因是业务没有拆分,甚至有些业务部门说,我这个业务一定要跑在64核的CPU上,这带来一个问题,上层业务如果不拆分的话,CIO很为难,平台做得再虚拟化也是没有办法完全适应整个企业向云上的转型,这也是我们在实践当中遇到的一个很突出的问题。剩下两个,应该用一些很成熟的组件,用尽可能自动化的办法来部署整个架构,因为大家可以看到,在云里面,很多很多部件都已经打散,所以在一个IT架构转向云架构的时候,你要监控、部署的节点非常多,如果用传统的人工的办法,没办法架构、运维这样的体系,所以要采用自动化的方式。

今天时间有限,我就分享这么多,谢谢大家!