Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1460614
  • 博文数量: 1125
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 16710
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-03 14:05
文章分类

全部博文(1125)

文章存档

2011年(1)

2008年(1124)

我的朋友

分类: 服务器与存储

2008-08-14 17:06:55

用云计算优化企业IT基础设施。我来自IBM中国研究院先进计算基础设施研究部,我们部门的主要方向是企业计算的系统管理和优化的智能解决方案,包括虚拟化技术、配置管理技术、自动化发展技术。今天的云计算也是我们研究领域之中的。

    什么是云计算呢?叶博士刚刚已经做了简单介绍。以往我们听说过各种各样的比如说网格计算、自主计算、随需应变的计算。字面上讲云计算,如果把一个计算的资源,比如一台服务器看成一个小水滴,当很多资源汇聚在一起的时候,它就形成了计算的云,云计算是计算的一种模式。云中来的雨水,我们不关心雨水是怎么产生的。相应来讲云计算中获得的资源,我们也不需要关心这个资源位于哪台物理的服务器上。对于资源使用者要关心的是需要什么样的计算能力,需要什么时刻拥有这些计算能力。其他的工作都是云计算管理平台提供的。

    在这样一个平台下各种各样的物理计算资源被组织在一个很大的资源池中,资源池被云计算平台管理之后,可以动态的在上面创立一个虚拟化资源池,它可以用来被我们使用。比如布置应用和执行一个任务等等。云计算平台可以基于虚拟资源池动态添加新的资源或者拿走资源。应用的使用者需要向云计算管理平台发送它的命令。

    云计算的特点。首先是分布式,我们使用的物理节点是分布的。第二是虚拟化,这是云计算最强调的特点。每一个应用部署的环境和物理平台是没有关系的。通过虚拟平台进行管理达到对应用进行扩展、进行迁移、进行备份,种种操作通过虚拟化层次完成。第三是动态可扩展。通过动态的扩展虚拟化的层次达到对以上应用进行扩展的目的。最后是比较灵活。现在大部分的软件和硬件都对虚拟化有一定支持,我们可以把我们想到的各种IT资源,软件、硬件、操作系统、存储网络所有要素都虚拟化,放在云计算平台中统一管理。

   云计算和网格计算有什么区别?网格计算最早来自于学术理论,它所指的是当有很多问题的时候怎么调度、怎么分配。云计算直接产生于企业计算、互联网领域,它更关心如何扩展系统、如何方便IT管理。此外,云计算直接使用操作系统或者硬件、软件系统虚拟化能力,这一点和网格计算有区别。

    云计算产生的背景。哪些需求促使我们使用云计算环境。现在的互联网,比如网站或者业务系统所需要处理的业务量快速的增长。比如说视频在线或者照相共享,这样的网站要处理大量的数据,提供给用户。这样的网站在中国有很多,他们的主要问题是当用户数量快速增长,如何扩展我的IT系统。第二个因素来自于移动宽带网络的普及,技术虽然在中国还没有普及,但是可以预想在不久的将来随着移动终端的智能,会有越来越的移动设备会进入互联网,我们的IT会承受更多的负载。对于企业来讲,IT系统要处理更多的业务量。第三个因素是数据中心的成本的上升,电力成本、空间成本、维护成本都快速上升了,这给我们提出了一个问题,怎么样有效的利用这些资源,利用更少的资源做更多的事情。最后一个因素是随着多核技术的普及,如何利用多核产生更多的能力。我们可能会利用虚拟化技术为我们服务。

    通过以上几点事实上提出了几个要求:一是系统要能扩展,二是要要求系统有更简单的管理方式,三是要用虚拟化的技术。综合以上几点就是云计算的目标。

    接我们看看从IBM角度是怎么提供云计算模式的。

    这是IBM的理解,可能其他厂家也在谈云计算的概念,但是他们的概念可能和云计算有所不同。(图),中间部分是IT系统,或者我们的管理资源。底层是物理资源池,不同的物理资源会按照它们的类型组合成为一个独立的资源池,在此之上会按照它们的类型产生一个虚拟化层,产生很多虚拟机,这些虚拟机运行于底下的物理层介质之上,但是这之上的运行是由管理平台维护的。所以对于上面的应用程序来讲不关心运行在那个物理平台上,只关心我使用哪些物理资源,比如说有多少CPU,有多少内存等等。在虚拟资源层可以有多种技术帮我们去提供能力。Xen是开放源代码的虚拟化引擎,它运行在linux系统上。LPAR是IBM的P系列的服务器的虚拟引擎。除此之外,比如说VMWARE虚拟化产品也可以放在虚拟资源池中。

   图右边是IBM管理软件,这里面主要是有管理监控的软件,以及部署管理的软件,统一构成了一套相互协作的管理平台。这个管理平台有几个任务,首先是将物理资源进行管理,在此之上会部署操作系统,会在上面创建虚拟层,再往上会部署应用。用户是自动化来完成的,用户不需要去干预整个资源创建的过程。这个管理平台的功能主要有以下几方面:首先为管理员和用户提供统一界面,让用户通过web接口接触管理平台,从而能够使用户不用去考虑具体的安装配置的问题,只要提交一个请求,描述他所要部署资源的能力和要求,就可以为他准备相应的资源。第二,统一的管理和调度。这里包括添加一台物理服务器,创建一个虚拟机。第三,应用可以自动部署。IBM云计算平台内置了一些应用程序模板,有了模板这个应用可以自动化的被部署,用户提出请求到应用部署上线可能几小时就可以了。还可以进行资源预约,可以在某一个时刻为某一个应用预留某些资源,这样可以提前做到资源的准备。应用的平台扩展。当应用的总量不足或者压力过大的时候,平台可以自动为这个应用添加新的资源进来,保证应用的可用性。最后用户可以通过web界面监控应用运行状况包括所使用的虚拟化资源和物理资源。

    这个平台会带来一些好处。首先简化了IT管理,使得使用IT资源非常便利。二是通过共享这些资源,我不同的应用,在不同时刻可以使用同样的物理资源,这些物理资源可以满足更多的应用,相对来讲就降低了成本。三是提高了对需求的响应速度。比如说应用突然添加更多资源,可以动态的将需要的资源分配给这些应用,从而很快满足需求。

    哪些应用可以不在云计算环境中呢?这里有两个原则,首先需要具备一定的可扩展性。当我的应用需要扩展的时候,我可以通过对它的虚拟化进行扩展,而达到应用本身扩展的目的。比如对一个web应用进行扩展,现在有两种方式水平扩展或者垂直扩展,水平扩展就是建立一个集群,通过增加个数增加处理能力,垂直扩展就是增加一些比如增加CPU,这两种方式可以用在不同的软件组件上。web应用往往几个层次组成,web服务器、中间件服务器、数据库服务器等等,对于不同的层次有不同的扩展方式。前两层可以通过增加虚拟机和水平扩展的方式进行扩展。对于数据库层可以通过垂直扩展的方式进行扩展。实际上主要的应用是通过这两种方式进行扩展,我们很容易把它放在虚拟化的环境中,通过增加虚拟机的个数或者容量达到扩展的目的。

   如果是其他类型的应用,比如并行计算的应用,在现在IBM的云计算平台上,只要支持MapReduce方法。

    另外一个原则这个应用需要自动安装的能力。安装过程可以用一个脚本或者一些规则实现不需要人工介入。另外一个方法是打造一个虚拟镜像,只要它支持这种方式就可以放在这个平台中。

    下面我们看一下云计算如何和企业计算结合起来,优化企业的IT系统。第一个场景是SOA应用运行于云计算基础架构之上。SOA应用场景里面有很多服务组件构成,这些服务组件之间存在一些相互调用的关系。尽管在软件架构上,屏蔽了每个服务的区别,服务的调用者不需担心服务实现者的细节,具体来讲每个服务所依赖的环境是物理的环境。如果是出现了当一个服务容量或者压力突然增大的时候,因为服务是相互依赖的可能需要扩容这个服务的时候可能需要扩容另一组服务,这样对于IT管理是一个难题。如果把所有服务都运行在云计算平台之上,可以做到服务的质量可以每次都保证的,服务容量可以动态的扩容。另外一点,我们在云计算平台内置了一些SOA应用程序模板,当用户或者程序开发人员编写一个SOA应用,他可以自动使用内置的程序模板自动的创建SOA开发、测试或者生产环境,这样加快了SOA的部署速度。

    利用云计算加速企业内部的创新。有效的IT系统会给企业的业务强大的支持。一些依赖于IT的创新对于企业来讲也是非常重要的。IBM结合自己内部的一些实践发现,我们有一套解决方案能够很好地加速依赖IT的技术创新。解决方案由三部分组成:第一,创意的来源。主要是通过企业内部员工、合作伙伴、客户放在一起,形成了一个人际关系网络,基于人际关系网络可以进行很多创意的交流,进行头脑风暴,产生出很多原始创意。然后再通过用户投票、反馈机制设计出一些比较好的创意。第二,基于这些创意形成一些创新小组或者实施团队,把这些创意实现成一个云系统。第三,把这些系统放在孵化环境中,一方面是得到反馈,一方面验证它的效果。前两步工作由IBM创新工程解决方案来支持,第三步可以借鉴云计算的孵化环境,因为使用以后,创新者不用担心哪里获得的这些资源,他可以很快从云计算中申请它的资源,部署应用,进行验证工作。IBM部署了一整套的方法,也已经有很多的成功案例实施了。

    如果大家想知道,当我们布置云计算以后,对于现在的IT系统有怎样的改变呢?主要有三个方面。首先从软件的构成上,我们需要逐步转向虚拟化的方式。我们可能会把一些小型的但是数量很大的服务器逐步整合成一些大型的但是数量比较少的服务器,这样一方面可以简化我们的管理,另一方面可以把这些大型的服务器作为下一阶段实施云计算理念的平台。第二个转变是资源管理的流程或者资源整个生命周期的维护,现在IT系统管理的样式可以利用左图描述,(图),每个应用部署在独立的应用平台上,彼此之间是隔离的,缺乏共享。如果要上线一个新应用或者新系统,可能要做几件事。首先提交一个IT采购流程,当这个系统真正进厂可能几个月过去了,有一些系统部的人安装系统、打补丁,这个过程的缺点是显而易见的,实施周期长、不灵活,经常出现某一个应用负载非常高,另一个应用负载很低。第三个缺点是对业务需求响应比较慢。比如一个应用压力很大,可能需要对它进行扩容,扩容就需要我们启动另外一个采购流程,那个流程完成之前我们没有办法满足当前业务的需要。

    另外一个转变,对于资源的维护方式,需要从手动转为自动。一些常规的维护任务,比如安装系统、打补丁、装软件这些都要逐步的服务,可以吸引更多的软件企业来落户,还可以吸引更多的投资,它把自己的计算平台提供出来让外面的企业、大学和公众去访问,对于当地的软件企业来讲,他们可以提供软件的开发环境,测试和运行环境。所谓软件开发环境是说云计算提供的资源包括了所有的软件开发流程必备的工具,软件开发工具、测试工具、项目建模工具等等。这些软件如果是通过商业的方式进行购买代价是比较高的。而在这里,这些工具被打包成一个虚拟机,让用户可以远程访问这些虚拟机,这样相当于它降低了使用软件客户的成本。与此相对应,它需要测试或者运行这些软件,还可以在云计算平台中完成。这样企业只需要很少的投入,就可以拿到他所需要的各种IT资源。

    案例:爱尔兰政府部门。这个政府部门主管当地的企业,它们发现很多企业都是独立的IT系统,它们的资源没有办法共享。于是他们部署了云计算平台,为这些企业和大学提供web计算服务。针对关键行业,鼓励企业和个人开发创新应用和服务。建立服务目录,支持基于SOA的服务集成。这样可以大大加快他们软件开发的效率。云计算给这个政府部门带来了两方面的好处,首先为不同的企业进行快速原型开发提供自动化的孵化环境,通过SOA服务组合方式提高软件开发的效率。

    IBM在云计算上的产品和服务。现在的产品和服务有两部分,第一部分是云计算管理软件包,这个软件包括了IBM的管理软件以及一些系统监控软件,将软件包部署到现有主流的系统上去,就可以去管理主流的硬件资源,比如IBM服务器以及其他的服务器,在此之上可以提供云计算的服务。另外是ServerFarm 的咨询与实施服务。它的内容是将现有的数据中心转换成云计算模型的数据中心,它们有一系列的方法和步骤。

    下一步IBM会推出蓝云算,所谓蓝云就是在一个刀片服务器集群了云计算管理软件。只要购买刀片服务器就可以把它当做云计算环境,提供给其他的客户使用。此外IBM还将建立一个基于云计算的开放标准,基于这个标准来自不同云计算中心的服务可以相互操作,从而建立一个更加良好的生态系统。

阅读(377) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~