标签: 虚拟化

再谈“去虚拟化”对深度学习系统的必要性

“虚拟化”溯源

 

“虚拟化”可能是计算机科学历史上*伟大的思想之一,对此,计算机先驱David Wheeler有一句名言:

All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection.

这句话被尊称为“软件工程的基本定理”,并被C++之父Bjarne Stroustrup在专著《The C++ Programming Language》的序言处引用。不过,大部分人记住了前半句,却忽略了后半句,而后半句正是本文想展开讨论的。

“another level of indirection”刻画了“虚拟化”的精髓:通过引入一层新的抽象,把与上层应用无关的细节隐藏掉,有选择的给上层用户暴露一些功能供其使用,也称底层细节对用户透明,既不损害上层应用的功能,又能享受“关注点分离”(separation of concerns)的好处,增加易用性

可以说:虚拟化的案例无处不在,无往而不利。

操作系统是对硬件资源的虚拟化:计算核心被虚拟化成进程;硬件内存变成虚拟内存;存储介质被虚拟化成文件系统;网络传输通过多层协议栈被虚拟化成文件描述符,使得数据传输就像读写普通的文件一样。

分布式存储把通过网络互联多个单机文件系统虚拟化成的一个网络文件系统,使得用户不用再关心网络数据传输的细节,可以像访问本地文件一样访问其它节点上的数据。

当然,虚拟化造就了今天伟大的云计算技术和市场,云原生如火如荼,开发者只需要基于云服务的API编程,而不需要关于API 之下的物理细节,成本低,可靠性又高。

虚拟化的成功不可否认。但是,成也萧何,败也萧何,虚拟化也有其代价。

%title插图%num

“虚拟化”和*致性能的矛盾

 

一层层的抽象层次,一步步降低编程的复杂度,每一层都向上隐藏了一些东西,上层就相应地丢失一些操控能力。每经过一层抽象,就引入一些对上层而言的“不确定性”,*终的结果是,性能的天花板一步一步下降。

以Hadoop的分布式存储为例,虚拟化的结果是掩盖了数据真实的存储位置,不管在哪个节点上,访问接口都是一样的。不过,当向这个集群调度一些MapReduce的数据处理任务时,如果Task被调度到数据所在的节点上,那么就不需要网络传输,如果调度到另外的节点,就需要把数据读到内存并通过网络发送到计算所在的节点。也就是,被隐藏掉的数据位置信息有可能被调度器用来提升系统效率。

随着摩尔定律放缓,不止在深度学习领域,在任何追求*致性能的场景就出现了一种击穿、击碎中间抽象层次,一竿子插到底进行协同优化的强烈需求。 

让我们看六个例子。

1、操作系统把CPU资源抽象成被操作系统调度和管理的内核线程,避免了用户调度计算资源的麻烦,但是,在高并发场景,用户级线程(如coroutine)越来越多,计算资源更多的在用户态(user mode)来调度,而不是完全依靠内核的调度。

2、操作系统通过页表机制实现虚拟内存,神不知鬼不觉实现数据的换入换出,但在高性能场景,用户程序会通过编程接口禁止这一行为,譬如在RDMA和GPU异步数据传输都依赖于锁页内存,确保操作系统不会帮倒忙。

3、传统的网络传输协议栈TCP/IP都在操作系统内核,为了避免内核态和用户态的数据拷贝和上下文切换,人们先是使用用户态协议栈(如Intel dpdk),仍无法满足需求的话,就使用支持内核旁路(bypass)的RDMA技术,完全跳过了操作系统这一层。

4、缓存(Cache)技术也可以视为一种虚拟化,命中就直接使用,没命中就花时间从更慢的存储取过来,在局部性较好的负载下工作得很好。但在特定领域,譬如深度学习领域,工作负载有特别的规律,如果用软件来控制缓存数据的弹出以及读取甚至可以做到100%的命中率,这种办法被称为Scratchpad,现在几乎所有的AI芯片都没有用Cache,而是使用Scratchpad技术。

5、操作系统的文件系统或者网络文件系统,把底层硬件的细节隐藏了,编程时不需要考虑数据在哪台机器的哪块磁盘上,编程更简单了,但访问近处的数据速度快,访问远处的数据速度慢,为了提高效率,有人就提出了locality aware(局部性感知)的调度,把计算任务尽可能调度到存储数据的节点上去。

6、工业级的大型软件系统里,通常不会使用库函数,恨不得把底层代码库重新打造一遍,譬如Chromium, OceanBase等大型C++项目,我想,这也可以算作反虚拟化的例子。

%title插图%num

“虚拟化”的舒适区

 

