虽然这篇文章是由供应商撰写的,但它并不主张作者的雇主所特有的立场,也没有经过Network World编辑人员的编辑和批准。足球竞猜app软件
从某些角度来看,容器和虚拟机希望解决类似的问题,它们确实有许多相似之处。但你会因为螺丝刀不是更好的锤子而责怪它吗?可能不会,它们是不同的工具,有各自特定的用途。作为技术专业人员,我们需要了解每种工具的优缺点,并为工作选择合适的工具。
讨论中还必须考虑另一个维度:技术成熟度。大约从2001年VMware推出其第一个服务器软件——GSX和ESX开始,x86架构上的服务器虚拟化就已经成为主流。然而,这一概念自20世纪60年代末就出现了,自70年代初开始投入生产。对于技术成熟和健全的生态系统的发展来说,这是一段很长的时间。自2005年以来,VMware进行了至少20次收购,填补了技术空白。
容器技术在VMware出现之前就已经存在了,但直到现在才真正成为主流,这取决于你如何记分。容器生态系统正在开始成形,第一代工具现在正变得普遍可用。随着供应商争夺地位,收购也开始变得更加频繁。
在深入探讨我对vm和容器比较的想法之前,我想说,健康的辩论总是一件好事。作为技术专家,我们的目标应该是做出明智的决定,避免旅鼠效应。
我想指出三个领域:状态管理、网络和扩展。我将倒序处理它们。
*容器蔓延比虚拟机蔓延更有可能。蔓延听起来像是一件坏事。谁想要扩张?蔓延导致了复杂性。但只有在没有计划或无人看管的情况下,扩张才会是一件坏事。解耦系统和拆分单个应用程序和服务有很多好处,包括可伸缩性和更高的部署速度。记住,每个变化都会带来风险。变化越孤立,就越容易回滚,等于风险越低。如果部署风险更低,就可以更频繁地进行。这提高了传输速度——这是一件好事;它将功能和bug修复更快地交付给用户和客户!
VMs的可管理性工具花了一段时间才达到企业级的成熟度。对于容器也是如此,尽管我打赌它将比VMs发生得更快,因为许多VM管理模式适用于容器。我们已经看到了一些可行的解决方案。来自Docker的是通用控制飞机和最近收购的Tutum。在编制方面,我们有Kubernetes和Rancher等工具。我怀疑,在更广泛的整合发生之前,我们将看到其他工具的出现。
*虚拟机具有更广泛的网络功能集。真实的。对于集装箱来说,这是一个需要大量开发的领域。去年3月,Docker收购了SocketPlane,以帮助填补这一空白。远景是提供一种开箱即用的解决方案,它也支持扩展。我看过几个SocketPlane的人的演讲,他们现在在Docker——这是一个聪明的团队,他们正在快速创新。Docker 1.9引入了原生覆盖网络。它是完美的吗?不。我说过他们进展很快吗?在合作伙伴的帮助下,网络差距将迅速缩小。
*暂停和维护内存状态是不可能的容器。真实的。虚拟机非常擅长挂起和取消挂起,而容器则不然。容器,特别是Docker容器,是为无状态应用程序设计的,因此没有必要实现这个功能。有趣的是,在罗宾系统公司最近的调查在美国,四分之三的信息技术专业人员对在Docker容器中运行有状态应用程序感兴趣。在Docker v1.9中引入了可插拔存储卷功能。Flocker是一个开源项目,为Docker提供了一个数据卷管理器。这里的重点是,随着人们对有状态容器的浓厚兴趣,企业级解决方案也不远了。
正如vm没有完全消除裸机部署一样,我也不认为容器会完全取代vm。毕竟,容器通常部署到vm上。这不是一种非此即彼的情况,这是关于在你的工具箱中有正确的工具,并为手头的工作选择正确的工具。
丹琼斯(@kwikstx)是产品管理总监在Skytap这家公共云服务提供商将企业云和DevOps策略扩展到传统的本地应用程序。在20多年的职业生涯中,他曾在Nordstrom、Microsoft、IBM Rational和其他公司担任关键的产品和项目管理职务,专注于更好地集成开发和IT运营,以更快的速度、高性能和可靠性交付软件。