容器将终结虚拟机?

2015-04-17 |  作者:邹铮编译 |  来源:独家 |  查看原文

摘要容器炒作正席卷云计算和虚拟化行业。很多开发商意识到封装应用程序代码轻量级方式的优势,很多大牌公司(包括亚马逊云计算服务、Red Hat、IBM和VMware等)都加入容器的行列。

围绕容器的炒作正席卷整个行业,这对虚拟机意味着什么?

两年前,当Frank Macreery创立Aptible来帮助企业在云计算中托管敏感医疗数据时,作为首席技术官,他认为容器将在该公司的运营中发挥重要的作用。

“在虚拟机(VM)上运行我们的服务会很难看,”他表示,“我无法想象没有容器怎么做。”

容器炒作正席卷云计算和虚拟化行业。很多开发商意识到封装应用程序代码轻量级方式的优势,很多大牌公司(包括亚马逊云计算服务、Red Hat、IBM和VMware等)都加入容器的行列。

这不禁让人想问:容器的崛起是否标志着虚拟化和虚拟机的结束?

结构性破坏

“现在正在发生一个结构性的破坏,”云计算供应商Joyent公司首席技术官Bryan Cantrill表示,“我们现在对VM所做的正是VM对物理机器所做的事情。”

容器不是新技术:容器的最早版本已经在开源Linux代码中存在了几十年。但在过去的一年里,容器已经俘获了不少开放商的心。容器可以隔离特定代码、应用程序或进程,这样做可以更好地管理容器,包括跨不同主机的移动。虽然虚拟机可以将服务器分为多个操作系统,而容器运行在操作系统之上,因此,不同于VM,它们在创建后不需要操作系统来启动。从本质上来说,它们可以虚拟化操作系统来提供更轻量级的应用程序封装。

Cantrill表示,这意味着最好在裸机服务器运行容器,即没有虚拟机管理程序和虚拟机的服务器。他指出:“虚拟机在容器世界中根本没有意义,Joyent已经构建了自己的SmartOS操作系统,以在容器上助力器云计算。”

那么,容器的崛起是否会抹杀VM?

“并不只是Bryan这样认为,”451研究所Jay Lyman称,但Lyman认为VM还没有终止,“现实情况是,VM是现代企业IT的重要组成部分,没有什么可以很快取代它们或者抹杀它们。”

容器在某些情况下很好用,但它们也不是万能的。“你应该将容器作为云计算开发中的又一利器,”Cloud Technology Partners公司顾问David Linthicum称,“它们适合于某些情况,但不是全部。”

确定在何处以及何时使用容器是重要问题。

天作之合

对于Aptible公司的Macreery,容器非常适合其公司用于托管敏感医疗数据的平台。该公司创立于2013年,一年后其产品开始全面上市,他们使用亚马逊云计算服务的弹性计算云(EC2)服务,并在这些基于云的虚拟机之上运行Docker容器镜像。由于该公司需要处理敏感医疗信息,Aptible为每位客户创建了一个单独的虚拟私有云(VPC)来运行容器。

与虚拟机相比(+微信网络世界),容器可以实现更容易的管理。首先,容器为Aptible管理的所有数据(存储在容器中的所有信息)提供一致的设计架构。如果客户或Aptible需要更新任何东西,新容器就会被创建和启动,这只需要不到一秒钟。在另一方面,虚拟机可能需要一分钟来启动。容器的灵活性是另一个好处:Aptible能够在单个虚拟机分布多个容器,或者在多个虚拟机分布大型容器。这里的关键是,当所有数据和应用程序看起来一样时,Aptible可以更容易地管理其服务,因为它们都被整齐地封装到容器中。

这个架构非常适用于Aptible公司,但并不一定适用于所有公司。Gartner公司分析师Lydia Leong称,面对容器的兴起,异构环境(包括多种操作系统和不同的安全控制)的用户可能仍然会使用虚拟机为中心的架构。容器需要运行相同的操作系统,例如,不能混合使用Linux和Windows操作系统。但大型企业环境中可以混合使用虚拟服务及裸机物理主机。

开始使用容器

那么,你如何开始使用容器?云计算和虚拟化市场的供应商已经在很大程度上加入容器的阵列。Docker(这同时是开源项目和一家公司的名称)最近一直是容器运动的中心。其他开源项目(例如谷歌的Kubernetes)帮助管理多个容器,也已经开始普及。

例如亚马逊云计算服务,这个市场领先的IaaS公司去年秋天推出了亚马逊弹性容器服务(ECS),并在这个月正式推出该服务。在AWS客户启动容器后,ECS将负责扩展容器,并提供中央管理门户网站来追踪它们。

另外,微软本月初发布了新的“nano”操作系统,将支持在Windows操作系统运行的容器。

其他公司也开始提供容器支持。虚拟化软件的主要供应商VMware已经宣布将支持容器。该公司云计算高管之一Mathew Lodge表示,在虚拟机内运行容器允许用户保持安全性和管理控制。而直接在裸机运行容器需要配置网络和安全连接,VM可以在管理系统中处理。

相关文章