李明宇:云计算技术支撑的互联网+创新
——记中国新一代IT产业推进联盟云计算技术分委会副秘书长李明宇
- 发布时间:2016-03-25
- 浏览次数:32393
中国新一代IT产业推进联盟云计算技术分委会副秘书长李明宇
在所有内容开始的前面想跟大家分享几个小故事,看看已经有的一些案例,互联网+的案例,看他们怎样利用云计算技术支撑业务创新的。制造业的IT以前主要是支持自己的生产和销售。随着互联网技术的发展,我们会面临新的挑战。对于车企来说,因为智能车的发展,每一个车上都有上千个传感器,需要不断把信息传回服务端进行处理。如果仅仅在做智能车的研发,问题可能不会特别突出。但当智能车推向市场的时候,一款智能车可能有上万辆在马路上跑,我们怎么及时处理数据?对于宝马也是面临挑战,他们就是使用云技术解决这个需求的。
另外一个故事,有个美剧中文名称叫“镜花水月”,这部片拍摄的时候在温哥华,视频剪辑是在洛杉矶。我们知道美剧需要在一周之内完成从剧本的定稿到拍摄、后期制作、上线,特别是现在4K高清在逐渐普及,这个挑战非常大。它又是跨不同城市进行制作,怎么做?借助云的技术。
我们看这个地图上的一个圈,这个圈在欧洲,但是在现实中看不到,因为它是地下的一个圈,是CERN的粒子对撞机,他们是基于在粒子对撞机收集的大量数据,经过云端的分析,后证明上帝粒子的存在,为2013年的诺贝尔奖进行强有力的支撑。这是在科研领域的一个例子。
前面讲的非常概略。现在讲国内的两个例子,一个是携程,携程做了什么样的事情?桌面云。我想说具体的携程事情之前,在座的可能会面临这样的挑战,包括我前两天去了一家医院,也面临一个问题,终端使用者使用IT系统的人员可能不是计算机领域的专家或者他们只管用,具体的东西到底怎么回事、怎么做维护,不怎么关心。比方说很多系统需要客户端,客户端在他们电脑终端上,可能不同的人会用不同的账号登陆,按道理说应该是一个客户端用完以后退出,其他人再进入。比如在医院,王医生上去打开客户端编辑一些病历,李医生要开药又上来开一个客户端,然后又有其他医生上来又开一个客户端。后来反映说IT系统太慢了,速度慢是肯定的。
面对这种情况,有的公司采用B/S架构,可以在一定程度上解决这个问题。同样浏览器怎么维护、怎么升级?桌面的杀毒软件,这些东西怎么进行升级?这些都是问题。我相信在座的许多公司、机构也遇到同样的问题。
对于携程来说这个问题更突出,为什么?因为大家呼叫中心客户端数量、座机数量非常多,他们座机使用人员的水平怎样?往往是招一些中专、大专毕业的小姑娘、小伙子在接电话,他们对于计算机的掌握更少,可能造成的问题更多。在这样的场景,按照传统我们可能需要铺几个或者十几个IT人员专门解决桌面的问题,解决桌面电脑维护问题,这很耗费人力,成本很高。携程怎么解决?用桌面云,他们的客户端,真正的桌面运行在云端。这时候非常好解决,可以控制,因为都是云端的虚拟机,真正使用的机器到底装哪些软件?是可以控制的,实际的数据也在云端。另外还可以很好地了解和控制用户怎么使用机器,发现问题需要重启怎么办?以前可能需要维护人员去终端做维护,现在只要再云端点一下鼠标就可以重启。这实际上很大程度上解决了携程过去面对的问题。他们也是在全国不同地方部署了多个数据中心来支持桌面云。其实我们也可以利用类似的方式解决桌面维护的问题。携程是半互联网化的公司,我们可以把互联网公司的一些技术引入到企业和公司中,实现我们业务的升级,提率、降低成本。
这个例子,这张照片很显然是石化行业的一个厂。这个是怎么回事?我们之前跟化工领域的一个集团沟通时发现这么一个问题,并且给他们做了一个系统。之前是什么问题?炼化这一块,我们需要采集各厂里面不同的设备的数据,这些设备由各种瓶瓶罐罐组合起来的大长串,挺复杂的。这个数据收集上来,对于我们现在谈的业务来说,这个数据收集上来并不是为了支撑它的控制,而是为了做经济方面的分析,优化生产过程、提高生产效率、降低成本、提高产品质量。他们要的数据分析并不是实时的,但是数据量也不小。以前的做法是开发一套数据分析软件给各个厂区做部署。一开始效果还不错,也不是非常复杂,几个算法串一下,按照不同的设备、不同的生产流程串一下,编一个软件打包安装,还可以。
但是随着它的试点推广,它装不同软件的厂越来越多,到10几家、20几家就发现有一个问题,软件越来越复杂,各个厂不同的需求,我们要上不同的工艺、不同的设备,流程也会变,算法也会升级。而且开发这些算法的人是领域专家,擅长做化工领域的事情,但是编软件不是特别牛,会有BUG,而且也会主动进行升级,有时候有BUG要修复,有时候算法要升级,那就不断地发版本、不断做部署,做安装,这会出现什么问题?BUG修复了,每个厂都去装。一圈下来还没装完,又发现新BUG,又要重新装。我们和他们接触以后发现,这个业务不是实时的,没必要全部都装在各个厂里面。我们把这个数据收集上来到云端,在云端做一个分析系统,把每个算法封装成服务,各个厂都是租户,根据他们的业务需求把这些算法配成一套流程,对于各个厂来说,这套流程不断调用各个服务,对各个生产流程来说做配置就好了。我们需要升级时怎么办?不用每个厂部署,我们在云端把算法进行升级就可以了,算法升级以后,服务也升级了。所有调用服务的流程也调用新的算法模块,就解决了它在生产上的难题。另外,数据集中了,还可以让集团领导在集团层面把握信息。
联盟(中国新一代IT产业推进联盟)在结合传统行业的需求想办法把互联网公司用到的一些互联网技术和传统行业的应用需求结合,提升业务水平、提率,主要做这样的事情。
在技术层面上说一下,什么叫“tocloud”?我前两天听到两个银行的IT部门在交流,他说你们有没有用云?到底什么叫上云?把一些东西放到虚拟机里面是不是就是上云了?其实上云和上虚拟化还是有区别的。
我们把一个业务往云上搬的时候,或者一个业务直接在云上做,没有服务器,我们用云主机,没有问题。没有网络设备,同样要用交换机怎么办?用虚拟的网络设备。这些都是基本的事情,但是不是就算云化了?举个例子,三层架构的Web应用,前面可能是提供WebService的接口,或者是网页。后面是应用服务器,后有我们的数据库服务器,这是常见的三层架构。上云以后,每个服务器都替换成虚机,以前是采购一些交换机等网络设备,现在用一些软件定义网络SDN的虚拟设备替代。做完以后是不是就算实现了初步的云化?云所有的东西,强调的是服务。云端从字面上来说是弹性可拓展、自动伸缩。如果仅仅把前面这两步做了还没有达到这一点,而做前面这两步是好多地方上云刚刚做的事情,后面我们会考虑负载均衡,负载均衡以前可能是用负载均衡器,现在也可以把负载均衡用一些软件定义的方式,用一些服务来实现,当然这些服务需要云平台提供,有很多服务商。对于公共云来说,比如UCloud等都是我们可以使用或者参考的一些方案。
另外,需要借助云平台提供的监控和编排服务。这个时候,当我们监控到某些资源不够用的时候,我们让系统自动创建虚机扩展。当我们的业务压力下降、资源空出来的时候,可以动态删除虚机,可以把资源释放出来,供其他业务用。
这个说得很好,但是真正要实现时,在应用开发上也需要注意一些问题,这些都是互联网公司司空见惯的事情,但在传统企业IT中可能平时不太注意的,比如传统的三层架构可能会往本地写一些文件来保存数据。实际上我们想利用云,和往本地保存文件,这是矛盾的。为什么?新创建的这些虚机、云主机可能是没有数据的,我怎么样利用本地文件数据呢?没办法利用。另外,要释放资源的时候却把虚机删掉了,同样保存在虚机本地的数据也被删掉了。所以这个时候我们在应用开发层面上要按云的模式开发,首先让它能进行横向扩展,尽量做成无状态服务。这个时候存在一个问题,数据存在哪?云的核心是服务,数据也应当存在服务中,比方说文件存在对象存储服务中,一些成记录的数据存在数据库服务中。
我前面说的是比较简单的例子,在上云的过程中需要注意的地方。现在无论是私有云还是公有云,里面可能提供几十种、上百种服务,都需要结合我们的业务仔细考虑,而不是说租两个虚机,搞两个虚拟网络一连就上去了。那个也没办法实现,比如我们刚刚举的石化企业的例子来实现它的业务的优化。像刚刚那个例子,在很多厂都要调用算法服务的话,可能会出现个别算法服务的压力比较大。共性的算法压力比较大的时候就需要云的技术,实现自动扩展。
对于我们在实施某些云项目时会大量借助开源技术。这些开源技术现在提得比较多的是OpenStack,docker。但是我们在用的时候一定要注意不仅是它两个中的某一个,或者它俩在一起就可以解决所有问题。我们要注意在云的开源技术中有很多项目,而且这些项目之间是有关联的,要综合使用,所以要投入很多时间慢慢学习、慢慢打造。现在强调一个东西是生态系统,云是生态系统,云的技术也是生态系统。对于技术的选择可以参考Gartner的这个技术成熟度曲线,当我们的媒体声音比较大的时候,热炒的一个技术可能并不适合我们生产。大家在选择技术的时候注意的一点就是不要赶新潮,而是考虑真正解决问题。
后欢迎大家跟我们联盟一起合作,共同交流,利用互联网技术、开源技术实现IT升级,谢谢。