博客
码头工人 vs VMWare:它们如何堆叠?

码头工人 vs VMWare:它们如何堆叠?

抽象形状抽象形状
加入27,000多个网络安全通讯订阅者

这是虚拟化巨人的冲突:一个虚拟机,另一个虚拟机是容器化技术。实际上,这两种技术都是互补的,因为硬件虚拟化和容器化各有其独特的品质,可以串联使用以获得组合优势。让我们看一下两者,以了解它们如何相互叠放,以及如何将两者串联使用以实现最大的敏捷性。

容器与虚拟机

简而言之,容器可提供操作系统级别的进程隔离,而虚拟机可在硬件抽象层(即硬件虚拟化)提供隔离。因此,在IaaS用例中,机器虚拟化是理想的选择,而容器最适合用于打包/运输便携式和模块化软件。同样,这两种技术可以相互结合使用以带来更多好处,例如, 码头工人 可以在VM内部创建容器,以使解决方案具有超强的可移植性。

码头工人容器

 

的VMware

这家行业领先的虚拟化软件提供商几乎不需要介绍,因为其产品和解决方案为新一代虚拟化技术铺平了道路。 vSphere是VMware的旗舰级虚拟化套件,由众多工具和服务组成,例如ESXi,vCenter Server,vSphere Client,VMFS,SDK等。该套件可充当各种云计算虚拟化OS,为客户操作系统(例如Windows,* nix等)证明了一个虚拟操作平台。

vSphere套件的核心是ESXi:ESXi是使硬件虚拟化成为可能的主要虚拟机监控程序技术。虚拟机管理程序允许多个操作系统通过它们自己的专用资源驻留在单个主机上,因此每个来宾OS似乎具有专用于其自身使用的CPU,内存和其他系统资源。 ESXi直接在裸机服务器硬件上运行-不需要预先存在的基础操作系统。安装后,它将创建并运行自己的微内核,该内核包含3个接口:

  • 硬件
  • 访客系统
  • 控制台操作系统/服务控制台

尽管是早期的虚拟化先驱,但VMware不再是唯一的展示方式:Microsoft Hyper-V,Citrix XenServer和Oracle VirtualBox也是流行的虚拟机管理程序技术。越来越多的企业也开始将Docker视为潜在的VMware破坏者,但是正如我们不久将看到的那样,尽管它席卷了虚拟化领域,但它并没有与VMware直接竞争。 

码头工人

的  码头工人 该项目的主要目的是允许开发人员通过使用容器来更轻松地创建,部署和运行应用程序。显然,对于DevOps和CI / CD计划而言,应用程序的可移植性和一致性是Docker很好地满足的关键需求。通过容器映像构建的容器使将应用程序与所有必需的库,依赖项和资源捆绑在一起成为可能,从而易于部署。通过使用诸如命名空间和控制组之类的Linux内核功能在主机OS之上创建容器,可以自动进行应用部署,并简化从开发到生产的整个过程。 

码头工人架构
码头工人体系结构。资料来源:Docker。

在0.9版本中,Docker用自己的用Go编写的libcontainer库替换了LXC,从而为不同的供应商提供了更广泛的本机支持。从今起 版本19.x,Docker现在为Window提供了本机支持,从而简化了Windows开发机器上Docker主机和容器的管理。同时,Docker Enterprise业务 被Mirantis收购,Kubernetes即服务提供商。

对于开发人员和运营商而言,Docker都具有以下高级优势,其中包括:

  • 部署速度/敏捷性– 码头工人容器对运行应用程序具有最低要求,可实现轻便快速的部署。
  • 可移植性–因为容器本质上是独立的自给自足的应用程序包,所以它们可以在机器之间运行而不会出现兼容性问题。
  • 重用–可以对容器进行版本控制,归档,共享,并用于回滚应用程序的先前版本。平台配置本质上可以作为代码进行管理。

码头工人与VMware并排

尽管VMware和Docker都可以归类为虚拟化技术,但每种技术的最佳用例可能大不相同。例如,VMware模拟虚拟硬件,并且必须考虑所有底层系统需求-随后,虚拟机映像远大于容器。也就是说,也可以通过VMware在单个主机上并行运行许多谨慎的OS实例,从而使组织可以在内部构建真正的IaaS解决方案。 

