当亚马逊公司宣布将裸机实例添加到AWS云平台的服务器选项组合时,此举引发了许多猜测。例如,它是否会对主机和托管提供商产生影响?因为有传统上物理服务器一直是这些公司的主要业务。
亚马逊公司在去年11月举行的re:Invent会议上推出了其新的裸机(Bare Metal)服务,使用户能够访问物理服务器,而不是以往提供的虚拟机实例。虚拟机实例通常只提供运行它们的物理机器的一部分功能。
(虚拟化)
裸机服务
那为什么用户愿意使用虚拟机呢?因为他们更灵活。许多云计算服务提供商采用“即用即付”模式,用户可以根据需要配置虚拟机,然后在不再需要时暂停或退出虚拟机,并仅支付机器运行时使用的资源。
为什么亚马逊公司的裸机服务与用户可以在托管服务提供商的数据中心设施中拥有和运营的物理服务器不同?因为云计算服务提供商负责操作和管理物理服务器以及所有支持基础设施。在托管模式下,用户组织通常必须购买和管理自己的设备,并在提供商的数据中心租用空间来托管它。
亚马逊公司还声称,其Bare Metal实例与其他云计算实例具有相同的弹性和可扩展性,这意味着客户可以在几分钟内配置它们,并尽可能扩大或缩小它们,尽可能使用现有类型的实例。客户可以在物理服务器、裸机服务器和虚拟机之间做出选择,而目前流行另一种选择,采用容器允许使用物理服务器的一小部分功能来部署工作负载。
虚拟机
服务器上的虚拟化是划分系统资源的一种方式,以便多个用户或工作负载可以在同一个系统上独立运行而不会相互干扰,其根源可以回溯到大型机时代的第一个多用户系统。例如,IBM的VM(虚拟机)大型机操作系统于1972年推出。
在2001年推出ESX Server和GSX Server产品时,x86服务器就有了虚拟机。在x86服务器使用虚拟机的主要驱动因素是工作负载整合。在虚拟化之前,企业服务器通常会运行单个工作负载,并且使用率低至10%,这意味着它们大部分时间处于闲置状态。将它们转换为虚拟机,意味着可以在单个物理服务器上独立运行多个负载,从而减少组织所需的服务器总数。
GSX Server允许用户在现有操作系统(如Windows)的基础上运行虚拟机,因此是Type-2管理程序的一个示例,而ESX Server则运行在裸机上,因此是Type-1管理程序的一个示例。ESX Server让位于当今支撑VMware vSphere平台的紧凑型专用虚拟机管理程序ESXi。
Type-2虚拟机管理程序效率较低,因为它们在现有操作系统上运行。出于这个原因,它们现在基本上局限于客户端虚拟化,例如VMware Workstation,它允许开发人员在Windows或Linux台式机和笔记本电脑上运行一个或多个虚拟机。
通常用于服务器虚拟化的其他虚拟机管理程序包括Xen,并作为2003年的开源项目开发。这已被AWS公司所采用,以在其EC2云服务上驱动虚拟机实例,同时也是Citrix XenServer和XenDesktop的基础。
在2007年,Linux公司以基于内核的虚拟机(KVM)项目的形式获得了自己的管理程序。而KVM被实现为内核模块,在加载时将Linux内核转换为裸机管理程序。因为KVM已经成为内核的一部分,所以KVM已经成为许多使用虚拟化平台的默认选项,例如OpenStack云框架,Apache CloudStack和大部分主要的Linux发行版。
如今使用的另一个主要hypervisor是微软的Hyper-V。自2008年以来,这已经内置于Windows Server的每个版本中,因此绝大多数组织都使用Windows服务器,因此广泛采用此方法。很多迟迟不愿意进行虚拟化的组织会试图简单地建立在Windows中已经实现的基础上。
所有这些虚拟机管理程序在运行方式上都有所不同,但最终结果大致相同。他们分配主机服务器的资源以创建多个虚拟机,每个虚拟机的行为就像它本身就是裸机服务器一样。用户甚至可以通过使用正确的工具将虚拟机映像从一个虚拟机管理程序迁移到另一个虚拟机。
每个虚拟机在进行任何有用的工作之前都必须先配置自己的操作系统和虚拟磁盘,并且还可能需要单独配置要运行的应用程序。在企业环境中,这通常由诸如Microsoft的System Center虚拟机管理器(SCVMM)之类的管理工具来处理,而在云计算平台中,该过程是高度自动化的,并且由最终用户使用自助服务供应工具来驱动或者以回应某些事件。
容器
容器是分配系统资源的另一种方式,但这些方式在操作系统级别运行。容器实际上只是一个服务器中的独立环境,而不是一个完整的虚拟机,它包含应用程序代码和应用程序依赖的任何支持代码库。因为容器不需要包含整个操作系统,所以它们可以在服务器之间快速创建和移动,并且可以在任何给定的服务器上运行比虚拟机多得多的容器。
容器已经存在很多年了,但目前容器吸收量的增长是由于Docker在2013年推出了它的平台,使开发人员能够在容器中快速部署代码。Docker的理念是将应用程序分解成更小的模块,这些模块可以单独部署和更新,并与当前的敏捷开发和微服务体系结构融合在一起。
在云平台中,容器、虚拟机和裸机服务器都是服务提供商向客户出售计算能力单元的唯一途径。每个服务都有自己的优点和用例,这些并不是相互排斥的。例如,虚拟机可用于托管组成应用程序的容器数组。
裸机服务器为要求苛刻的或专业的工作负载提供额外的性能,并允许用户部署仅可用于非虚拟化环境的软件,或者使用云计算提供商的虚拟机目录中不支持的操作系统。
但是,他们通常需要更多工作,因为用户必须承担许多任务,例如部署软件和保持软件更新,如果用户使用虚拟机,则由云计算提供商管理这些任务。
AWS公司添加裸机实例的意义在于,客户可以在一个控制台上将这些实例与公司的虚拟机和容器服务一起使用。它为客户提供了一种新的选择,这就是组织采用云计算的真正目的。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。https://blog.kokojia.com/joleen1006/b-1568.html