新闻中心>新闻详情

漫谈云计算、虚拟化、容器化

2019-06-27 来源:巨盛云

云计算是近年来才出现的概念,但这种需求早已存在。在这个阶段,人们普遍认为美国国家标准与技术研究院(NIST)定义:云计算是按使用付费模式。此模型提供可用,方便,按需网络访问和访问可配置的计算资源池(资源,包括网络,服务器,存储,应用程序软件,服务),可以快速配置,投资最少,管理工作少,或与服务供应商。  

云计算最基本的功能是:“按使用付费”,“资源共享池”和多租户隔离。 

1.2云计算功能

超大规模

云相当大,谷歌云计算已经拥有超过100万台服务器,亚马逊为云,IBM,微软,雅虎等等。拥有数十万台服务器。 Enterprise Private云通常拥有数十万台服务器。云为用户提供了前所未有的计算能力。  

虚拟化

云计算支持用户从任何位置和使用各种终端获取应用程序服务。请求的资源来自云而不是固定的有形实体。该应用程序在云中运行,但实际上用户不需要知道或担心应用程序的运行位置。只需一台笔记本电脑或一部手机,您就可以通过Web服务完成所需的一切,甚至可以执行超级计算等任务。  

高可靠性

云使用数据多拷贝容错,计算节点同构可互换等措施,确保服务的高可靠性,使用云计算比使用本地计算机更可靠。

通用性 

云计算不适用于特定应用程序,云可用于构建不断变化的应用程序,同样的云可以同时支持不同的应用程序。  

高可扩展性

可以动态调整云比例,以满足应用程序和用户规模增长的需要。  

按需服务

云是一个巨大的资源池,您可以按需购买;云可以像自来水,电力,煤气一样收费。  

非常便宜

因为云的特殊容错措施可用于形成具有极其便宜节点的云,云的自动化集中管理消除了大量企业需要承担越来越高的数据中心管理成本,云通用性使得资源利用率远高于传统系统,因此用户可以充分享受云的低成本优势,往往只需几百美元,几天就可以完成前几万美元,完成任务几个月。

潜在危害 

云计算除了提供计算服务外,该服务还必须提供存储服务。但是,云计算服务目前被私人机构(企业)垄断,他们只能提供商业信贷。对于政府机构和商业组织(特别是那些拥有银行等敏感数据的机构),应该对选择云计算服务保持足够的警惕。一旦商业用户大规模使用私营部门提供的云计算服务,无论其技术优势多么强大,这些私人组织都不可避免地要利用数据(信息)的重要性来遏制整个社会。  

对于信息社会而言,信息至关重要。另一方面,云计算中的数据对于除数据所有者云计算之外的用户保密,但对于提供云计算的商业组织来说,没有秘密。所有这些潜在的危险都是商业组织和政府机构在选择云计算服务时必须考虑的重要前提,特别是对于外国机构提供的云计算服务。  

1.3云计算类别

公共云:只有使用权,使用时付费。但是数据被放在别人家里。数据安全性无法保证。银行不使用公共云,金融业不使用公共云。公共云的核心属性是共享资源服务。  

私有云:由您自己的计算机房构建的云,私有云有局限性,资源是固定的;数据相对安全。私有云的核心属性是专有资源。  

混合云:主要任务是放入私有云,临时需要时使用混合云。它将混合和匹配公共云和私有云以获得最佳效果。这种个性化的解决方节省金钱和安全的目的。

1.4云计算分层

云计算也是分层的,可能如下: 

传统IT基本都需要自己管理,如:网络,存储,服务器,虚拟化,操作系统,中间件,操作环境,数据,应用程序等。 

 IaaS

 IaaS,Infrastructure-as-a-Service中文名称为Infrastructure as a Service。主要作用是将虚拟机或其他资源作为服务提供给用户。 

 PaaS

 PaaS,平台即服务中文这个名称是平台即服务。如果从传统计算机体系结构的角度来看“硬件+操作系统/开发工具+应用软件”的观点,那么云计算的平台层应该提供类似的操作系统和开发工具。  