虚拟化试图向上层提供一剂一劳永逸的灵丹妙药,既解决易用性,又不损害上层应用对性能的需求。但是,“虚拟化”到底好不好应该具体问题具体分析,那该如何判断虚拟化到底合不合适呢?

这里尝试抛出一个用来判断是否有必要引入一层抽象(虚拟化)的量化指标,供参考。每引入一层虚拟化,就向上层隐藏了一些东西,向上提供的服务的延迟就因此引入了不确定性(以分布式存储为例,有的数据近,有的数据远;以分布式GPU资源池为例,有的近,有的远),服务的响应延迟有一个波动范围,也就是[min, max],延迟越小越好。

%title插图%num如果上层某一个应用需要保证的*低延迟仍大于max,那么这层虚拟化对这个应用就没有损害,可以大胆的引入这个虚拟化技术(也就是上图的C区域)。

如果上层某一个应用需要保证的*低延迟介于min和max之间,那么引入这层虚拟化就对这个应用是有损害的,把这层虚拟化敲掉,就可以确保以min值满足这个应用对延迟的需求(也就是上图的B区域)。

如果上层某一个应用需要保证的*低延迟小于min,那么即使敲掉当前层的虚拟化,仍不能满足这个应用,就需要继续向下敲,进行联合优化,直到延迟得到满足(也就是上图的A区域)。

%title插图%num

鱼与熊掌兼得?

 

如上所述,虚拟化的基本思路是通过“隐藏细节”给上层应用提供一种假象,降低上层应用使用底层资源的复杂度。不过,有时候,“隐藏”掉的信息会阻碍上层应用挖掘*致的性能。有没有两全其美的办法呢?

David Patterson在《计算机体系结构的黄金时代》一文中开出的药方是从算法到硬件直接打通,结合算法和硬件的特点全部搞定制。定制表现在DSL和DSA,一方面是设计领域特定语言,方便编程,另一方面为面向领域应用设计领域特定架构,挖掘*致效率。

David Patterson的药方既不是在已有方案中插入新的抽象层次,也不是完全不要中间抽象,而是把原有的抽象层次全部敲碎重建,这种重建是基于对算法和硬件特点的充分挖掘。我理解这里有俩关键:软硬件协同设计(分工),以及编译器技术。

一方面,这里的思路和虚拟化不同之处是:不是向上层应用隐藏什么,而是强调要向上层暴露什么,或者说向上层让渡什么职责。

另一方面,这里没有期待只要提供一层API的抽象就包打天下,而是对从算法到硬件的映射复杂性有充足的认识。这种映射既包含任务相关但硬件无关的问题,也包含硬件相关的问题,本质等同于人们熟知的编译器技术。

说到这里,想到另一个“去虚拟化”的*佳例子,就是软件定义网络(Software defined network,SDN)。对于同一套硬件基础设施,承接不同的工作负载,交换机的*优转发规则是不同的。SDN的思路是,令交换机的转发规则是可编程的,对每一个不同的业务负载,都用静态分析得到*优的转发规则或策略(control plane),并按照这个规则对交换机编程,交换机在转发数据时只需要按照已编程的规则执行即可(data plane)。

在SDN的例子里,交换机让渡了一部分职责给软件,软件根据不同的业务负载都生成不一样的路由规则(策略),这是SDN平衡灵活性和*致性能的关键。

在OneFlow解决分布式深度学习的难题时,也是类似的思路,它不是靠额外引入的一个抽象层次实现,而是分成了控制平面和数据平面。在控制平面,编译器根据特定深度学习模型的任务负载和底层硬件拓扑生成对这个配置*优的执行计划(execution plan), 这个plan不是一劳永逸的,它需要上层模型的知识,也需要底层硬件的知识,模型或硬件拓扑一旦变化,plan就会变化。但是,编译器生成plan的机制可以认为是不变的,也是整套系统的精髓。

 

%title插图%num

结语

 

这篇文章补充解释了我对“通过向上层算法隐藏硬件信息”的虚拟化思路,以及“通过向上层算法暴露硬件信息和让渡职责”的去虚拟化的思路的理解。

简单来说,虚拟化的思想强调的是隐藏(底层细节)和限制(上层的功能范围),潜台词是:我认为对上层应用的需求足够了解,告诉上层应用太多细节也没有用,我把底层的东西一揽子处理好了,你只管调用我为你提供的API就可以了。

软件定义的思想强调的是暴露(底层细节)和让渡(硬件的策略可被软件分析和配置),潜台词是:我对上层应用的需求了解不足,没有办法为上层应用提供一个足够令人满意的一揽子的策略,于是干脆把底层策略暴露给上层,上层应用对自己的需求和任务负载*清楚,上层自己来负责生成策略并来配置底层。