由于Docker容器是由Docker引擎(而不是虚拟机管理程序)执行的,因此它们不是完全隔离的。但是,这种折衷方案占用的空间很小:与VMware不同,Docker不会创建整个虚拟操作系统-而是将所有尚未在主机上运行的必需组件与应用程序一起打包在容器内。由于主机内核是在Docker容器之间共享的,因此应用程序仅随其需要运行的内容一起提供-越来越多。与虚拟机相比,这使Docker应用程序更容易部署,更轻便,启动更快。

码头工人容器通常比虚拟机更快且资源占用更少,但是完整的VMware虚拟化仍具有其独特的核心优势-安全性和隔离性。由于虚拟机实现了真正的硬件级隔离,因此与Docker容器相比,进行干扰和/或利用的可能性较小。因此,对于应用程序/软件的可移植性,Docker是您最安全的选择。为了机器可移植性和更好的隔离性,请使用VMware。无论选择哪种虚拟化技术,UpGuard都能自动验证您的虚拟机,Docker容器,Web应用程序等的完整性和安全性。

码头工人与VMware常见问题 

主要区别是什么? 

的VMware模拟机器硬件,而Docker模拟应用程序运行所在的操作系统。 码头工人是一种更轻量级的虚拟化技术,因为它不必模拟服务器硬件资源。重点是抽象应用程序所需的环境,而不是物理服务器。与实际的计算机硬件一样,VMware使您可以安装操作系统和其他需要完整服务器的任务。

码头工人只是大肆宣传还是对VMware的改进? 

码头工人的用例由应用程序的架构和部署方式的进步所驱动。 Web规模企业不是依靠整体应用程序,而是发现了微服务架构的优势,其中包括可伸缩性和高可用性。 码头工人容器为微服务提供了敏捷性和可靠性。围绕容器构建的生态系统,包括Kubernetes和Apache Mesos之类的工具,为IT组织带来了切实的利益。 码头工人的工具(包括其CLI,Docker Compose和Docker Swarm)为云原生应用程序部署提供了出色的支持。 

码头工人比VMware快吗? 

部署和启动Docker容器比启动VMware容器更快。毕竟,Docker容器是轻量级的资源。与RAM和虚拟机的其他要求相比,该容器的开销很小。但是,这并不意味着在运行容器时,您的应用程序一定会比在VMware虚拟机上运行的应用程序更快。 的VMware ESXi,Xen和KVM等虚拟机平台的性能可与裸机媲美。应用程序的特定环境将决定速度,包括机器规格,RAM和其他因素。 

您可以在虚拟机中运行Docker吗? 

由于VMware和Docker在不同级别处理虚拟化,因此它们并不是严格的竞争技术,而是互补技术。可以串联使用它们,许多组织都这样做。因此,您可以在VMware ESXi虚拟机上运行的操作系统(如Ubuntu或VMware的Photon)中运行Docker。

将Docker和VMware结合在一起 

不仅可以在VMware虚拟机上运行Docker,而且许多IT团队都依赖此设置来部署其应用程序。开发人员可以在开发过程中使用台式机产品VMware Workstation,但该设置不适用于生产环境。相反,您将要使用VMware产品,例如VMware vSphere和ESXi,它们为您配备了高性能虚拟机来处理生产工作负载。 的VMware的ESXi是专门构建的裸机类型1管理程序,同时兼顾了安全性和效率。它可以直接安装到您的服务器上,并可以直接控制物理服务器的资源。 ESXi仅占150 MB的空间,支持配置高达6TB RAM,128个CPU和120个设备的虚拟机。    

在VMware虚拟机之上用于运行容器的实际操作系统,您有许多选择。一种强大的方法是使用VMware的Photon,这是一种以容器为中心,轻巧且针对此目的进行了性能优化的操作系统。另一个选择是运行您可能已经在使用的流行发行版,例如Ubuntu,CentOS或Debian,它们都可与VMware产品无缝集成。除了这些设置之外,容器化应用还可以直接与在VMware虚拟机或其他类型的虚拟机上运行的服务进行通信。这意味着您可以在数据中心中组合Docker主机和VMware虚拟服务器。您的Docker应用程序也可以部署在云中的虚拟机上,例如AWS,Azure或Google Cloud。 

在VMware虚拟机上运行Docker时遇到的一些常见问题包括:

  • VMotion虚拟主机迁移会中断对虚拟机的物理资源访问,从而导致在虚拟机中运行的Dockerized应用程序出现问题。
  • 较高的CPU就绪度(衡量虚拟机就绪但无法在物理CPU上运行的时间的指标)可能导致Docker容器中的应用程序出现性能问题。
  • 尽管VMware允许对虚拟机进行快照,但在快照期间,计算机上可用的I / O资源会减少,从而导致Docker容器出现问题或中断。 

