容器还是虚拟机 并不一定非此即彼

日期: 2016-03-07 作者:Alex Barrett翻译:王学强 来源:TechTarget中国 英文

许多人认为在容器和虚拟机之间只能选择其中一种,但事实并非如此——下面将详细介绍其中的原因。 IT专家一直在尝试解决一个问题:应该怎样在容器和虚拟机之间做出选择,而现在的解决方案是同时使用两种技术。 虚拟机和容器技术是实现虚拟化的两种不同方式,二者都能够实现多种应用程序共享相同硬件资源,但是其技术特点、优势以及劣势却完全不同,这周Container World的与会者尤为深刻地感受到了这一点。 从易于使用和自动化的角度来看,容器技术似乎更加占据优势。

“相比于虚拟机,容器技术要简单的多,”服务器虚拟化提供商Odin的前CTO James Bottomley表示,他同时也是一名Linux内核维护人……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

许多人认为在容器和虚拟机之间只能选择其中一种,但事实并非如此——下面将详细介绍其中的原因。

IT专家一直在尝试解决一个问题:应该怎样在容器和虚拟机之间做出选择,而现在的解决方案是同时使用两种技术。

虚拟机和容器技术是实现虚拟化的两种不同方式,二者都能够实现多种应用程序共享相同硬件资源,但是其技术特点、优势以及劣势却完全不同,这周Container World的与会者尤为深刻地感受到了这一点。

从易于使用和自动化的角度来看,容器技术似乎更加占据优势。

“相比于虚拟机,容器技术要简单的多,”服务器虚拟化提供商Odin的前CTO James Bottomley表示,他同时也是一名Linux内核维护人员。“虚拟机使得流程控制问题变得更加复杂。”

的确,在某些情况当中虚拟机能够满足企业在控制和安全方面的需求,谷歌的高级工程师兼Kubernetes的首席工程师Brenden Burns表示, Kubernetes是谷歌针对Docker容器推出的开源集群管理器。他说,“内核调优需要在虚拟机当中进行。”

总体来说,谷歌在没有使用虚拟机的情况下依然能够实现内部系统的高效运行,谷歌并没有依赖于容器技术和Borg(Borg是谷歌内部自行研发的容器管理系统,也就是Kubernetes的前身)。在Google Compute Engine发布之后,基础架构即服务(IaaS)使得谷歌迅速进入了服务器虚拟化领域。

但是在某些情况下,必须一套系统当中同时使用容器和虚拟机。比如Netflix,虽然将所有基础架构都运行在以虚拟机为基础的AWS(Amazon Web Services)当中,但是在上层仍然需要使用容器技术。Netflix的平台技术经理Tim Bozarth表示,这样做主要出于两种原因:规范开发者体验并且降低运营开销,

“开发人员说,‘我所需要详细说明的就是为何要运行某个进程——而不是思考它该如何兼容一台适用于所有环境的虚拟机,’”Bozarth说,这导致了“基础架构的透明化。”

如果能够实现容器封装格式的标准化,那么从开发人员笔记本电脑到生产环境的持续性开发和云部署也将变为可能。

同时,运维部门不希望自己管理这些集群。

“这绝对是一项非常繁重的任务,”Bozarth表示。如果使用容器技术,他们可以使用集群管理系统来实现资源分配和负载定位。

综合来说,容器技术为NetFlix带来的这两种好处“足够说服其选择使用容器技术,并且在基础架构当中进行底层变动,”他说。得益于系统密度的提升,Netflix获得了之前从未拥有过的运营性能方面的优势。

“我们向亚马逊支付了大量费用,”他说。“如果能节省一点当然很好——但是这并不是我们考虑的主要因素。”

另外一个应该关注的重点是运行哪种类型的容器——应用程序容器(Docker)还是操作系统或者机器容器(Solaris Zones 或 FreeBSD Jails)。应用程序容器通常只包含一个单独进程,非常适合于无状态化的、以微服务为基础的应用程序。而系统容器则会启动整个操作系统,通常被用于运行状态化应用程序,比如数据库等,任职于Ubuntu产品和战略团队的Dustin Kirkland表示。

无论企业更喜欢使用哪种格式,容器也不会完全取代虚拟机,CoreOS公司CEO Alex Polvi表示,其是Rocket容器格式的创造者,这是一种基于Kubernetes的容器管理系统。

“这就好像是说Puppet将会替代虚拟机一样——从根本上来说它们并不属于相同种类,”他说。

最后,不要凭空思考应该使用哪种技术——还要综合考虑你的设计目标,社交协作软件公司Lithium Technologies的云平台团队主管Lachlan Evenson建议。

“一切都要以需要解决什么问题为基础。如果没有问题,那么就不要进行变动。”

作者

Alex Barrett
Alex Barrett

TechTarget特约作者

翻译

王学强
王学强

TechTarget特邀编辑,毕业于计算机专业,现任职于外企IT分析师,负责网络、防火墙和服务器等系统运维工作,对虚拟化、网络安全和渗透测试拥有浓厚兴趣,工作外热爱旅行、汽车和健身。

相关推荐

  • VMware快照工作原理以及如何运用

    当你更新或修复应用程序和服务器时,VMware快照无疑是你的救星。而如果你负责监管虚拟环境,你更是应该知道什么 […]

  • 配置ESXi Autostart,自动打补丁

    顾名思义,VMware ESXi Autostart能够实现自动开启、关闭ESXi服务器上的虚拟机,让虚拟机管理变得更轻松。如果运行了多个虚拟机并且给主机打补丁后需要重启主机,那么ESXi Autostart的作用就更大了,没有Autostart的话,你需要在给主机打补丁后,手动重启每个虚拟机。

  • 描绘VMware容器未来蓝图:VIC与Pivotal

    容器技术已经推出几年了,而且其原理很容易理解。容器成本低、运行速度快、易于部署而且承诺提供更大的可扩展性。在容器需求量持续增加期间,VMware开发了自己的容器平台以满足不断增长的需求—vSphere集成容器(VIC)以及Photon Platform。

  • VMware和Pivotal在容器领域达成合作

    Pivotal Container Service将Kubernetes集成到vSphere,同时借助NSX提升安全性,但是这项新服务让我们不得不思考VMware自有容器项目的问题。