容器技术,比如Docker,正在云供应商和企业间越来越流行。但是对于企业而言,容器技术是不是正确的选择呢?
容器技术正在强有力地占领云市场,随着供应商继续深入拥抱Docker,CoreOS,其他企业也在尝试进入该领域。但是在企业云战略包含进容器时,很有必要理解该技术是如何工作的,以及它是否满足了企业的需求。
容器提供了服务器虚拟化的替代方案,首先安装一个主机操作系统(OS),而不需要安装hypervisor。然后,安装虚拟化层,应用就好像运行在底层操作系统上一样。虚拟层创建出隔离的客户虚拟机(VM),称为容器。每个容器都可以运行自己的应用——或者某个相同应用程序的副本——但是所有容器共享同一个OS内核。
对于单个OS的依赖使得基于容器的虚拟化比起传统的基于hypervisor的虚拟化来说,没有那么通用。比如,因为容器必须移动到带有兼容OS内核的服务器上,所以容器的迁移要求更多的考量和计划。另一方面,传统VM则能够迁移到任何带有合适hypervisor的地方,不管OS是什么。
但是,因为容器共享单个OS内核,它们可以降低OS许可证的费用,提高性能,无需运行多个OS版本所需要的那么多内存和处理器的资源。
容器技术能够从多个方面利好云环境。和轻量级VM相比,容器是轻量级组件化环境,无需大量的重复工作,应用就可以在云间移动。容器能够适应平台差异,而不会影响其中运行的应用,这很有益于DevOps和软件开发人员。
另外,容器减少了每个虚拟实例所需的冗余资源,比起VM而言,同一台服务器能够托管更多的容器——这大幅改进了云的可扩展性和性能。
因此,对于你的企业和云战略而言,容器是否是正确的选择?容器对于要求扩展性以及共享核心组件的环境而言是非常契合的。比如,如果你需要启动并部署相同工作负载和OS的100个副本,使用容器,比起传统基于hypervisor的VM,要更加高效并且划算。
要求最佳的工作负载普适度和隔离性的数据中心应该继续使用基于hypervisor的VM。但是,这两种方案并不是互斥的。两者可以并存来满足特定的业务计算需求。容器技术的确非常值得企业研究和投资。