基于容器的虚拟化技术能否最终取代虚拟机?虚拟化
基于容器的虚拟化技术并不是一个新概念,但最近得到了红帽等公司的关注。这些公司为最新推出的Docker提供了很多支持,人们开始猜想轻量级的容器解决方案是否将会取代传统的虚拟机。
Docker使用Linux容器工具将应用程序封装在一个便携的、独立于硬件的容器当中,也将会是Red Hat Enterprise Linux 7主要支持的容器格式。Amazon Web Services日前宣称将会在Elastic Beanstalk中增加对于Docker容器的支持。
自去年作为开源项目首次出现,Docker已经经历了爆发式的增长。Docker容器的一大吸引力在于其提供的标准可以保证应用程序在不同平台上实现便携性。在传统的Linux容器技术中,在一台Linux机器上创建的容器不能在另外一台上按照预期运行,因为应用程序配置是和最初的平台绑定的。Docker将应用程序及其依赖关系都封装到容器当中,这样就可以轻松地移动到不同平台或其他Linux发行版本上了——比如从开发者的笔记本移动到测试环境。
尽管面向实际生产环境的Docker 1.0版本还未推出,但是PayPal、Spotify和Rackspace等公司都在测试这款软件。
“我们知道这能够满足一部分特定的需求,但是目前这种方式还是非常疯狂的,”Docker的市场部高级总监Julien Barbier说。“大公司通常会等到一项新技术投入生产环境很久之后才开始采用。但这是唯一能够解决这个问题的方式,并且这个问题会产生很大的影响,所以用户才会使用我们的产品…..这超出了我们的预期。”
虚拟机能否有所改善?
Docker的吸引力很大一部分在于帮助开发者将其应用程序从概念级别转化为实际产品。容器的轻量级特性同样吸引了虚拟化管理员和云提供商,他们以此来寻求最大程度的整合。虚拟机(VM)迎来了一个整合的时代,服务器能够更好地利用硬件计算资源。但是不同于虚拟机,容器不需要运行完整版本的操作系统,可以在另外一个层面上实现整合。
Bromium公司CTO Simon Crosby认为,虚拟机是一台具有完整操作系统的物理服务器的模拟器,其并不是交付应用程序最有效的方式。。
“在未来的10年当中,仍将会有大量虚拟机放置在企业数据中心里,但认为虚拟机是一个操作系统和应用程序的观念将不复存在,”Crosby说,“我们看到的将会是多个应用程序运行在一套硬件平台上。”
共享硬件资源确实是在虚拟化技术出现之后才提出的,Crosby说。使用基于容器的方式,应用程序可以独立运行,而不需要依赖单独的操作系统,从而节省大量的硬件资源。
“如果我给你几千个与硬件隔离的应用程序,而不是在每台服务器上运行100台虚拟机,会怎么样?”Crosby说。“不只是提高了效率。当使用新的应用程序时我不想每次都重启Windows或Linux实例,这完全是在浪费时间。”
现在,虚拟机已经成为大多数企业数据中心不可或缺的一部分,但是基于容器的虚拟化技术将促使虚拟机更早地被淘汰,Crosby说。Bromium针对桌面提供了一套类似的基于容器的解决方案micro-virtualization,但是Crosby表示他的公司目前还没有针对服务器开发类似产品的计划,因为更换现有的hypervisor供应商将会是一件十分困难的事情。
在基于容器的虚拟化方面,Docker已经获得了大量关注,开源市场也许是其成为数据中心的下一代变革性技术的第一步,Crosby说。有待开发的专有容器技术也许将要进入企业数据中心领域,而现在这个市场被VMware和微软占据。但是,云供应商可能会成为推动容器技术复苏的主要驱动力。轻量级的、基于容器的解决方案将对云供应商产生很大的吸引力,因为即使是较小的效率提升,也能够显著影响他们对客户的定价策略。
“如果其中的一家首先采取行动,那么将会增加很大的成功几率,”Crosby说,“也就是说,我认为这仍然需要一段时间。”
整合程度越高,问题越多
其他人对基于容器的虚拟化技术在一般的数据中心产生的效果还持有怀疑态度。整合技术具有帮助公司提升效率并且节省硬件开支的优势,但同时也带来了硬件方面的管理挑战。容器技术带来更高程度的整合,,虽然可以帮助组织节省开支,但是也会带来一些问题,Milwaukee技术学院的IT架构师Brian Kirsch说。
“我认为基于容器的技术会带来很多问题,因为如果共享后端硬件,一旦出现故障,就会导致很大规模的影响,”Krisch说。“基于容器虚拟化技术最重要的优势是可以将越来越多的东西整合到一个单独的硬件平台上以节省开支。这对于预算来说是件好事,但是如果出现问题,就会引起很大麻烦。如果一定要采用这种方案,最好选择虚拟化技术最好的Citrix公司。”
容器虚拟化仍然存在很多技术方面的限制。比如容器不能在Linux服务器上提供虚拟Windows实例。但这只不过是限制容器扩展的一个障碍,IT管理顾问Keith Townsend说。
“现在企业还不会因为开销问题而避免使用虚拟机操作系统。当购买数据中心产品时,微软还会极力推荐使用Windows,”Townsend说。“基于容器的虚拟化技术过去几年中没有实现快速发展,所以我认为其现在也不会被很快采用,除非有人开发出一种简单的封装方式,一个可以依靠的容器平台。如果想要成功,就必须超越VMware在虚拟机上做出的所有努力。”
容器很有可能在许多环境中和虚拟机共存,而不是彻底取代虚拟机。“我认为虚拟机被彻底取代是一件很遥远的事情,”Townsend说。“但是只依赖虚拟机的时代已经不复存在。”