Hi!请登陆

容器化一个替代虚拟化的选择

2020-10-23 43 10/23

云领域中出现越来越多的术语是“容器化”。如果你在关注云计算的趋势,你可能听说过它,或者至少听说过最流行的容器平台Docker。

容器服务

为了在一台机器或云实例上运行许多不同的应用程序,容器化正在成为虚拟化一个很流行的备选方案。

虚拟化的许多优点它都有,但缺点则很少,使得它在从固定地点演播室转换到虚拟运作时非常有用。

虚拟化涉及到仿真整个机器,包括硬件和操作系统,而容器化涉及到将一个或多个应用程序和支持文件(在Linux术语中称为“用户空间”)封装到容器中,然后可以运行在一个通用操作系统(通常是Linux)上。

例如,在一个虚拟化的场景中,您可能有一个运行VMWare ESXi超级管理者的服务器,在其上是用于服务X的4个Ubuntu Linux虚拟机,两个用于服务Y的Red Hat Linux虚拟机,以及几个处理您拥有的任何Windows应用程序的Windows 10服务器虚拟机。

以这种方式使用虚拟化仍然比维护多台实体机有更大的好处。管理更容易。启动新服务器或更改个别虚拟机配置比修改硬件要容易得多。虚拟机之间的通信非常快速和高效。

在容器内而不是在全部的虚拟机中

与容器化相比,它的缺点是与虚拟化有关的相对较大的开销。这是因为每个VM都运行一个完整的OS内核,各有自己的专用内存,并通常各占用一定比例的CPU做很多相同的工作。

相比之下,容器化还允许在一台机器上运行许多不同的孤立服务,但在容器内而不是在全部的虚拟机中。

每个容器都独立于其它容器运行

从概念上讲,容器可以被认为是一个非常轻量的、资源高效的VM。一个容器可以容纳WheatNet-IP音频驱动器和音频播放软件,而另一个容器可以容纳电台自动播出系统,每个容器完全隔离,但由相同的OS内核运行。

由于每个容器都独立于其它容器运行,因此可以避免软件组件之间的意外交互,并消除单点故障。每个应用程序或容器仅通过它们确定的API与其它应用程序或容器通信。

容器虚拟化层非常灵活

容器虚拟化层非常灵活,可以扩展以满足任何服务不断增长的需求。一旦确定在一个或多个容器中运行的服务,就可以在本地机器和公有云之间迁移这些容器化的服务。这使您可以更容易地在区域演播室本地或云提供商(如AWS或Azure等)中扩展服务。

而与虚拟化不同的是,没有争夺资源的额外管理开销,并且容器化平台甚至能够在虚拟化平台上运行。

轻松管理云中容器工具

最后一点对于长期规划至关重要,因为亚马逊、微软及其它公共云提供商已经在它们的云实例上运行了超级管理者软件。试图在云提供商的机器实例上添加您自己的VM超级管理者软件可能效果很差,或者根本不工作。相比之下,容器在几乎所有云提供商和实例类型上都可以很好地工作。大多数提供商甚至提供了使您可以轻松地管理和协调运行在他们的云中的容器的工具。


从根本上说,容器化和虚拟化两种异曲同工的方式。将几个运行独立服务的容器推送到云上并不能解决诸如互联网上的通信延迟等问题,尽管如此,它将提供一些额外的安全保护和灵活性,并让您更高效地分配资源,这正是云的优点所在。

作者:斯科特·杰伦瑟安迪·卡尔瓦内塞

相关推荐