致力于提升深度学习系统性能的朋友对“去虚拟化”的思路应该是习以为常的,这应该是整个社区经过探索和碰壁逐渐收敛出来的主流思路,不是我个人的发明,我只是把观察和理解写下来而已。

顺着这个思路,算法-软件-硬件协同优化领域正在发生一些令人兴奋的进展。毫无疑问,广义上的编译器技术(无论是单设备代码生成,还是分布式执行计划生成)是里面*核心的部分。

私有云计算和虚拟化之间,主要有什么关系?

虚拟化策略和私有云策略有时让人很困惑,而不同的定义更是让人一头雾水。它们之间*明显的区别在于,虚拟化技术是IT环境这个不动产的固定装置,而云计算作为一种按需服务来提供,分平台即服务、基础设施即服务或软件即服务等几种形式,采用按需付费的模式来提供。

云计算目前是备受关注,英国政府向公共行业开放了Cloudstore,私有行业则出现了一系列重大交易,*近的例子包括德勤会计师事务所和宝洁公司。但是许多企业仍在稳步、更低调地向虚拟化环境转移,泰晤士水务公司(ThamesWater)和梅德韦国民保健信托公司(MedwayNHSTrust)等企业*近在虚拟化方面有所举措。此外,调研机构弗雷斯特公司*近预测,市场对数据虚拟化技术的需求将增长。

企业在考虑自己走哪一条路子时,不得不认真考虑哪一条路能更好地满足自己的业务需求。这可能有一定的难度,尤其是由于这两项技术经常用与业务流程没有多大关系的语言来描述,但是还是有许多因素应该予以考虑。

成本优势的抵消

在这几条之中,成本是*明显的因素。虚拟化方面的成本会比较高,因为它需要投入大量的工作来进行建立和定制,而云服务提供商已经承担了这些成本。后者还通过实用计算模式提供了提高效率、节省成本的优点;按照这种模式,顾客只需要为实际使用的服务付费;但是如果大量使用服务,成本就会增加,开始抵消*初节省成本的优点。

对许多企业来说不太可能是这种情况,但是有时候,自己拥有资产来得更便宜。如果企业需要高度的控制性,那么虚拟化就能带来明显的优势。在自己的数据中心里面保持运营让企业更容易管理和改变自己的IT环境,从而提供了更大强灵活性。

如果企业运行必须针对虚拟化平台来进行调整的许多专门的应用程序,又想对使用技术方面的变化作出响应,这一点很重要。对加大使用远程技术或奉行BYOD(带来自己的设备)策略的企业来说,这可能也是个重大因素。而更大的控制性还与数据安全方面的顾虑有关。

毫无疑问,云服务提供商对这个问题非常重视,它们会提供服务级别协议,从而为它们保管的数据的完整性提供有力保障。但是数据越敏感,焦虑越大,一些企业通过在自己的数据中心保管数据得到的保障就越大,因为它们自己的工作人员每天在数据中心负责安全工作。这种控制还在管理涉及法律和法规问题的风险方面提供了更大的保障。

停机因素

可靠性也是个有争议的话题,很难达成共识。在虚拟化环境下,网络连接中断会导致用户无法访问多台服务器;但是由于广域网链接的云架构出现故障,也会出现类似的问题。但是有理由认为:万一遇到了问题,云计算提供了更大的弹性,提供商可能有更多的办法,以便使用多台服务器,或者改用其他数据中心。此外,云环境中的可扩展性通常更强,一家业务发展迅猛的公司有机会加强数据保管和处理能力,又不需要大笔内部投入所需的那种时间和成本。

这与云提供商提供的短期交易带来的灵活性相一致,有时提供商承诺提供几个月而不是几年有保障的服务,以便迅即响应客户的需求。但是云计算方面的炒作应该不会干扰使用虚拟化的理由。总的来说,云计算不是很明确,依赖一系列价值判断,而这些价值判断取决于企业业务的性质和环境。虚拟化有时被称为是向采用私有云迈出一步的一项技术。但是一些企业在迈出了这一步后可能想停顿一下,看看它是不是满足了自己所需的各个要求。

虚拟化就是云计算吗,两者之间有哪些不同之处?

虚拟化就是云计算,这个说法很早就有,尤其商业厂商, vmware,微软,都是把以前叫虚拟化的产品,改名为云计算。

其实某种意义上,也对,虚拟化是云计算的初级阶段。对于企业来说,虚拟化,其实就已经能完全满足需求,那其实这就是云计算。相信云计算也是有不同的阶段,不同的层次。

API接口,没有api接口的,就是虚拟化。有api接口的,就是云计算。其实也挺有道理的。因为有api接口,你才可能和第三方调用。没有api接口,你就只能通过管理界面,一个一个虚拟机创建。