事实上,PaaS确实位于互联网上,为用户提供了一整套用于开发,运行和运行应用程序的支持平台。与PC软件开发模型一样,程序员可能会使用开发工具在具有Windows或Linux操作系统的计算机上开发和部署应用程序。 PaaS有时被称为中间件,其主要作用是为用户提供开发和运行时平台。 

SaaS

SaaS,软件即服务中文名称为软件即服务。简而言之,它是一种通过Internet提供软件服务的软件应用程序模型。在这种模式下,用户无需在硬件,软件和开发团队的建设上投入大量资金。他们只需支付一定的租金,他们就可以通过互联网享受相应的服务,整个系统的维护也由制造商提供。对.负责任。  

如果您想用一句话概括IaaS,PaaS和SaaS,那就是:如果您将云计算与手机进行比较,那么IaaS就是硬件,您必须编写自己的代码开发系统才能使用它; PaaS是手机系统,你想要实现或安装各种软件的功能; SaaS是硬件+系统+软件,你可以用一个词来解决。 

什么是虚拟化?

2.1虚拟化概念 ;

虚拟化是一种通过软件方式集成管理和重新分配计算机硬件资源的技术,常用的基于虚拟机的虚拟化和基于容器的虚拟化。 

2.2虚拟化技术分类

2.2.1按应用场景分类

操作系统虚拟化

Application Virtualization;桌面应用程序虚拟化nbsp Storage Virtualization ;网络虚拟化; 2.2.2按应用程序模式分类

一对多:其中一台物理服务器分为多个虚拟服务器,这是典型的服务器整合模式。 

多对一:它集成了多个虚拟服务器,并将它们用作资源池,这是一种典型的网格计算模型。 

多对多:结合前两种模式。

2.2.3按硬件资源调用模式分类 

完全虚拟化,虚拟化操作系统与底层硬件完全隔离。中间管理程序层从虚拟客户机操作系统转换底层硬件的调用代码。完全虚拟化不需要更改客户端操作系统和兼容性。典型的代表是:VMware Workstation,KVM。  

半虚拟化 

半虚拟化,向虚拟客户机操作系统添加特定的虚拟化指令。这些指令可以通过管理程序层直接调用硬件资源,从而无需Hypervisor层转换指令。性能开销。典型的半虚拟化代表Microsoft Hyper-V,VMware的vSphere。  

注意:IO级别的半虚拟化优于完全虚拟化,因为一层磁盘IO必须更慢。一般来说,IO是网络IO和磁盘IO,因为这两者相对较慢。

2.3基于虚拟机管理程序的虚拟化

它通过软件层封装提供与物理硬件相同的输入和输出性能。操作系统和计算机硬件的分离已经将操作系统和计算机之间的关系从一对一改为多对多(实际上是一对多)。该软件层称为虚拟机管理器(VMM/Hypervisor),它可以直接在裸机(Xen,VMware EXSi)上运行,也可以在操作系统(KVM,VMware Workstation)上运行。这项技术非常成熟(已开发超过40年),但仍有几个问题: 

在虚拟机上运行完整的操作系统(GuestOS),并在其下执行它有虚拟化层和主机操作系统,必须比直接在物理机上运行相同的服务更糟糕; 

使用GuestOS,虚拟机映像通常具有几G到几十G,这占用了大量存储空间。便携性差; 

要使用更多硬件资源,您需要启动一个新的虚拟机。等待GuesOS启动可能需要几十秒到几分钟。 

在实际使用场景中,我们使用虚拟化技术按需分配资源,以完成服务的部署和使用,并隔离服务所依赖的环境,而不会被其他服务感知或干扰。没有必要为此目的启动GuestOS。为什么不考虑让多个虚拟机共享操作系统内核,并且只在控制服务使用的系统资源的同时隔离服务运行环境?基于容器的虚拟化就是这样一种技术。

2.4基于容器的虚拟化 ; 

Container是一个没有GuestOS的轻量级虚拟机,多个容器共享一个OS内核,容器包含要部署的应用程序以及它所依赖的系统环境容器的大小通常只有几十到几百兆字节。由于共享操作系统内核,容器依赖于底层操作系统,每个操作系统都有自己的容器技术和容器工具。 

 Docker是一个Linux容器管理工具。随着Docker的兴起,Linux容器技术也是最时尚的容器虚拟化技术。有许多Linux容器工具,OpenVZ,LXC,Docker,Rocket,Lmctfy等,大多基于Linux内核提供的两种机制:Cgroups(按需实现资源)和Namespace(实现任务隔离)。 

