谈论云计算,虚拟化,容器化

发布者:上海IT外包来源:http://www.lanmon.net点击数:1613

什么是云计算?
1.1云计算概念
云计算是近年来才出现的概念,但这种需求早已存在。在此阶段,国家标准与技术研究院(NIST)定义云计算是基于使用的支付被广泛接受。模式,提供可用,方便,按需网络访问,可以快速配置的可配置计算资源池(包括网络,服务器,存储,应用程序,服务等资源)投入少量管理工作或几乎没有与服务提供商的互动。
云计算的最基本功能是:“按使用付费”,“资源共享池”和多租户隔离。
1.2云计算功能
超大规模
云计算非常庞大,谷歌云计算已经拥有超过100万台服务器,亚马逊,IBM,微软,雅虎等拥有数十万台服务器。企业私有云通常具有数十万台服务器。云为用户提供前所未有的计算能
虚拟化
云计算允许用户使用各种终端从任何位置访问应用程序服务。请求的资源来自云,而不是固定的有形实体。该应用程序在云中的某个位置运行,但实际上用户无需知道或担心应用程序的运行位置。只需一台笔记本电脑或一部手机,您就可以通过Web服务完成所需的一切,甚至可以执行超级计算等任务。
高可靠性
云使用数据多拷贝容错和计算节点同构等措施来确保服务的高可靠性。云计算比使用本地计算机更可靠。
多功能性
云计算不针对特定应用程序。在云的支持下,它可以构建不断变化的应用程序。同一个云可以同时支持不同的应用程序操作。
高扩展性
可以动态扩展云的规模,以满足应用程序和用户规模增长的需求。
按需服务
云是一个巨大的资源池,您可以按需购买;云可以像自来水,电力和天然气一样收费。
非常便宜
由于云的特殊容错措施可以使用极其廉价的节点来形成云,因此云的集中和集中管理消除了大型企业承担越来越高的数据中心管理成本的需要。云的多功能性使资源利用率显着高于传统系统。因此,用户可以充分享受云的低成本优势,经常花费数百美元,几天就完成以前需要数万美元和几个月完成的任务。潜在的危险
除了提供计算服务外,云计算服务还必须提供存储服务。但是,云计算服务目前被私人机构(企业)垄断,他们只能提供商业信贷。对于政府机构,商业组织(尤其是那些拥有银行等敏感数据的组织)应该保持警惕,选择云计算服务。一旦商业用户大规模使用私人组织提供的云计算服务,无论他们的技术优势多么强大,这些私人组织都不可避免地要利用数据(信息)的重要性来遏制整个社会。
对于信息社会而言,信息至关重要。另一方面,云计算中的数据对除数据所有者之外的云计算用户的其他用户是保密的,但是提供云计算的业务并不是秘密。所有这些潜在的危险都是商业组织和政府机构在选择云计算服务时必须考虑的重要前提,特别是那些由外国机构提供的服务。
1.3云计算分类
公共云:只有使用权,使用时付费。但是数据被放在别人家里。数据安全性无法保证。银行不使用公共云,金融业不使用公共云。公共云的核心属性是共享资源服务。
私有云:由您自己的计算机房构建的云,私有云有限制,资源是固定的,数据相对安全。私有云的核心属性是专有资源。
混合云:主要任务是放入私有云,临时需要时使用混合云。它混合了公共云和私有云,以获得最佳效果。这种个性化的解决方案是两个,省钱又安全。目的。
1.4云计算分层
云计算也是分层的,可能有以下几点:
传统的IT
基本上所有都需要自己管理,例如:网络,存储,服务器,虚拟化,操作系统,中间件,操作环境,数据,应用程序等。
IaaS的
IaaS,基础设施即服务中文名称是基础设施即服务。主要作用是将虚拟机或其他资源作为服务提供给用户。
PaaS的
PaaS,平台即服务中文名称是平台即服务。如果从“硬件+操作系统/开发工具+应用软件”的传统计算机体系结构中看,那么云计算的平台层应该提供类似的操作系统和开发工具。
事实上,PaaS确实可以为用户提供一整套支持平台,用于通过Internet开发,运行和运行应用程序。与PC软件开发模型一样,程序员可能会使用开发工具在具有Windows或Linux操作系统的计算机上开发和部署应用程序。 PaaS有时被称为中间件,其主要作用是为用户提供开发和运行时平台。SaaS的
SaaS,软件即服务中文名称是软件即服务。简而言之,它是一种通过Internet提供软件服务的软件应用程序模型。在这种模式下,用户无需在硬件,软件和开发团队的建设上投入大量资金。他们只需支付一定的租金,他们就可以通过互联网享受相应的服务,整个系统的维护也由制造商提供。对.负责任。
如果您想用一句话概括IaaS,PaaS和SaaS,那就是:如果您将云计算与手机进行比较,那么IaaS就是硬件,您必须编写自己的代码开发系统才能使用它; PaaS是一个手机系统,你想实现什么?该功能仍然是安装各种软件; SaaS是硬件+系统+软件,你可以用一个词来解决。
什么是虚拟化?
2.1虚拟化概念
虚拟化是一种通过软件集成管理和重新分配计算机硬件资源的技术。常用的方法是基于虚拟机的虚拟化和基于容器的虚拟化。
2.2虚拟化技术分类
2.2.1按应用场景分类
操作系统虚拟化
应用虚拟化
桌面应用虚拟化
存储虚拟化
网络虚拟化
2.2.2按应用模式分类
一对多:其中一台物理服务器分为多个虚拟服务器,这是典型的服务器整合模式。
多对一:它集成了多个虚拟服务器,并将它们用作资源池,这是一种典型的网格计算模型。
多对多:结合前两种模式。
2.2.3按硬件资源调用方式分类
完全虚拟化
虚拟化操作系统完全虚拟化,与底层硬件完全隔离。中间管理程序层从虚拟客户机操作系统转换底层硬件的调用代码。完全虚拟化不需要更改客户端操作系统和兼容性。典型的代表是:VMware Workstation,KVM。
半虚拟化
半虚拟化,向虚拟客户机操作系统添加特定的虚拟化指令。这些指令可以通过Hypervisor层直接调用硬件资源,从而消除了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基于容器的虚拟化
容器是没有GuestOS的轻量级虚拟机。多个容器共享OS内核。容器包含需要部署的应用程序及其依赖的系统环境。容器大小通常只有几十到几百MB。由于共享操作系统内核,容器依赖于底层操作系统,每个操作系统都有自己的容器技术和容器工具。
Docker是一个Linux容器管理工具。随着Docker的兴起,Linux容器技术也是最时尚的容器虚拟化技术。有许多Linux容器工具,OpenVZ,LXC,Docker,Rocket,Lmctfy等,大多基于Linux内核提供的两种机制:Cgroups(按需实现资源)和Namespace(实现任务隔离)。
2.5两种虚拟化技术的区别
虚拟机技术已经开发多年,虚拟机和虚拟化层之间的接口以及虚拟机映像格式已经标准化。相应的管理工具和分布式集群管理工具具有相对完整的解决方案,近年来只出现了容器,支持技术和标准仍在不断完善;
由于GuestOS的存在,虚拟机可以运行与主机不同的操作系统,并且容器只能支持与主机内核相同的操作系统。
由于VMM的存在,虚拟机在虚拟机之间以及虚拟机和主机之间具有良好的隔离。容器之间的公共主机的内核,共享系统调用和一些底层库,隔离相对较差;
容器明显比虚拟机轻,容器类似于主机操作系统的进程。因此,容器具有更快的启动速度(几秒甚至更快),更高密度的存储和使用(小镜像),以及更方便的集群管理。同时,由于没有GuestOS,因此在容器中直接在主机上运行应用程序几乎没有性能损失,这是虚拟机的优势。云计算和虚拟化的差异
对云计算和虚拟化之间差异的描述有一个经典的说法:虚拟化是云计算构建资源池的主要方式之一。只要你理解这句话,你就会知道它们之间的关系。
简而言之,云计算是一个概念,而不是一种特定的技术。虚拟化是一种特定的技术,它指的是硬件资源的虚拟化,以实现隔离,可扩展性,安全性和资源的充分利用。
目前,云计算主要依赖于虚拟化。通过虚拟化多个服务器实体,它形成了一个资源池,以实现通用计算和共享资源。它现在被称为云计算。实际上,在提出这个词之前,过去的服务器集群已经实现了这些功能,但它们并不像现在这样先进。
3.1各领域代表的产品
云计算架构的开源产品是OpenStack,这是一个免费软件和开源项目,由NASA和Rackspace根据Apache许可证授权和开发。
虚拟机虚拟化:VM的商业付费vSphere或开源KVM。
容器的虚拟化:Docker。
3.2 OpenStack
Openstack是一种技术组合,包括用于网络组件的Neutron,用于仪表板的Horizon和用于计算资源分配的Nova。
虚拟化技术只是涉及资源池构建的一种方式。当然,您也可以通过其他方式构建资源池,例如物理机和容器。
在Openstack的十几个版本之后,Openstack已经拥有了Keystone,Nova,Neutron,Cinder,Glance,Swift,Heat,Ceilometer等组件,为云平台提供了一整套模块。
3.3云计算中不同层的选择
选择基于虚拟机的虚拟化或基于容器的虚拟化。在早期,由于容器技术的不完善,云计算只能选择虚拟机。
随着容器技术的兴起,基于容器的虚拟化具有更高的性能,更快的交付,更轻松的管理和更高的资源利用率,这似乎是比虚拟机更好的解决方案。但是,它的两个主要缺点(隔离和操作系统依赖性不足)使他无法完全替换VM。对于SaaS用户和一些PaaS用户来说,这两个缺点可能不太明显。在此阶段,Container和云计算的主要组合也在SaaS和PaaS中。事实上,大多数SaaS和PaaS服务提供商都使用容器技术。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部