云计算和虚拟化技术分别指什么行业资讯
1、概述
在云计算和虚拟化概念泛滥的今天,不少单位争先恐后地建立云计算项目计划,笔者在本文中,就云计算和虚拟化的关键技术进行辨析,也希望大家不要盲目跟风,云计算并不适合我们所有人。
从上个世纪80年代开始,我们便为软件、硬件系统的可扩展性伤透了脑筋。数量繁多的硬件种类、软件平台,使得我们不得不进行多种系统之间的移植工作;
而后来随着网络技术的发展和PC的发展,我们对本地计算处理速度和轻便性的要求也越来越高。在诸多的解决我们使用矛盾的技术中,云计算仿佛是最直接、最理想化的一种技术。
云计算是并行计算(Parallel Computing)、分布式计算(Distributed Computing)和网格计算(Grid Computing)的发展。云计算是虚拟化(Virtualization)、公用计算(Utility Computing)、IaaS(基础设施即服务),PaaS(平台即服务)、SaaS(软件即服务)等概念混合演进并跃升的结果。
虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。如同空旷、通透的写字楼,整个楼层几乎看不到墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。这种把有限的固定的资源根据不同需求进行重新规划以达到最大利用率的思路,在IT领域就叫做虚拟化技术。
虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。目前,虚拟化已经从单纯的虚拟服务器成长为虚拟桌面、网络、存储等多种虚拟技术。
2、重点概念和应用场景
从定义上可以看出,虚拟化只是云计算的一个技术基础,云计算除了具有虚拟化的技术基础外,还有其他技术支撑,这些支撑包含从软件设施的基础平台到应用都有所涉及。下面我们就着重分析一下云计算的几个重点概念。
(1)本地无需计算,计算全部采用实时远程网络计算资源,云计算将计算资源和我们通常接触的资源放在同一个平台上,而不是简单的数据获取。
现在我们通常通过网络进行访问的资源,一般都是文件、视频流、音频流等,云计算则是将计算资源作为远程资源通过网络进行输送,这是云计算有别于其他任何计算的一个特有的特点。
将计算资源在网络上进行分配,那么高速的网络支持是必须的,网络必须有非常低的延迟,并且可以将计算过程中的交互损耗降至最低。云计算也有别于以前我们接触的远程提交作业,等待结果的计算方式,云计算的过程是实时交互的。
(2)支持多种硬件平台和多种软件平台,甚至通信协议,不仅要求硬件具有分布特性,软件(包含应用软件在内)也要具有分布特性,用户在使用软件资源之前,不必考虑本地硬件的特性,本地硬件的特性也不会对选择云计算作为计算平台的行为造成影响。
现在很多云计算解决方案提供商在提供方案的同时总是忽略云计算一个重要的特点,云计算是一个整体的解决方案,不单纯是硬件具有多任务、多会话的处理能力,而是说要求在硬件平台上运行的软件也必须合理分配到各个硬件平台上。这里有必要阐述一下运营云和私有云的区别,有些比较大型的公司或运营商,简单地通过租赁硬件计算资源的方式,为其用户提供服务,即这些提供商建立一个庞大的服务器群和存储群,用户可以花钱租赁位于这些服务器上的计算资源和存储上的空间。从原理上来分析,这种计算资源的提供也是一种的云计算实现方法,其不需要考虑软件的特性。
但是在很多单位建设私有云中,也是采用相同的策略就有问题了,本地软件如果不具备可以部署到多点硬件计算单元上的能力,和单独地安装在一台服务器上又有多大的差别呢?
用户在采用云计算作为自己的计算平台时,不应到考虑本地计算资源的能力、兼容性等问题,因为云计算是一个标准的计算平台。因此,综合目前复杂的硬件环境,采用虚拟化技术作为云计算的基础技术平台就是理所应当的了。当采用虚拟化技术后,可以将参与计算的各个硬件特征屏蔽,将计算资源进行整合。
(1)资源的动态分配,计算需求的高峰和低谷都可以分配到相应的计算资源进行计算。
资源的动态分配是云计算有别于通常的网络远程计算的一个特征,通常的B/S或者C/S的模式,都是本地具有一定的终端设备,通过网络调用远程的资源,进行复杂的计算,但是这种计算是多对一的,而云计算的模式是多对多的。
那么如何理解云的规模就是一个很重要的问题了,现在,基本上所有的虚拟化软件都具有在虚拟化硬件上动态分配资源的特性,这点也是很多人将虚拟化技术和云计算技术混为一谈的原因,笔者在查找资料的过程中,并未发现任何机构或者专家对云计算的计算规模做过评判,换句话说,几台服务器的规模也可以构建一个云计算的环境?似乎是贻笑大方了。
但是目前确实很多单位都在做只有几十台,甚至几台的云计算环境。无一例外的,这些案例也造成了我们对云计算和虚拟化技术难以区分理解的原因。
(2)可自修复能力,同质性,广泛的地理分布,低费用和先进的安全措施。
云计算具有的第四点特征目前来说有一定争议,云计算要求在计算内部,完全的同质,我用手机提交计算和用PC提交计算不应该有差别;由于我所有的计算资源在远程计算云中,那么用户在本地不需要任何维护,不应担心病毒等等的骚扰;
一个云应该具有广泛的地理分布,可以为一定规模的用户提供服务;低费用和先进的安全措施是现在困扰云计算的主要难点,我们现在的云计算基本上都是新建,忽略了云计算的核心思想是将旧有的计算资源整合提供服务。所以,云计算的价值是较新投资更节省的,而不是带来更高的成本。
而下面我们看一下虚拟化的几个重点概念:
(1)针对不同的虚拟化产品进行不同的虚拟化技术,如服务器、桌面、网络,不同的IT层面,体现出不同的虚拟化方向,而构成可以连接各种不同平台的整体方案。
虚拟化是一个接口封装和标准化的过程,封装的过程根据不同的硬件会有不同,通过封装和标准化,为在虚拟容器里运行的程序提供适合的运行环境。这样,通过虚拟化技术,可以屏蔽不同硬件平台时间的差异性,屏蔽不同硬件的差异所带来的软件兼容问题,通过虚拟化技术,可以将硬件的资源通过虚拟化软件再重新整合后分配给软件使用。
虚拟化技术实现硬件无差别的封装很适合在云计算的大规模应用中作为技术平台,但是,虚拟化技术并不是云计算的惟一技术基础条件。只能说虚拟化是目前实现云比较切实可行的一个方案而已。
(2)虚拟化的核心解决要务是脱离硬件依赖,可以在各种硬件上部署虚拟化产品后,形成统一的计算界面。
从JVM到VSX等等产品,虚拟化核心要务是脱离硬件依赖,这样无论是软件开发还是网络应用,都可以简化软件的开发模式方法。所以虚拟化在用户界面上,是标准化的,一致的,而不是云计算那样提供各种各样不同平台适应的界面。
虚拟化技术的这个特点,使得虚拟化技术在很多应用场合大有可为。虚拟化技术之所以成为许多云计算方案中采用的技术平台,和虚拟化这个特征是分不开的。但是并不是所有的云计算都必须以虚拟化为技术基础,比如智能家电,就不可能在家电中部署虚拟机等设备。
(3)对本地计算有要求,虚拟化技术并不解决本地终端的计算问题;
虚拟化不能解决本地终端的计算问题,无论是虚拟服务器还是虚拟桌面,虚拟化技术也不能实现将所有的运算都转移到远程执行。虚拟化可以实现动态资源分配,但是并不是远程的。
同时,虚拟化技术涉及网络时,比如说在本地使用远程虚拟机时,需要大量网络通信,这种通信流量和在虚拟机上进行运行的程序复杂度没有任何关联,仅仅是虚拟化技术本身需要的网络通信要求。而云计算中是不存在这个问题的。
3、总结
如果需要将远程的计算资源当作本地计算资源来使用,本身就是将远程资源在本地虚拟的过程,而且将计算资源本地化也需要重新分配资源。
云计算和虚拟化技术的共同点是可以将不同的硬件平台整合起来提供服务,但是无论从规模上还是技术内涵上,虚拟化都不能和云计算概念相提并论。但是,目前很多厂商为了销售的需要,将虚拟化和云计算的概念混为一谈。
至此,我们可以针对虚拟化和云计算的比较做个总结,云计算和虚拟化相比有规模大、分布部署、接口丰富、可以整合目前所有的计算资源、对本地计算设备无任何要求等特点,虽然云计算在建设初期会用到虚拟化技术,但是其内涵是要覆盖虚拟化技术的;
虚拟化技术足对标准硬件设备的统一封装和资源再分配,对规模没有特殊要求、集中部署、接口统一、对本地计算资源有一定要求等特点。
所以,当我们进行IT规划时,应当根据自己的实际情况,选择适合自己的技术路线和方案。