2.5两种虚拟化技术的区别

虚拟机技术已经开发多年,虚拟机与虚拟化层之间的接口,虚拟机映像格式等已经标准化。相应的管理工具和分布式集群管理工具具有相对完整的解决方案,容器近年来才出现,支持技术和标准仍在不断完善; 

由于GuestOS的存在,虚拟机可以存在主机运行不同的操作系统,容器只能支持与主机内核相同的操作系统; 

由于VMM的存在,虚拟机在虚拟机,虚拟机和主机之间具有良好的隔离。容器之间的公共主机的内核,共享系统调用和一些底层库,隔离相对较差; 

容器明显比虚拟机轻,对于主机操作系统,容器就像一个进程。因此,容器具有更快的启动速度(几秒甚至更快),更高密度的存储和使用(小镜像),以及更方便的集群管理。同时,由于没有GuestOS,因此在容器中直接在主机上运行应用程序几乎没有性能损失,这是虚拟机的优势。  

云计算和虚拟化差异

对于云计算和虚拟化差异的描述,有一句经典的说法:虚拟化是构建云计算资源池的主要方式。只要你理解这句话,你就会知道它们之间的关系。 

简而言之,云计算是一个概念,而不是一种特定的技术。虚拟化是一种特定的技术,它指的是硬件资源的虚拟化,以实现隔离,可扩展性,安全性和资源的充分利用。  

目前,云计算主要依赖于虚拟化。通过虚拟化多个服务器实体,它形成了一个资源池,以实现通用计算和共享资源。

它现在称为云计算。事实上,在提出这个词之前,过去的服务器集群已经实现了这些功能,但它们并不像现在这样先进。 

3.1各个领域代表的产品 

云计算该体系结构的开源产品是OpenStack。 OpenStack是由NASA和Rackspace授权的免费软件和开源软件。代码项目。 

虚拟机虚拟化:VM商业支付的vSphere或开源KVM。 

容器的虚拟化:Docker。 

3.2 OpenStack

Openstack 是众多技术的组合体,有涉及网络组件的 Neutron,有涉及 Dashboard 的 Horizon,也有涉及计算资源分配的 Nova。

虚拟化技术只是其中一个涉及到资源池构建的方式。当然你也可以用其它方式构建资源池,比如物理机还有容器。

Openstack 经过几年十几个版本的更迭,已经拥有了 Keystone、Nova、Neutron、Cinder、Glance、Swift、Heat、Ceilometer 等等组件,比较完整的提供了一个云平台应有的各个模块。

3.3 在云计算中,不同层的选型

选取基于虚拟机的虚拟化呢,还是基于容器的虚拟化。早期由于容器技术的不完善,云计算只有虚拟机这一种选择。

随着现在容器技术兴起,基于容器的虚拟化性能更高,交付速度快,方便管理,而且资源利用率高,看起来是比虚拟机更好的方案。但是它现有的两个比较大的缺点(隔离性不够强、操作系统依赖性)让他无法完全替代 VM,对于 SaaS 用户和部分 PaaS 用户而言这两个缺点可能不那么明显。现阶段 Container 和云计算主要结合的场景也是在 SaaS 和 PaaS 中,事实上大多数 SaaS 和 PaaS 服务提供商都使用了容器技术。

但是对于 IaaS 的用户来说,他们租用的是基础设施。上面承载着他们自己运行的系统和服务,隔离性不强意味着安全性和可信性不高。在这种情况下大客户们,肯定是不放心的。同时操作系统依赖性也是限制 Container 在 IaaS 层应用的一个主要问题,也是绝大多数解决方案都是将Container 运行在 VM 上的原因,这样 Container 性能好的优势实际上在云上根本发挥不出来,优点只有启动快了。

行业头条

Copyright © 巨盛网络科技有限公司 2010-2015 吉ICP备10003264号-4 ISO9001国际标准质量管理体系认证 增值电信业务经营许可证(IDC、ISP) 编号:B1-20150287号