如何看待云计算的虚拟化技术 知乎

如题所述

云计算是一种服务;虚拟化和分布式系统都是用来实现云计算的关键技术之一。
目前来讲虚拟化主要常用两个核心技术:服务器虚拟化,与应用虚拟化
目前来讲分布式系统主要用到的两个核心技术:分布式存储,与分布式计算
云计算可以理解为一种租借式的服务,即你可以对IT系统内部的原理什么都不懂,也不需要买到手,但是随时可以使用公共的IT资源为自己服务,比如baidu,比如QQ,比如163邮箱

我认为对虚拟化技术最好的定义就是可以让IT系统的物理拓扑图与逻辑拓扑图无关,即解耦
我们暂时以商用虚拟化系统vmware举例

为了实现拓扑解耦,它做的第一点就是让一台机器可以同时跑多个操作系统,即虚拟机,而且虚拟机还可以在物理机间来回转移,高可用,这样我们的操作系统就从物理机上彻底解放出来了,你可以把同一个虚拟机随时放到其他物理机上,实现了对硬件的高效资源利用,和系统的高度灵活,解除了大量人工劳动,便于实现大规模系统的方便管理,这种就是服务器虚拟化(vSphere)。

光系统分开还不行,你有时还需要各种方式访问虚拟机系统,于是你就会是用远程桌面等方式去访问这些后台的虚拟机,这种就是应用虚拟化(view)。

当然还有网络虚拟化,存储虚拟化等各种其他虚拟化技术正在慢慢成长,不过相对于前两者无论是商用还是开源,都还不太成熟,暂不讨论。
我认为对分布式系统比较合适的定义是把所有IT资源看成为一个整体来使用,而不是去独立的看某个机器某个系统,即资源池

我们暂时以开源Hadoop为例

为实现将IT资源变成整体,它要做到的第一点就是将一个巨大的文件拆开放在多个地方,你可以用一大堆很普通的计算机用网络连在用来存放这一个巨型文件,这样即使很多很小硬盘的机器也可以通过连在一起当成一个很大的存储空间来用,这种就是分布式存储(HDFS)。

光文件存放合在一起不行,计算能力也要合在一起,所以它还要满足一个任务分给多个物理机来处理,这样即便一堆老破电脑,通过这种方式连在一起,只要足够多,也能当超级计算机用,这种就使分布式计算(MapReduce)。

当然Hbase等其他的技术也在逐渐成熟,总的来讲都是为了解决建立巨型资源池需要的技术。
由此可以看出虚拟化主要是把大块拆成小块儿,分布式系统主要是把小块组合成大块儿,IT资源经过这样的揉碎再组合,变成了一个十分灵活的系统,在这几个基本技术的基础上,在通过某种调度和经营,就可以实现云计算的服务模式了。
所以,这并不是概念炒作~
温馨提示:答案为网友推荐,仅供参考
相似回答