CIO们又开始一年的规划了,想做容器的不妨先看看,容器技术与虚拟机在私有云、公共云和混合云上部署的区别。
大多数的云是基于虚拟机部署的,但现在很明确的是,容器为云用户提供了显著的好处。然而,选择一种容器技术之前,重要的是要理解容器与vm(虚拟机)之间的关键差异。而最大的问题,无论是选择哪个,都要看是用于公共云、私有云还是混合云的场景。
概括来说,答案取决于三个主要因素:vm和容器之间的功能差异、私有云和公共云组件之间相互依赖的程度,以及用户的意愿,最终来定制自己的云平台。
.壹.
.理解容器与vm的差异.
VMs和容器 代表着两种不同的方式创建虚拟资源、运行应用程序。 采用VMs,一个特殊的软件系统——一个
虚拟机监控程序——分区服务器操作系统(OS)级别下的硬件上创建真正的“虚拟机”。
而容器技术是基于内核的,虚拟化发生在操作系统层面,所以还可能共享一些中间件。
功能方面,虚拟机相比较来说更灵活,因为在“guest”环境中,应用程序类似于运行在 裸机服务器
上。这样的话,你就可以选择你自己的操作系统和中间件,及时在同一服务器上也可独立于其他虚拟机。但是,对于容器,当你选择部署一个应用程序时候,就需要适应一个常见的操作系统和中间件元素,因为每个容器与其他容器都是共同使用核心服务器平台的。
因此,如果你想要为企业提供各种软件平台的应用程序,那么,使用容器可能会更困难,因为需要标准化的一个承载平台。 即使一切都运行在一个操作系统上,也需要协调一切使用单个版本的部分或全部中间件工具,所以,如果软件是很难做到依赖一个特定的版本的话就麻烦了。
不过带来的另一方面的好处是,用了容器技术后开销更少,因为不会重复去做每个应用程序或组件的平台软件的部署。这较低的开销就让你可以在每台服务器组件上运行更多的容器技术,此外,部署和重新部署应用程序或组件方面,容器技术也更快。
加之,容器技术通常是通过部署为如Docker一样的管理平台,相对于需要一堆工具并且复杂多样的VM-based clouds,就更简单了。
.贰.
.公共云、私有云或混合云上到底选哪个?.
在私有云部署上,以上容器的好处 你都可以体会到。对于企业标准化的操作系统和中间件,基于容器的私有云部署可能是最好的策略。然而,对于公共云和混合云,容器通常存在更多的问题,而vm可能是更好的方法。
例如,企业如果采用容器技术将面临的一个挑战是,容器相比VM来说,很难找到公共云的托管服务。虽然一些IaaS提供者,如亚马逊也提供容器服务,但这些服务通常覆盖整个IaaS服务,客户在很多情况下,只允许使用一个专用服务器或集群托管。对比来看,任何用户都可以通过公共云的IaaS服务轻松部署vm,而容器会很复杂,特别是在一个公共云上设置和操作容器网络时候,可能很难适应。
相比这种在公共云上部署和管理容器的难度,其实在混合云部署中更难。首先,容器部署一个应用程序的最佳实践建议是同时托管组件,这样便于网络连接。然而,这也会使它更难以管理,比如混合云上两个最常见的云爆发(cloud
bursting)和故障切换(failover)到公共云上的问题。
第二,如果容器平台不兼容,任何中间件或操作系统在应用程序级别上的差异将会限制容器部署。这意味着应用程序无法进行交叉部署。
不过,如果组件分布在云计算与数据中心是相当恒定的,那么在混合云上采用容器技术会更容易建立和维护些。例如,从一组特定的数据中心服务器到一组特定的云服务器。这使得网络和集成的混合环境易于管理而不易配置错误。然而,
vm还是更容易的在云数据中心上使用标准化的工具和集成实践,来部署应用程序和组件。
说了这么多,建议是最好熟悉容器技术的功能后再部署。长远来看,很有可能涉及管理工具方面用VM、云上做容器技术,并且随着这些工具的发展,二者在操作之间的差异将会减小。但如果你现在做出选择,要确保容器部署中为云应用程序提供足够的隔离,因为安全和合规这两方面,容器与虚拟机之间的差异不太可能缩小。
本文转自d1net(转载)