We couldn't find a match for given <KEYWORD>, please try again.

为何要使用容器和虚拟机?| VMware

虚拟机 (VM) 和容器相辅相成并且非常类似,两者都可以提高 IT 效率和应用移动性并增强 DevOps。但是,了解它们之间的区别是制定敏捷的云原生应用驱动型战略的关键。

  • 虚拟机通过让企业更充分地利用服务器并促进实现有限的工作负载移动性来解决基础架构问题。
  • 容器通过改进 DevOps、启用微服务、提高移动性以及进一步提高资源利用率来解决应用问题。

VMware Cloud Foundation 集成了 vSphere With Kubernetes

Kubernetes 在 VMware vSphere 上运行效果更好的 5 个重要理由

容器和虚拟机之间的核心区别是什么?

虚拟机包括客户机操作系统 (OS) 及其应用的所有代码,以及以前在单个服务器或服务器池中运行的应用依赖关系。虚拟机映像的大小通常以 GB 来衡量。即使多个虚拟机运行的操作系统不同,它们也可以共存于一台物理服务器上。虚拟机可将服务器从底层硬件中抽象出来,并且通常会在其整个使用寿命期间保持不变。

容器共享主机操作系统,并且仅包含应用及其依赖关系。容器映像的大小通常以 MB 来衡量。在单台服务器上运行的每个容器都共享同一个底层操作系统。因此,容器可以在几毫秒内启动,并且在必须根据需求变化启动和关闭实例的临时应用场景中更加高效。

总而言之,虚拟机和容器有何不同呢?

尽管容器和虚拟机都有助于提高 IT 资源的利用率,但它们各有利弊。虚拟机已经存在了几十年,允许企业将运行不同应用的多台服务器整合到一台物理服务器上,即使这些服务器运行不同的操作系统也没关系。这大幅节省了服务器硬件和软件方面的成本,因为相比过去要在多台服务器上运行,现在只在一台服务器上运行即可。虚拟机也是大多数云服务的基础。AWS、Azure 和其他公有云均将虚拟机作为其中一种标准产品来使用。但是,由于它们将整台服务器封装在每个虚拟机中,因此虚拟机所需的 CPU 和 RAM 量可能会变得非常庞大,这会限制单台服务器上可以运行的虚拟机数量。

自 2013 年发布 Docker 以来,容器迅速普及,部分原因是为了应对虚拟机产生的开销。由于容器依靠服务器的操作系统,它们共享单个操作系统实例以及其他二进制文件和库,因此,容器只需包含应用代码(以单个单体式应用的形式,或捆绑在一个或多个容器中以涵盖某业务功能的微服务形式)。

因此,尽管虚拟机使企业可以在单个硬件上运行多个使用任何操作系统的虚拟服务器,但容器可以提供轻量级、高密度的应用虚拟化,能够在几秒钟内启动和关闭应用和实例,有些容器还可以提供一些固有的安全措施,将应用隔离在自己的容器中。

虚拟化有何优缺点?

虚拟机的优点:

  • 数十年的虚拟化专业技能使您能够访问一组强大的虚拟机管理和安全工具
  • 虚拟机能够在单个基础架构上运行多个需要不同操作系统的应用
  • 虚拟机可模拟整个计算环境,包括所有操作系统资源
  • 虚拟机可简化本地部署环境和云端平台之间的移动性和迁移
  • 拥有一个庞大的成熟虚拟机生态系统和市场,其中包括 VMware 等行业领导者

虚拟机的缺点:

  • 虚拟机映像的大小通常为数 GB,因此,在平台之间备份或迁移它们需要的时间较长
  • 因为虚拟机封装整台服务器(包括操作系统),所以,相比可以支持的容器数量,一台物理服务器可以支持的虚拟机数量较少
  • 启动虚拟机可能需要几分钟时间

容器有何优缺点?

容器专业人员:

  • 容器比虚拟机更轻量,因为它们的映像大小为数 MB,而不是数 GB
  • 部署、运行和管理容器所需要的 IT 资源较少
  • 容器在几毫秒内即可启动
  • 因为它们的规模数量级较小
  • 相比可以托管的虚拟机数量,单个系统可以托管的容器数量较多

容器的缺点:

  • 所有容器必须在同一操作系统上运行 - 不能混搭使用不同的操作系统或版本
  • 容器可能不如虚拟机安全,因为底层操作系统是共享的
  • 容器是一项较新的技术,并且其生态系统仍在不断发展

在传统和新兴 IT 实践中分别如何使用容器?

虚拟机已经并将继续在将传统应用迁移到云环境和混合环境方面发挥作用。由于虚拟机的成熟度较高,那些已适应以虚拟机为中心的 IT 体系架构的企业感觉使用虚拟机非常舒适,并且会有惰性,不愿意改变。因此,虚拟机仍将是许多持久性单体式企业级应用的首选抽象化解决方案,尤其是那些不经常更新的应用。

但是,容器适用于现代实践和应用场景,例如,敏捷的 DevOps 环境中的 CI/CD。容器提升了应用在截然不同的配置之间的移动性,因此,在笔记本电脑上开发并在沙箱中测试的应用可以在云中运行,无需进行任何更改即可支持全部三种环境。容器还提供近乎无限制的可扩展性。基于微服务的应用将用户交互与后端处理分开,让前端和后端单独进行扩展,而容器的轻量级则意味着,可以根据需要几乎瞬时地启动新实例。此外,采用微服务方法进行开发可以鼓励在多个应用和业务流程之间共享通用微服务例程,从而进一步提高开发人员的效率。

虚拟机在新兴 IT 实践中的作用有何改变?

随着机器学习和人工智能 (ML/AI) 应用更深入地渗透到企业中,这些占用大量资源的应用将更喜欢使用虚拟机进行部署。此外,像 5G 这样需要更多边缘计算能力的新网络体系架构,将更喜欢使用虚拟机来执行软件定义网络的繁重工作。

在需要可扩展性的面向客户的现代应用和 Web 服务所在的环境中,容器将蓬勃发展,这要归功于它们近乎瞬时的启动时间,并且容器已不仅仅是一种开发平台,有了它,编码人员将不必再担心开发基础架构与部署基础架构有何不同了。

最后,按照最初设计,容器是临时性的,因此它们非常适用于的应用场景为网络守护程序、缓存和 Web 服务功能。

容器是会取代虚拟机,还是与虚拟机相辅相成?

容器和虚拟机均将继续发挥重要作用。容器可以在虚拟机上运行,使企业能够利用现有工具来执行自动化、备份和监控。借助虚拟机上的容器,IT 部门也可以安排熟悉虚拟机的现有团队来管理容器化环境。由于企业希望以新的方式利用其基础架构(或云)的强大功能来支持重型应用和网络连接工作负载,因此,虚拟机将拥有一些新的应用场景。

相关解决方案和产品

vSphere with Tanzu

使用现有 IT 基础架构运行 Kubernetes 工作负载

发展现有应用

更新现有应用,而无需花费高昂的成本进行重构。