不过现在很多虚拟化厂商也开始提供api接口,不过这只是部分功能的api接口。

如果说IaaS,云计算,必须提供全部功能的API接口,这个定义我还是很赞同的。

节点规模,有人说,10台的规模,就是虚拟化,1000台,就是云计算。其实也是有道理的。你管理机器的规模和你的管理方式有很大的联系。一个简单的例子,你10台机器的时候,创建虚拟机,制定物理节点,就是一个刚需。当你的设备超过1k,那么你更多的是考虑放到哪个zone里。

分布式技术,有人认为采用分布式的技术,就是云计算,例如如果你的存储是用本地存储,那么还是虚拟化,用了分布式,那么就是云计算,网络也是类似。

这个观点,还是很深入人心,符合中国人很多观念。虚拟机都是分布式的,肯定不会有所谓的单点故障。

弹性扩展

这个就更加深入人心。有弹性扩展的功能,就是云计算,没有就是虚拟化。不过大家对弹性扩展的理解,其实差异很大。对于虚拟机来说,是横向还是纵向扩展呢?

横向是指自动增加和减少机器的数量。

纵向是指自动增加和减少cpu和内存

在这个行业混了那么久,坦白说,见到和我的理解的横向弹性扩展,就是fit2cloud,真的是基于青云的上实现了自动扩展。纵向的就是刻通云给我演示过。不过这个都是局限在linux下,windows下,目前还是很难做一个demo。
其实外面的很多demo演示。在真实场景下,其实根本是无法使用的。增加虚拟机容易,减少呢?

服务器虚拟化集群部署

多服务器虚拟化集群部署
介绍:服务器虚拟化有有利于节省服务器开支,提高服务器资源利用率,将服务器物理资源逻辑化,动态分配内存、cpu、磁盘等物理资源。

以dell的R730服务器为例(VMware ESXi5.5虚拟化软件):

虚拟化服务器
1、到官网去下载DELL定制版ESXi:vSphere ESXI5.5不支持DELL Power EdgeR730,所以想在R730中安装esxi5.5,需要到戴尔官网下载定制版,也就是OEM版本。dell R730服务器需要定制版ESXi5.5 ,下载地址:http://www.dell.com/support/home/us/en/04/Drivers/DriversDetails?driverId=YGH6K

2、将u盘或者光碟做成esxi启动盘,从U盘启动即可自动安装。

3、用路由器或者交换机将两根网线设置在同一个网段下面。然后将网线插在两台服务器上,这样两台esxi 就在同一个网段中了。可以项目ping一下。
选择一台在用一个网段下的windows电脑,安装vSphere Client,连接其中的一台主机,创建一个window虚拟机,安装window server 2008 R2系统,注意系统一定要是enterprise(企业版的)。

4、系统装好之后,右键 计算机–>管理–>服务器管理器–> 角色–>添加角色,将Active Directory轻型目录服务添加进去,添加过程中他会自动添加.NET framework 3.5.1功能。

tip:vmware vSphere client有一个很方便的传输文件的功能,就是将文件打成iso(Ultralso工具)然后上传到服务器的数据存储器中(打开vs client–>摘要–>存储器–>浏览数据存储–>上传即可。)

5、将VMware-VIMSetup-all-6.0.0-2172336.iso挂载在vSphere Client中的虚拟机中,然后在虚拟机中双击点开安装。这个版本以上的vSphere server都包含了sql server2008,所以不需要重新安装。

6、安装完成之后,点击开始,所有程序里面有vSphere web client,就可以进行管理esxi主机了。

7、注意:vSphere server 版本一定要比esxi版本高,这样vSphere才能管理esxi主机。我用的vSphere 版本是vSphere server 6.0,esxi的版本是5.5。

8、vSphere server 安装完成之后,在开始–>所有程序—>vmware…中有一个vmware vSphere client,点击打开,在浏览器端进行配置,
登陆时登陆账户应该是:administrator@vsphere.local
密码是自己设置的。这里千万不要用administrator登陆,登陆了里面是没有server服务的。

9、登陆完,点击主机与集群添加主机就可以了。

另外
– 服务器安装系统

1、选中一台服务器安装window server 2008 R2,一般(dell R730)服务器会提前帮你把服务器RAID配置设置安装好,我的服务器是dell提前设置好两个阵列:VD0、VD1
3、我的VD0分配了200G,VD1分配了16T,所以计划将系统安装在VD0。
4、将window server 2008 R2制作成u盘启动盘,因为dell R730比较新,pe系统无法驱动raid卡,所以安装系统识别分区需要raid驱动,在服务器厂商官网就有,SAS-RAID_Driver_CP0KR_WN64_6.603.07.00_A04.EXE,

