「容器化」「虚拟化」两者有什么区别?

2020-05-08 09:11:55 云杰 123

「容器化」「虚拟化」两者有什么区别?


企业需要提高可伸缩性,降低管理费用并实现跨多台机器和平台的软件部署的标准化,则容器和虚拟机(VM)是当今使用的两种主要方法。两者可以同时帮助到企业使IT团队变得更加敏捷,并能够响应业务需求。但是,很多人会将两者的概念混淆。

容器和虚拟机(VM)都是创建自包含虚拟包的软件技术。除了通用性之外,它们在操作,特征和用例方面也有所不同。


什么是虚拟机/虚拟化?

虚拟机是优化服务器容量的首选技术。通过编程以模拟具有完整操作系统的物理计算机的硬件,VM和虚拟机管理程序可以在单个物理服务器的硬件上运行看似具有多个不同操作系统的多台计算机。


什么是管理程序?

虚拟化必须依托管理程序的存在。系统管理程序或虚拟机监视器是使多个操作系统能够并行运行的软件或固件层,所有这些操作系统都可以访问相同的物理服务器资源。系统管理程序协调并分离可用资源,并根据需要将一部分与每个虚拟机对齐。


虚拟机的优缺点是什么?

从视觉上看,每个虚拟机映像看起来都像一个数据文件夹。每个文件都可以像移动和复制其他类型的文件,您的团队可以集中工作负载并运行多个不同的操作系统,而不会增加开销,这是相对于本一样容易地移动和复制。这样地硬件的巨大优势。您还可以在不影响最终用户体验的情况下更新应用程序和操作系统。

虚拟化的缺点:

  • 由于每个VM都包含一个OS和该OS所需的所有硬件的虚拟副本,因此VM需要大量的RAM和CPU资源

  • 虚拟副本和所需资源的增加,VM的软件开发生命周期更加复杂

  • 在公共云,私有云和传统数据中心之间移动虚拟机可能是一个挑战


什么是容器和集装箱化?

就像使用运输集装箱改变了全球物流一样,软件集装箱的兴起也正在改变软件的开发和部署。

容器与其他容器共享主机OS的内核,并且OS的共享部分是只读的。因此,容器是轻量级的,因此您可以在单个服务器上部署多个容器,不再需要将整个服务器专用于单个应用程序。而且,您只需要维护一个操作系统。扩展变得又快又容易,不需要更多的服务器空间。

容器化解决了软件开发和部署中的许多问题。

容器化的缺点:

  • 将特定主机上的所有容器设计为在相同类型的OS上运行。基于不同操作系统的容器将需要不同的主机。

  • OS是共享的,所以OS内核中的安全漏洞威胁到主机上的所有容器。

  • 容器化仍然是一个新的解决方案,在实施计划和熟练资源方面存在很大差异,因此对于某些人来说,采用它是一个挑战性的过程


企业如何选择合适的方法?

虚拟化使您可以在单个物理服务器的硬件上运行多个操作系统

容器化使您可以在单个虚拟机或服务器上使用相同的操作系统部署多个应用程序。


企业想在服务器上部署多个应用程序或要管理多种操作系统时,虚拟机非常适合支持需要操作系统完整功能的应用程序。

企业需要最大程度地减少用于多个应用程序的服务器数量时,容器是一个更好的选择。


容器是生命周期短得多的任务的绝佳选择。凭借快速的设置时间,它们适用于可能只需要几个小时的任务。

虚拟机的生命周期比容器长,并且最好在更长的时间内使用。


您组织的前进方向将取决于一切,从您的运营和工作流程的规模到您的IT文化和技能集。而且,容器化和虚拟化技术以一些有趣的新方式融合在一起,可能会影响您的决策。