返回 登录
0

容器vs.虚拟机:系统设计决定工具

在《容器vs.虚拟机:状态管理、网络和蔓延》中我们提到了应用Docker时可能会碰到的困难以及容器技术和虚拟机架构各自的优势与劣势。我们讨论了状态管理、网络和蔓延等广泛存在于IT行业的问题。虽然对于Docker来说解决这些问题的难度可能更大些,不过Docker与虚拟机相比也有着自己的优势。

当我们谈到虚拟机蔓延时所考虑的是资源管理上的问题。如果说的是关闭容器的话,Docker就有一个明显的优势-镜像的确定性。Docker容器我们可以清晰地查看镜像的历史和状态,所以要找出那些使用同一镜像的容器是非常方便的。

容器的替换也很容易。对于虚拟机我们需要管理磁盘快照、镜像和版本等等,但对Docker来说这些工作都可以轻松完成所以蔓延的风险并不是很大。

就网络功能来说虚拟机确实更加灵活,支持的配置和拓扑也更多。不过对Docker来说,如果容器在同一主机可以使用桥接网络,各个主机间也可以使用overlay网络。Docker还推出了一个将引擎聚合成swarm单元的功能来方便容器的管理,聚合成swarm单元的容器可以被视为同一个Docker引擎暴露给外界。从管理的角度来看这为Docker提供了某种程度的自主性,swarm和容器可以分开管理互不干涉。技术不管简单还是复杂,只要能解决问题就可以。

虚拟机挂起是一个很有用的功能,不过要是对比的话Docker可以用一种不同的流程来实现和虚拟机挂起类似的功能。Docker可以轻松地启动和关闭一个轻量级的环境,这一过程是完全自动的,而且可靠性很高,所以只要启用一个新的容器就好。如果比较的是服务的运行时间而不是某个机器的运行时间的话,Docker未必有明显的劣势。

一个服务器连续运行几年固然是给人印象很深的一个成绩,但对于无状态应用模型来说根本没必要。Docker启动关闭容器和生成镜像的便捷使得启用一个新的容器非常方便。机器运行的时间越长,出问题的机会也就越大。

在我们选择工具的时候有一个原则:系统设计决定工具而不是工具决定设计,所以在需要用容器的时候就应该大胆地用,不要被它不如虚拟机的地方束缚了。

原文链接:https://dzone.com/articles/vms-vs-docker-dan-jones-in-network-world

责编:魏伟,关注Docker和OpenStack,欢迎加入CSDN Docker专家群,搜索“k15751091376”拉入

2016年3月18日-19日,由CSDN重磅打造的数据库核心技术与实战应用峰会、互联网应用架构实战峰会将在上海举行。这两场峰会将邀请业内顶尖的架构师和技术专家,共同探讨高可用/高并发系统架构设计、新技术应用、移动应用架构、微服务、智能硬件架构、云数据库实战、新一代数据库平台、产品选型、性能调优、大数据应用实战等领域的热点话题与技术。

2月29日24点前仍处于最低六折优惠票价阶段,单场峰会(含餐)门票只需799元,5人以上团购或者购买两场峰会通票更有特惠,限量供应,预购从速。(票务详情链接)。

评论