机房360首页
当前位置:首页 » 虚拟化资讯 » 容器是新虚拟机吗?

容器是新虚拟机吗?

来源:TechTarget中国 作者:DJ编辑 更新时间:2015/11/23 15:02:00

摘要:IT面临最大的挑战之一是具备一系列能够解决问题的工具。开发新工具并快速部署以满足业务需求,淘汰旧工具、旧技术,往往很难跟上所有新工具的脚步。我们往往通过对比新、旧工具以为理解新工具的工作原理提供帮助。

  IT面临最大的挑战之一是具备一系列能够解决问题的工具。开发新工具并快速部署以满足业务需求,淘汰旧工具、旧技术,往往很难跟上所有新工具的脚步。我们往往通过对比新、旧工具以为理解新工具的工作原理提供帮助。

  容器是一门热门技术,有望改变IT,就像是最近几年虚拟化给IT带来的改变。容器经常被拿来和虚拟化作比较,人们也经常混淆容器与虚拟化。某些用于描述容器的术语听起来和虚拟化术语有点像。容器是新虚拟机吗?实际上容器与虚拟化之间的差异非常大。

  虚拟机

  虚拟化技术在过去的十年当中使用硬件虚拟化改变了数据中心。Hypervisor向虚拟机交付虚拟硬件,然后虚拟机运行一个操作系统。在操作系统之上,可以运行一个或多个应用。应用不需要知道他们正在虚拟机内运行,与在物理服务器上运行没什么差异。已有应用的兼容性对于快速、广泛应用虚拟机至关重要。

  一台虚拟主机能够运行多个虚拟机,通常会多达几十个。虚拟机的寿命通常很长,针对很多虚拟机并没有制定退役计划。操作系统升级、应用版本更新、打补丁有助于保持虚拟机处于正常状态。运行在虚拟机内的应用很复杂而且更新相对频繁。如果在虚拟机内运行的应用出错,通常需要进行分析并纠错。同样需要经常对虚拟机进行备份,这样在出问题时才能够恢复。

  容器

  容器产品像Docker、Rocket虚拟的是操作系统而非硬件。在容器内是一个可执行服务,该服务是应用的一小部分。服务经过特殊修改以在容器内运行,被称为微服务。微服务通过一小段可执行代码提供了相对简单的功能。

  应用是由一组微服务构成的而且每个微服务提供了整个应用的一小部分功能。单个微服务的多个拷贝能够在很多容器内运行,而且这些容器使用消息队列或负载均衡链接在一起。单个容器通常用完即可丢弃,有足够多的微服务实例正在运行,这样整个应用能够继续运转。应用本身被构建为应对单个容器故障,而且每个容器有其自己的微服务软件代码实例。针对同一个微服务的所有容器都运行相同的代码。

  容器构建过程依赖于完整描述该容器的配置文件。配置文件通常是操作系统版本以及构成微服务的软件代码的组合。创建一个新容器实例不需要拷贝很多数据,在容器启动时代码将会写入独特的数据。启动一个容器所需要的时间低于1秒钟而且每分钟可能会发生多次。

  为升级容器,需要修改配置文件并创建新容器。过时的容器将会被破坏掉。可以创建新容器应对应用负载增加,并在负载降低时将其破坏掉。存在错误的容器通常会被破坏掉然后重新创建以使容器恢复到正常状态。从来不会修改容器以修复问题或者恢复容器备份。相反,只需要简单地删除然后重建。

  操作系统在虚拟机内运行,容器在操作系统内运行。结果是容器能够在虚拟化平台中的虚拟机内运行。部署容器化应用有很多方法。另一方面,在容器内运行虚拟机几乎是不可能的。如果可以,几乎没有任何价值。我确定某些人会为了炫耀而在容器内运行虚拟机。

  差异

  下表总结了容器与虚拟机的关键特性:

  容器与虚拟机满足了两种差异非常大的需求,将来都将在众多IT组织中占据一席之地。容器并非新虚拟机。找到使用每种工具的正确场景对取得成功至关重要。从根本上讲,容器是能够集成到应用中的微对象而且必须经过设计、编写才能够在容器内运行。另一个方面,虚拟机是运行应用的位置并在过去的20年中与应用一同成长。

  责任编辑:DJ编辑

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/20151123/n737074923.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片