两年前,弗兰克•麦克里里(Frank Macreery)创办了Aptible公司,帮助企业在云中托管敏感的医疗数据,当时他担任首席技术官,认为集装箱将在公司的运营中扮演关键角色。
“仅在VMs(虚拟机)上运行我们的服务将是丑陋的,”他说。“我无法想象没有容器的情况。”
容器炒作正在席卷云计算和虚拟化行业。许多开发人员已经意识到封装应用程序代码的轻量级方法的优势,而来自Amazon Web Services、Red Hat、IBM甚至VMware等知名技术供应商也纷纷加入到容器的行列中。
这让一些人想知道:容器的兴起是否标志着虚拟化和虚拟机的终结?
+更多关于网络世界足球竞猜app软件:如何从您的虚拟化和云环境中获得更多|10个开源工具让Docker更加强大+
结构破坏
云服务提供商Joyent的首席技术官布赖恩•坎特里尔(Bryan Cantrill)表示:“目前正在发生一场结构性破坏。”Joyent大量使用容器技术。“我们现在对vm所做的,就像vm对物理机器所做的一样。”
容器不是一项新技术:容器的最早迭代已经在开源Linux代码中存在了几十年了。但是在过去的一年中,它们已经俘获了许多构建和运行应用程序的开发人员的心。容器隔离特定的代码、应用程序或流程。这样做为容器内的任何东西提供了一个整洁的信封来管理它,包括在不同的主机之间移动它。虽然可以将虚拟机分割成多个操作系统,但容器是在操作系统上运行的,因此与VM不同,它们在创建时不需要操作系统引导。本质上,它们可以虚拟化操作系统,从而提供一个比VM更轻量级的应用程序包。
Cantrill说,这意味着最好在裸机服务器上运行容器,即没有管理程序和虚拟机的服务器。“VMs(虚拟机)在容器世界中毫无意义,”他说,并指出Joyent已经构建了SmartOS操作系统,在容器上支持云计算。
那么,容器的增加会杀死VM吗?
451研究小组的杰伊·莱曼说:“我不认为布莱恩是唯一一个这么想的人。”但是莱曼还没有准备好宣布虚拟机的死亡。“现实情况是,如今的虚拟机是企业IT的重要组成部分,短期内没有什么东西会取代它们或将它们消灭。”
相反,容器在某些情况下是好的,但它们不是万能药。“你必须把容器看作是云开发者军火库中的另一件武器,”David Linthicum说,他是一位受人尊敬的行业权威和云技术合作伙伴的顾问。“它们在某些情况下很适合,但不是所有情况。”
确定何时何地使用容器可能是一个大问题。
天作之合
对于Aptible公司的Macreery来说,对于他公司的敏感医疗数据托管平台来说,容器是一个自然的选择。该公司成立于2013年,一年后将其产品推向市场。该公司使用亚马逊网络服务的弹性计算云(EC2)服务,并在这些基于云的虚拟机上运行Docker容器映像。因为该公司处理敏感的医疗保健信息,所以Aptible为每个客户创建了一个独立的运行容器的虚拟私有云(VPC)。
与仅使用虚拟机的情况相比,容器允许更容易的管理。首先,容器为所有Aptible管理的数据提供了一致的设计架构——所有的东西都存储在容器里。如果客户或Aptible需要更新任何东西,那么就会创建并启动一个新的容器,这只需要不到一秒钟的时间。另一方面,vm可能需要一分钟才能启动。容器的灵活性是另一个好处:Aptible能够将多个容器分散到一个虚拟机上,或者如果需要的话,将一个大型容器分散到多个vm上。但关键是,当所有数据和应用程序看起来都一样时,Aptible更容易管理它的服务,因为它们被整齐地打包到容器中。它们是最小公分母。
该体系结构对于Aptible来说工作得很好,但是拥有一致的服务可能并不适合所有人。Gartner的分析师Lydia Leong说,即使随着容器的兴起,包含多个操作系统和不同安全控制的异构环境的用户可能仍然会使用以vm为中心的体系结构。例如,容器需要在相同的操作系统上运行,不能混合在Linux和Windows之间。但是,大型企业环境没有理由将虚拟服务器、裸机物理主机和容器混合在一起。
开始
那么如何开始使用容器呢?云计算和虚拟化市场中的供应商已经在容器上进行了大规模的开发。码头工人这是一个用于旋转容器的开源项目,也是一家公司的名字,它最近已经成为了容器运动的中心。其他开源项目,如谷歌的Kubernetes,帮助管理多个容器,并且也越来越受欢迎。
以市场领先的IaaS公司亚马逊网络服务公司(Amazon Web Services)为例亚马逊弹性集装箱服务(ECS)就在这个月,该公司推出了这款应用。AWS客户生成容器后,ECS将负责扩展容器,并提供一个中央管理门户来跟踪容器。
微软本月发布了一款新的" nano "操作系统,该系统将支持在Windows操作系统(在这里阅读更多关于Windows服务器容器的信息。)
预计其他公司也会出来支持集装箱。例如,VMware是主要的虚拟化软件供应商,并且已经宣布了对支持容器的初步承诺。该公司的云管理人员之一Mathew Lodge说,在VM中运行容器可以让用户在使用新技术时保持他们习惯的安全和管理控制。直接在裸金属上运行容器需要提供网络和安全连接,VM可以在类似其软件的管理系统中处理这些连接。