[机房]虚拟机的优势:保留虚拟机的4个理由

来源: 作者: 发布时间:2022-05-29 10:18:32

在评估无服务器、容器等选项时,需要继续考虑虚拟机的优点。

人们如今生活在一切都是云原生的时代,任何虚拟机的优势都容易被忽略。虚拟机越来越被视为一种遗留技术,缺乏诸如容器和无服务器功能等新型解决方案的多功能性和性能优势。如果企业如今要部署应用程序,则可能更倾向于在后一种类型的下一代平台上进行部署,而不是使用无聊的原有虚拟机。

大数据

在某种程度上,这种趋势是公平的。虚拟机在许多情况下是低效的解决方案,而不是替代技术。

然而,这并不意味着虚拟机已经完全失效。就像今天的裸机环境(虚拟机帮助虚拟机在20年前成为传统技术)一样,仍然有其用例,考虑使用虚拟机代替容器、无服务器功能或虚拟机的充分理由还有很多。其他新的托管解决方案。

反对使用虚拟机

为了解释原因,虚拟机可能不是与替代托管技术相比的理想选择。

选择容器等东西托管你的应用最常见的原因是避免虚拟机:

费用:虚拟机比容器消耗更多的资源。速度:在某些方面,虚拟机速度较慢。它们需要更长的时间才能启动(可能是一分钟或两分钟,而不是一个容器的几秒钟)。由于某些主机系统的资源被虚拟化虚拟机管理程序占用,其托管的应用程序可能运行不太快,因此可用资源较少。

冗余:虚拟机是在假设每台计算机都停留在单个服务器上的前提下设计的。虽然虚拟机可以通过将虚拟机分布在服务器组中来创建冗余,但它需要更多的工作,这是一个比使用容器集中分布应用程序更笨拙的过程。

巨大的图像:包括主机操作系统的虚拟机图像(在大多数情况下)通常占用至少几GB的空间,甚至更多。相比之下,容器镜像可能只有几兆字节,因为容器镜像不需要包装完整的操作系统。本地云:虚拟机是几十年前(即云时代之前)广泛使用的一种技术。因此,与它们不同的是,虚拟机不是云本地技术,因为它们不同于容器和无服务器的虚拟机。

所有这些观点都是真实有效的。虚拟机不是许多现代应用程序部署的优秀选择。

虚拟机仍然非常重要的原因

然而,在许多用例中,虚拟机以积极的方式在竞争中脱颖而出。考虑到以下原因,您可能希望保留您的虚拟机,并避免诱惑跳上容器化的云原始趋势。

灵活性

灵活性可能是虚拟机的最大卖点,最终仍将提供最大的部署灵活性。无论操作系统或主机的配置如何,虚拟机几乎可以部署在任何地方。Windows系统可以托管基于Linux的虚拟机,反之亦然。

容器提供一定程度的灵活性。容器Linux应用程序不在乎哪个Linux发行版本托管它。但是,除非您使用虚拟机创建所需的其他抽象,否则您仍然无法在Linux容器或Windows或Linux上操作Windows容器。

安全与隔离

自2013年Docker问世以来,容器的安全性有了很大的提高。然而,它仍然值得注意。事实上,对安全的担忧是一些团队选择不使用容器的主要原因。

随着容器平台的不断成熟和更多安全工具的全面支持,这些担忧可能会得到缓解。然而,从一个简单的事实来看,容器应用程序永远无法与虚拟机相同程度的隔离,因此从安全的角度来看,容器不能完全匹配虚拟机。虚拟机不会像容器那样共享彼此的核心或其他基本系统资源。

容器管理

事实上,容器在许多方面更自然地适用于分布式主机环境,但这一功能也使其更难管理。当数百个容器分布在数十个服务器上时,事情很快就变得难以控制。这就是为什么您使用Kubernetes等业务流程协调器自动执行大部分管理工作。然而,协调器本身增加了您必须设置、管理和保护的另一层复杂性。

大规模虚拟机部署也需要编排解决方案。但是,它们很少像容器部署那样复杂。使用虚拟机时,移动部件很少,基础架构的重叠层也更少。

虚拟机是原始云

最后,让我们解决对虚拟机的文化偏见。虚拟机可能比云早,但这并不意味着它们不熟悉云。基于虚拟机的IaaS服务是AWS等公共云提供商在20世纪200年代中期推出的第一项主要云计算服务。它们仍然是这些提供商提供的产品的关键部分。

如今,容器和其他所谓的云原生解决方案可能会越来越热。但是不要误以为虚拟机也不是云原生技术。没有虚拟机,云首先就不可能成为现实。

结论

对于很多IT团队来说,是时候学会学习Docker(以及企业喜欢的任何其他现代云本地应用托管技术)了。但这并不意味着完全放弃虚拟机。虚拟机在很多云中仍然起着重要的作用,因为它们是旧技术。