如下是驱动解压方式:
1). 浏览至文件下载目标位置并双击新下载的文件,然后单击“Extract”(解压)(专属解压方式)
2). 指定解压缩文件的目标位置。
3). 单击“OK”(确定)以解压文件。
4). 单击“OK”(确定)以退出安装程序
5、然后从u盘启动2008系统,在寻找盘符的时候找到解压后的文件夹即可访问两块raid磁盘安装系统。

被大众普遍接受的云计算,有哪些特点?

云计算的特点

云计算是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。

好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便,费用低廉。*大的不同在于,它是通过互联网进行传输的。

被普遍接受的云计算特点如下:

1.超大规模

“云”具有相当的规模,Google云计算已经拥有100多万台服务器, Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的计算能力。

2.虚拟化

云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置。只需要一台笔记本电脑或者一部手机,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。

3.高可靠性

“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机可靠。

4.通用性

云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。

5.高可扩展性

“云”的规模可以动态伸缩,满足应用和用户规模增长的需要。

6.按需服务

“云”是一个庞大的资源池,你可按需购买;云可以像自来水、电、煤气那样计费。

7.*其廉价

由于“云”的特殊容错措施可以采用*其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率较之传统系统大幅提升,因此用户可以充分享受“云”的低成本优势,经常只要花费几百美元、几天时间就能完成以前需要数万美元、数月时间才能完成的任务。

8.潜在危险性

云计算服务除了提供计算服务外,还必然提供了存储服务。但是云计算服务当前垄断在私人机构(企业)手中,而他们仅仅能够提供商业信用。对于政府机构、商业机构(特别像银行这样持有敏感数据的商业机构)对于选择云计算服务应保持足够的警惕。
一旦商业用户大规模使用私人机构提供的云计算服务,无论其技术优势有多强,都不可避免地让这些私人机构以“数据(信息)”的重要性挟制整个社会。对于信息社会而言,“信息”是至关重要的。另一方面,云计算中的数据对于数据所有者以外的其他用户云计算用户是保密的,但是对于提供云计算的商业机构而言确实毫无秘密可言。所有这些潜在的危险,是商业机构和政府机构选择云计算服务、特别是国外机构提供的云计算服务时,不得不考虑的一个重要的前提。

云计算和虚拟化,有啥区别呢?

sjmcefc2 · 131 天前 · 2364 次点击
这是一个创建于 131 天前的主题,其中的信息可能已经有所发展或是发生改变。
没搞清楚什么是云计算和虚拟化的联系和区别?有人可以通俗讲清楚不?
还想求一个便宜的腾讯云、华为云购买链接
虚拟化 云计算 区别 清楚23 条回复 • 2020-12-09 16:04:23 +08:00
DoctorCat 1
DoctorCat 131 天前
云计算:商业概念(类比路上跑的四轮汽车)
虚拟化:实现云计算概念过程中的一种技术基础(类比四轮汽车中的燃油车)

总结: 虚拟化(四轮燃油车)曾经是 云计算(四轮汽车)的基础技术。
现在已经衍生出其他的技术了,例如容器和云原生(老年代步车、新能源车)等技术。
freecloud 2
freecloud 131 天前
虚拟化是云计算的基础。集群资源池(集群 cpu 、集群 gpu 、集群 RAN 、集群存储,集群资源,高带宽接入等等)+跑个资源控制与虚拟化软件,生出的小机,是为云主机。一个独立服务器,跑个虚拟化软件,生出的小机,是为 VPS 。

个人观点,仅供参考。
sjmcefc2 3
sjmcefc2 131 天前
@DoctorCat 虚拟化是单指 vm 的技术?容器感觉还是比较单一的一个技术(或者更多的相关的管理操作变成复杂的系统),感觉云原生都是生态了?
sjmcefc2 4
sjmcefc2 131 天前
集群资源,比如众多 pc 服务器的 cpu 集群,是否可以达到很强大的计算功能呢?
DoctorCat 5
DoctorCat 131 天前
@sjmcefc2 传统意义上的虚拟化,就是虚拟机呀 xen 、kvm 、vmware 这类的主流(大众认知,在此不讨论学术意义)。
容器技术其实很早就有了 Linux kernel2.6 后,BSD 的 Jail 等,只是很长时间都没有公开的商业实践罢了。云原生也是技术理念变革了例如 软件定义 X 的普及,在架构灵活性上有质的变化,算是生态吧。
JohnSnow 6
JohnSnow 131 天前 via iPhone
宽泛讲,云计算是虚拟化的实际应用。虚拟化主要是将硬件资源抽象起来进行共享,达到资源池化。比方说计算资源抽象、存储资源抽象等。

