云和虚拟化的关系

Posted 未来云节点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云和虚拟化的关系相关的知识,希望对你有一定的参考价值。

云计算和虚拟化,没有任何必然关系。实现云计算,根本不需要虚拟化。我说的云计算,就是分布式计算(利用 MapReduce来实现)。

云和虚拟化的关系(一)


什么是云

什么是云,其实并不重要,重要的是我们在其之上,将数据,软件和平台等等的复杂构建,安装和维护的工作转嫁给云提供商。

对于大量的数据,就会产生两个问题,存储和数据的分析。存储需要空间,数据分析,需要计算能力。那么你作为运营商,需要做啥呢。当然是准备好存储空间和计算能力。那么肯定就要和我们一起云。

让那些小的软件厂商,开发各种的应用,他们不需要考虑存储和计算能力,这样大大降低了门槛。吸引更多的人加入。

举一个实际的例子:我一个朋友做手机定位。现在的手机定位已经很先进。
手机定位采用2种技术,手机上带有gps芯片,通过卫星定位。通过基站定位,一个基站,只能确定1公里,如果是3个基站,就可以定位一个人的确定位置。

你在大街上行走,gps就可以对你进行定位,当你进入建筑物,就可以通过基站进行定位。而且你所以走过的轨迹,都是记录下来的。

假设一家保险公司,全部的保险业务员,都是配置这种功能的手机。我的服务器记录的全部业务员的运行轨迹。

3个月,我认为业务员的运行轨迹,走路多少和业绩是否有关系。他们去的地方,是否和业绩有关系。我就希望对这些数据进行分析。

这个时候,我们就要从云存储里把数据拿出来,用云主机进行云计算。看看他们有啥内在的关系。进行数据挖掘。

看看他们业务员,中午喜欢到那里吃饭,平时有啥爱好。估计分析出来的东西很多。看看什么因素是和业绩有关的。

云和虚拟化的关系(一)

云的应用,目前成熟其实就2部分,云存储和云计算。这两个是有很大的差异的。其实我的理解,应该还有所谓的云数据库,不过目前我还没有了解这个。


云存储

云存储,其实和我们比较近,也相对来说,比较好理解。如果接触过服务器的人,就很容易明白。

2000年的时候,当时sina给用户提供邮件的空间是50M,后来sina还出现一次事故,存储出现问题,造成用户的邮件丢失。在那个年代,邮件服务提供商,都是使用共享存储,这种设备非常昂贵。

使用共享存储的方式,对于今天这种大数据量其实已经无法适应。那么如何解决呢?

那么就是把更多的机器的硬盘连成一起。这样做需要增加空间就简单,加台机器就可以。那么随之而来的问题就是如果其中一台机器出现问题怎么办?其实也好解决,我们把一份文件,copy多几份到不同的机器上,这样就解决了一台机器出现问题,丢失数据。这其实就是分布式文件系统。

其实在国内,我相信网易,早就使用类似的技术,只是不对外开放而已。目前国内的那些网络硬盘,其实也基本是类似的技术。
其实看完这个,你就应该知道,云存储和虚拟化一点关系都没有。
为啥说Gmail是云呢?我的理解是Gmail,邮件的存储,他肯定是采用了分布式文件系统。

曾经有人问过我一个问题,800客,xtools这些CRM应用这些算不算云,或者说,他们是否采用云的技术?

这是一位咨询公司的朋友问我的问题,当时我的回答,应该是不对的。800客,xtools到底是不是云?我的理解就是看他们的存储和数据库。

简单点说,如果只是不不同的用户分配到不同的机器上,我想这不能算是云。从技术来说,应该是很简单就可以实现。或者说,根本不需要用到云的技术。

把用户分配到不同的机器上,有2个问题。

云和虚拟化的关系(一)

1、如果一个用户,他的消耗的资源过多,那么就会影响别的用户,那么这个时候怎么办?假如这个企业今天是20个crm的用户,明天突然增加到1000个,那么一台机器,肯定就无法满足。

当规模不大的情况下,这样的问题也好解决,给他单独安排一台机器就可以。那么如果单独一台机器都无法满足,那就有问题,如果这样的用户不多,其实还是有很多办法解决。

