作为一种确保多个工作负载在物理服务器上隔离性的轻量级方式,容器已经存在了很多年。使用基于hypervisor的虚拟化,软件层(hypervisor)对服务器底层的物理硬件进行了抽象,允许在hypervisor之上创建虚拟机并安装应用。与基于hypervisor的虚拟机不同,容器并不打算效仿物理服务器。相反,主机上的所有集装箱化应用共享通用的操作系统内核,避免了针对每个应用运行一个单独的操作系统,极大地减少了开销。
支出减少尤其受云服务供应商的欢迎,只需要很低的成本就能够提供有竞争力的价格,同时还能够获得利润。在大多数情况下,这些公司基础设施的内部运行机制被严密保护,但偶尔也会公开某些方面。例如谷歌说它几乎所有的应用都是在其自产的容器软件Omega内运行。
在云供应商之中出现的容器将替代虚拟机的趋势可能会给提供虚拟机管理软件及服务的公司带来重大影响。VMware在2001年将其GSX服务器虚拟化平台引入到企业IT中,在接下来的十年中,该公司攫取了大量利润并成为虚拟化的代名词。目前, VMware在hypervisor业务中遥遥领先于与其最接近的竞争对手(微软)。容器引起高度关注,使某些人怀疑hypervisor是否正在接近终结。
总部位于俄勒冈州的咨询公司Dragon Slayer的高级分析师Marc Staimer说:“容器可以以更高的效率、更低的成本,几乎能够做到hypervisor所能做的一切。容器是下一代虚拟化,已经对VMware构成直接威胁。”
VMware 肯定不会忽略有关新容器的大肆宣传,它发布了更新程序,能够将Docker容器从开发平台无缝迁移至vSphere或vCloud Air环境中的测试或开发环境。公司主管说他们将Docker视作为开发人员提供工具的合作伙伴而非服务器虚拟化业务的威胁。当然VMware支持容器在虚拟机之上运行,解决了应用可移植性问题,但并没有进行进一步的整合。
实际上,Docker并没有任何公开计划要替代已有的虚拟化厂商。
Docker的市场销售副总裁David Messina 说:“实际上,在大多数情况下Docker被部署在虚拟机上运行。容器取代虚拟机的言论肯定不是我们所倡导的。Docker容器的核心价值是应用百分之百的可移植性…而不是更高的硬件密度。”
容器如何安身立命
将容器用作整合工具的障碍仍旧存在。例如,几年前很多对基于hypervisor虚拟化的批评言论再次被引用。举例来讲,如果硬件出现故障,更高的整合级别增加了工作负载运行中断的风险。关注安全性的人指出单个内核可能会影响主机上的所有容器。目前容器基本没有可以用于虚拟机的编排工具以及高级管理功能。
然而,使用容器的并非只有Google和大型云供应商。比如总部位于科罗拉多州的新兴公司DH2i专门部署了Windows容器管理软件,用于整合服务器并节省了软件许可费用。
Virtualization Practice公司的分析师Simon Bramfitt说:“如果Docker内部的业务路线图反映了其对容器作为整合工具的犹豫不决,那么执行领导可能正将公司带向错误的方向。”
Simon Bramfitt说:“如果他们想的只是让开发者的生活更轻松一点儿,那么并未发挥出平台的优势。我认为企业环境的确需要工作负载的容器化。如果他们没有选择开拓市场,那么我想知道他们是否更想开拓已经发现的更为安全的市场,比如较少面临来自VMware的竞争的市场。”
即使是某些Docker用户,包括总部位于亚特兰大市的移动应用公司 Yik Yak的CTO Tom Chernetsky也提到他们可能会考虑对容器作为虚拟机替代选择的可行性进行测试。
451 Research的研究经理Jay Lyman说:“实际情况是一切都是混用的,使用不同的工具和技术实现企业IT目标。容器仅仅是另一个工具。”
“Docker以及容器在任何时候都不会快速取代虚拟机。很多虚拟机将会和容器一起使用。但Docker和容器不必推翻VMware就能在市场上继续拥有巨大的发展及吸引力。考虑到VMware在企业IT中的流行程度,如果容器取代了10%到15%的VMware虚拟机,这将是相当巨大的成就。”