具体讲技术时,一般还是计算资源方面。

1. 虚拟化一般特指内核虚拟化技术 kvm 。现在云计算的虚拟机服务大多数基于 qemu/kvm 。这种 kvm 虚拟化是硬件辅助虚拟化,主流 CPU 都支持。因为模拟的是操作系统完整的环境,开销一般会比容器化的大,但隔离性上好。大部分厂商的云计算,提供虚拟机服务时,主要就是这个东西。

2.容器化是进程级别虚拟化,一般是依赖于内核 namespace (修改进程视图,让进程以为自己是独占资源)和 cgroups 技术(简单认为保证 QoS )。以 docker 为例,内核提供 namespace 、cgroups 支持,另外文件系统上 overlayfs 等联合文件系统的技术,解决分发问题。只模拟一个或者一组进程的上下文(宿主机上所有容器共享一套内核)资源开销上小些,但隔离性上差。

可以简单理解为,1 跟 2 是虚拟化程度上差异。实际上,在边缘计算领域已经有基于 kvm 虚拟化技术的容器了。

云原生一般是以 k8s 为基底的生态。
sjmcefc2 7
sjmcefc2 131 天前
@DoctorCat 大众认知就是很好的知识。有没有这方面的演变路线图?另外云计算是商业概念的话具体指什么呢。
sjmcefc2 8
sjmcefc2 131 天前
@JohnSnow 虚拟化这块,比如 exsi,一般都是把主机切分掉,还没有试过把硬盘等资源做成资源池;
1.也就是云主机,目前都是 kvm 的主机;隔离性强是指独自使用内存,cpu 等资源,彼此之间看不到别人在运行的数据?

2.容器化是不是就有可能看到彼此之间的数据呢
3.云原声,以 k8s 为基底是不是就是一套新的理念来分配和整理资源?
DoctorCat 9
DoctorCat 131 天前
@sjmcefc2 关键词“云计算历史” 随便找就有很多资料了 例如 https://cloud.51cto.com/art/201904/594748.htm
laminux29 10
laminux29 131 天前
云计算有很多种意思,简单一点就是使用服务器运行程序,通俗一点就是你花钱把服务器到域名这一整套东西交给专门的厂商解决,学术一点还牵涉到需求与资源的分化与汇总。

虚拟化也有很多种意思,简单通俗来说就是一台物理机模拟出好几台虚拟机,学术一点就是把资源整合然后根据需求进行调度并调优。

murmur 11
murmur 131 天前
这东西就是个概念,不用纠结,你会发现除了云计算还有雾计算,有了雾计算还有霾计算
wanguorui123 12
wanguorui123 131 天前
虚拟化是个大概念,云计算只是虚拟化的应用场景之一
sjmcefc2 13
sjmcefc2 131 天前
@murmur 也不是纠结,主要是概念有点糊涂。
sjmcefc2 14
sjmcefc2 131 天前
@wanguorui123 虚拟化的其他场景是什么呢?
总感觉越想越糊涂这其中的差别。
opengps 15
opengps 131 天前
首次买可以跟我聊聊
入门的解释:你可以把某个系统里的多个网站理解成空间,本机虚拟机理解成 VPS 。
现在更进一步:虚拟化是较小规模的虚拟机集群,云计算是较大规模的虚拟机集群,从这一步开始,有个共同特点就是脱离了单台物理机。所以开始用云这种词来形容,你虽然作为用户用了某台或者某些虚拟机,但是及时不中断业务,那么不同时间很可能实际用了不同的物理机。虚拟化或者云计算层面给你做了物理机的底层故障热迁移
wanguorui123 16
wanguorui123 131 天前
@sjmcefc2
虚拟化可以是对计算能力,存储,进程,操作系统等等的模拟环境,虚拟化的目的是共享底层资源( CPU/内存 /硬盘 /网络等等),以及虚拟化可以方便的迁移软件环境和管理硬件资源。
云计算只是虚拟化技术进行商用化的一个分支。
JohnSnow 17
JohnSnow 131 天前 via iPhone
@sjmcefc2 你说的这个虚拟化,首先不是宽泛意义上(或者说计算机特别是操作系统里硬件抽象的概念),而是具体技术的应用。计算机里的虚拟化有很多,比方说服务器层面虚拟化( kvm 等),应用层面,网络层面( sdn ),存储层面( sds )。你说的 exsi 这种主要虚拟化把主机切掉,是一类 type 1 hypervisor,type 1 这种 hypervisor 直接放到裸金属的服务器上; type 2 hypervisor 跟 hardware 中间还有层 host os,也就是宿主机。