在与Docker和VMware一起使用时,您应该意识到这些问题,并采取措施缓解它们。

虚拟化的未来:Docker是否会取代VMware? 

虚拟化的未来可能包括更多地使用容器,而Docker可能会从中受益。 码头工人的上升趋势以及相关技术的使用背后有强大的原因。一方面,容器使组织能够更快地部署,因此使其更加敏捷。旋转容器对于开发人员来说更容易,更快捷地测试他们的代码,同时部署也更快。  

借助Docker,您可以在裸机,虚拟机,AWS,Azure或其他生产环境上进行部署。容器不仅提高了编排效率,而且很大一部分容器技术也是开源的。这将促进整个社区范围内的创新,从而为所有人提供更好的解决方案,同时降低成本。无主机托管等其他趋势也促进了轻量级应用程序部署的总体论点,其中容器促进了这一点。将来,越来越多的组织可能会遵循“担心您的应用程序,而不是环境”的口号。

这些趋势都预示着Docker和Kubernetes等技术将发挥更大作用的未来。话虽如此,至少在某些用例中,虚拟机可能仍然很流行。容器实现的隔离度低于虚拟机,因此倾向于被视为安全性较低。对于需要更高安全性的用例,虚拟机可能仍然是一项高级技术。此外,使用容器很难持久存储。这些是容器难以解决的问题,但将来可能会大大改善。如果是这样,对虚拟机的需求可能会减少更多,但这仍有待观察。

就其本身而言,将现有的应用程序迁移到云中的企业可以将VMware迁移到云中,从而使VMware受益。在这种情况下,许多组织还没有准备好全面采用容器,但可以从VMware的云产品(例如VMware Cloud或VMware Hybrid Cloud Platform)中受益。   

如何在Docker和VMware之间进行选择 

如我们所见,Docker和VMware的互补性意味着,许多这样的组织应该问“我们如何一起使用两者”,而不是问“我们应该使用Docker vs 的VMware”。但是,如果您的情况需要其中之一而不是全部,则这些准则可以帮助您进行选择。首先,如果要从本地托管迁移整体应用程序并将其移植到容器上,将需要不可接受的开发投资,那么VMware虚拟机显然是合适的选择。此外,如果您希望应用程序具有自己的用户空间和持久性存储,并且在操作系统级别具有隔离性,那么VMware与Intel VT或AMD-V等技术配合使用也将更适合您的需求。如果您的IT需求需要运行和管理多个操作系统并需要访问操作系统的全部功能和资源,那么虚拟机将再次成为理想的解决方案。

另一方面,对于特定于应用程序,特定操作系统及其功能与您的应用程序无关的情况,那么Doc​​ker容器是理想的选择。如果您要实现一个分布式架构,并且每个应用程序都作为微服务运行,那么Doc​​ker是部署此类应用程序的理想选择。每个应用程序都在自己的容器中运行,而Kubernetes等平台可帮助您管理容器集群,这些集群可以托管在云中的众多服务器上。

无论最终使用哪种工具,Docker和VMware都可以提高服务器利用率和效率,并降低总体部署成本。  

免费电子书

的 Guide to Managing 组态Drift

通过此深入的电子书,了解如何管理配置漂移。
白色UpGuard徽标
的 Guide to Managing 组态Drift
可供下载的UpGuard免费资源
学到更多

下载我们的免费电子书和白皮书

关于网络安全和供应商风险管理的见解。
白色UpGuard徽标
电子书,报告& Whitepapers
可供下载的UpGuard免费资源
UpGuard客户支持团队UpGuard客户支持团队UpGuard客户支持团队

观看UpGuard的实际应用

与我们的一位网络安全专家预订免费的个性化入职电话。
抽象形状抽象形状

相关文章

了解有关网络安全的最新问题的更多信息。
传送图标

注册我们的时事通讯

每周在收件箱中获取最新精选的网络安全新闻,漏洞,事件和更新。
抽象形状抽象形状
免费即时安全评分

您的组织有多安全?

索取免费的网络安全报告,以发现您的网站,电子邮件,网络和品牌上的主要风险。
  • 检查图标
    您可以立即采取行动的即时见解
  • 检查图标
    13个风险因素,包括电子邮件安全,SSL,DNS运行状况,开放端口和常见漏洞
网站安全扫描结果网站安全扫描等级抽象形状