对于saleforce来说,他们就必须想办法自动解决,所谓的弹性就是这样意思。你企业是100用户,可能是分配到不同的机器访问,但是数据库是同步的。这里面技术含量还是很高的。

2、机器如果硬件出现故障,那么就麻烦。造成服务停止。还有一点,需要注意的,云存储,只是针对文件。对于数据库,他是没有办法的。也就是说,如果你用的是mysql的数据库,你是无法通过所谓的分布式文件实现,实现多个备份的。

所以从这几点来看,他们不可能算是云。如果是有数据库的应用,要做到云的应用,技术难度还是很高的。

所以我个人认为,他们都是没有采用所谓云的技术,他现在的规模,也不需要实现那种弹性,也就不能算是云。日后如果有机会接触他们的技术,探讨一下。

Saleforce,大家肯定认为他是云的应用,为啥。我个人认为,他不但解决的存储,还解决的数据库的问题。


云计算

 云计算可以解决两个问题。

1、当一台机器资源闲置的时候,我可以通过虚拟化,在上面跑多个os。这其实就是很好理解,也就是为啥云计算好像都是虚拟化一样。虚拟化,是很好解决这个问题的方式。

云和虚拟化的关系(一)

那么如果是这样的话,云计算和虚拟化就有关系。

2、当1台机器无法满足计算的要求的时候,我们把多个机器并一起来完成一项工作,这其实就是所谓的并行计算。

这其实也很好理解,但是有点,这和虚拟化有啥关系呢?

我一台机器的性能都不够用,难道我还在上面虚拟化,再跑一个os,这样性能就更差。

这其实是很困惑人的。那么我不虚拟化,来实现并行计算,可以吗?这肯定是可以,假如你这次并行技术,需要的是linux,安装特定的软件,那么你就在100台机器进行安装,就可以实现并行计算。

我们一些固定的应用,并行计算,其实根本不需要虚拟化,现在那些高性能计算机,其实就是通过并行计算的原理来实现的。

一个简单的例子,google,他肯定是云,那么可以肯定一点,google肯定是没有用啥虚拟化的技术。他都是用普通的pc,进行大量的并行计算。
那么云厂家都是通过虚拟化来提供云计算呢?

不同用户,实现并行计算的软件,os都是不一样的。如果我是对外提供服务,我就需要满足不同的需求。而且客户需要云计算的能力,是按需的,不是长期的。

假设客户需要100台服务器,运行linux,10个小时。马上又有客户提出,我需要100台windows的机器,跑一个小时。

那么如何在在100台机器跑完linux,又马上安装window给客户提供服务呢?

当你有100台物理的机器。你如何可以实现统一的管理呢?远程控制卡,这是可以实现远程管理,不过不是所有的机器都有远程控制卡,而且即使有远程控制卡,你如果希望同时在这些机器安装系统,软件呢?

那么目前的技术条件,如何才能更低的成本来实现统一管理100台服务器,甚至1000台呢?答案就是虚拟化。

目前一台物理服务器上跑一个os,和物理服务器上虚拟化,再跑一个os,性能大概要损失5%,这是可以接受的。因为所有的机器实现虚拟化后,我们就可能实现统一的管理。

虚拟化,物理服务器,其实也是需要你去安装系统,不过这是一次性的。实现虚拟化后,你在上面跑什么os,什么软件,都是可管理的。

你需要100linux的主机,我1分钟就克隆出来给你使用。这就是我们为啥看到云服务提供商,都是通过虚拟化来提供云计算。

结论,云计算和虚拟化的关系:对于要解决1台机器的资源充分利用资源,那么云计算是需要虚拟化来实现。 

但是对于把多台机器并在一起完成一项工作,根本不需要虚拟化。

在什么情况下要虚拟化呢?

如果你希望对外提供服务,作为云计算的服务提供商,那么你就需要采用虚拟化的技术,这样可以更好的服务客户。 


以上是关于云和虚拟化的关系的主要内容,如果未能解决你的问题,请参考以下文章

云和虚拟化有何区别?

请问桌面云和桌面虚拟化的区别是啥?都分别应用在那些场景?

Docker和云计算的关系是啥?

Docker和云计算的关系是啥?

阿里云和腾讯云产品对比

阿里云和腾讯云产品对比