隔离性差不是说你就可以随随便便看到数据,只是跟虚拟机比要相对容易些(所以安全策略的实现跟应用上,厂商要做更多设计考虑)。cpu 、内存都是共享的,不管什么类型,你虚拟机或者容器在宿主机内核看来还是个进程而已。进程是内核分配资源的单位,所以该怎么样就怎么样。可以简单理解 qemu/kvm 虚拟机成带有 cpu 特定指令加持的二进制翻译机,而容器就是打包后的进程在一个沙盒里跑。同一个宿主机上,原生环境下直接运行程序肯定比你二进制翻译快点了。

云原生就是云计算的漫威宇宙里面,又以 k8s 为基础新建了一套平行宇宙体系。

云计算里概念超级多,按服务的层次划分有 IaaS 、PaaS 一堆。一般情况下,你只要买虚拟机就行了。
sjmcefc2 18
sjmcefc2 131 天前
看来要想说的清云计算和虚拟化还是要好好梳理一番。
虚拟化是将物理资源( cpu,内存,存储,网络)进行整合共享的底层技术,就像是资源池一样能够将散落在不同裸金属物理机上的资源统一进行管理。这里面虚拟化又有不同的分层,type1 和 type2,不过我好像没怎么理解 type2.

云计算是虚拟化的应用,是一套能够帮助人们进行资源管理的操作系统。而云原生就是以 k8s 为基础的云计算。
现在的云计算都是以 docker 为基础的容器化?
lihongming 19
lihongming 130 天前 via iPhone
因为很多人对云的理解还停留在*阶段——VPS,就这个阶段而言,云计算跟虚拟化对用户而言真没什么区别。

但云计算远不止是 VPS,而是基于 VPS 之上的自动化服务,让 VPS 的创建和销毁不再由用户管理,而是服务根据负载需求自动伸缩,俗称 Infrastructure as a service 。比如*近开始流行的函数计算。

目前 AWS 是云计算的领军企业,已经把很多东西都 serverless 了,比如 mysql 、container 、对象存储。当然,还有他*的 DynamoDB (一种 NoSQL 数据库)。

使用 Serverless 需要很多观念上的转变,比如性能问题、费用问题,很多人还是不习惯,一想问题就会代入传统思路,导致南辕北辙。但一旦你彻底建立了 Serverless 思维,就再也不想回去了,真的太方便了,大大提高开发效率。
togou 20
togou 130 天前
@lihongming 是开发效率还是运维效率啊? 麻烦问一下
lihongming 21
lihongming 130 天前 via iPhone
@togou 我不是做运维的,单纯从开发角度讲的。

但运维肯定也省了不少事,因为对 infrastructure 的原始需求都是程序员写在 CloudFormation 配置文件里的,运维主要是监控并优化配置文件里的参数。

serverless 架构下,大家都不需要管理服务器,只需通过配置文件告诉云平台需要什么样的运行环境即可。
chy1024 22
chy1024 121 天前
@JohnSnow “在边缘计算领域已经有基于 kvm 虚拟化技术的容器了”,请问有什么关键字可以搜索到相关的资料?
JohnSnow 23
JohnSnow 121 天前 via iPhone
@chy1024 kata rust-vmm

疫情之下,Nutanix推创新性解决方案助力企业发展

一场突如其来的疫情,打乱了人们春节探亲访友的步伐,“隔离、延迟复工/开学、远程办公”等成为2020开年的关键词,大家的生活方式也随之发生了变化。为打赢这场疫情防控阻击战,数千名医护人员奔赴疫区,与此同时,还有一大批科技公司加入战斗。Nutanix就是这其中的一位。

“与2003年的‘非典’时期不同,随着互联网、云计算的快速发展和应用,再次面对突发事件,很多企业客户已经能够应对自如。”Nutanix中国区董事总经理马莉在接受采访时表示,疫情期间,“远程办公”似乎成为了一种常态现象。相应的,也产生了大量新的需求和新的趋势。数据显示,从2月10号开工以来,全国保守估计有近2亿人通过远程办公的方式工作。这背后所代表是则是一些企业已经利用一系列软件解决方案和应用来应对了近来的不可预测和不确定因素,确保了业务的连续性。毫无疑问,云技术在其中起了重要作用。

作为技术*的企业云软件和超融合解决方案厂商,Nutanix在疫情期间把员工的健康和安全放在首位的同时,也在关注客户的现有产品使用情况。他们积*与合作伙伴进行联络,建立合作伙伴和客户的培训机制等,助力合作伙伴应对此次疫情。

为了更好地助力中国企业保持平稳运行,Nutanix发布了相应的举措来支持中国企业:3月3日,Nutanix宣布向所有中国企业提供桌面即服务(DaaS)解决方案Xi  Frame 的增强免费试用版,帮助中国企业解决因员工无法正常工作而导致的企业生产力下降问题;3月12日,Nutanix宣布新增5个数据中心扩展Xi Frame虚拟桌面服务在亚太和日本地区的可用性,进一步支持受疫情影响企业。

“我们在这个时间段推出一系列的解决方案,就是希望能够帮助到合作伙伴来复工复产,保证业务连续性。”马莉表示,IDC预测,到2021年中国90%以上的企业会采用多云组合的方式,即采用公有云、多云,私有平台这样一个组合的方式来运营它的信息系统。在疫情影响的推动下,我们看到这个进程其实是在加速的,而且很多客户已经在考虑和启动多云环境来推进他的业务了。

多云环境下,虚拟桌面架构(VDI)和桌面即服务(DaaS),成为疫情期间远程办公的理想解决方案,其原因主要有两点:产品的灵活性、方便性,在任何时间、任何地点、任何设备上都可以进行的便捷、安全、高效的远程办公体验;以及对信息的安全、数据的安全,包括如何能够保证效率和长期的投入、产出等优势,被更多的客户和企业关注。
%title插图%num

虽然VDI与DaaS都是远程办公场景,但涉及到基础架构层面,两者是大有不同的。Nutanix中国区技术总监夏峰先生介绍到,Nutanix后台的架构可以随着并发用户数增加能灵活、水平地扩展,而且可按需扩展的。现在使用的VDI主要有两大供应商:Citrix和VMware。Nutanix和两家都有着紧密的合作,可以为客户提供整合的VDI解决方案。

%title插图%num

夏峰讲到,VDI的优势在于能够为企业带来的*大价值在于其能够让企业在不牺牲业务安全性、生产力或性能的情况下,为人员提供流动性和灵活性。Nutanix 超融合架构是*适合虚拟桌面架构的数据中心架构,这样一种架构就是为了应对并发用户数的提升或者是将来用户突然间的增长。在疫情下,原来很多使用VDI的客户,一下子并发的办公人数增多,对Nutanix提出的需求更多的是扩容,要求增加节点,要求应对更多的用户这样一些需求。当然还有一些客户可能是原来没有考虑VDI,现在要考虑建设远程桌面。

在采访的过程中,夏峰为我们举了澳大利亚客户的一个例子。这个客户临时因为疫情管控,员工不能面对面工作。客户临时决定要把原来的预算用来做VDI,它选用了Nutanix的底层架构。*终,Nutanix只用了两天的时间布了1千个点,让企业的员工在家里面能够拨入到公司里面的一些数据和应用环境,能够支撑它的员工在家里办公。“底层用 Nutanix 易于管理,非常灵活,能够非常迅速地部署,安全性又很高。这些条件其实都可以让用户考虑快速地在Nutanix的产品上部署自己远程办公的系统和环境。”夏峰如是说。

另一方面,就DaaS来说,这其实是一种完全外包的虚拟桌面解决方案。它既不依赖也不占用任何内部硬件资源,能够提供与VDI相同的灵活性、安全性和权限,但完全由第三方处理,并且托管在他们的云上。在公有云市场刚刚兴起的早期阶段,许多服务商就已经可以提供这样的服务。夏峰在采访中还提到,DaaS是可以立即启用,不需要企业在数据中心提供相应的架构来支撑这样的计算和存储,而且云平台就是把这样一个基础架构的建设从一次性投入转变为按需投入的模式。
%title插图%num

“Nutanix的Xi Frame其实也是这样的一种解决方案,而且,Xi Frame可以提供各种用户的认证方式,以及任意的交互。”夏峰讲到,目前,Nutanix 的Xi Frame解决方案有两种落地方式:因中国的特殊互联网管理要求,选择与跟国内公有云厂商或者服务提供商合作提供DaaS服务。另外一种,是本地“Xi Frame”,即用户自己把数据或者桌面的分配方式放在云上,企业通过云上的控制平面,在自己的数据中心搭建本地的虚拟桌面。

%title插图%num

夏峰强调,如果大家在远程办公中需要使用VDI或者DaaS环境,并且想要获得良好的云体验,就必须保证企业后台的现代化数据中心是一个水平扩展的架构,这个其实也是Nutanix一直致力的方向。

“Nutanix作为一个未来的多云环境当中的重要的提供商,希望能持续的有一些创新的想法,创新的做法,并推到这个市场当中,能够帮中国的客户,帮我们的合作伙伴渡过难关。“正如马莉*后所谈到的,Nutanix已经吹响科技战“疫”的号角,全力为打赢疫情战做努力。
————————————————

原文链接:https://blog.csdn.net/sch881226/article/details/105114609

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速