让我们想象1分钟,你有常用的虚拟主机环境。在这个环境中,你必须安全地隔离物理资源在多数用户之间。用户必须被隔离在虚拟环境中,并拥有自己的虚拟空间。
现在,为了管理这些用户和各自的资源,你部署了一个强大的工具,它允许在操作系统的内核有多个用户实例的空间情况下,所有的分离和相互分割。彼此之间相互孤立和隔离。这些用户空间实例也被称之为容器。使容器内的用户体验到的操作就像在自己专门的电脑上。系统管理员在整体上对这些容器有整体的权利,可以围绕资源管理设置策略,容器之间的互用性以及需要的安全性参数。从哪里,系统管理员还可以管理和监控这些容器,甚至围绕动态负载平衡的各种节点之间可以在节点之间设置自动化策略。
所有这些定义了操作系统层面的虚拟化。
现在,让我们研究的更深入一点。操作系统层面的虚拟化是一个优秀的工具用于创建有力隔离的多租户环境。然而,然有一些新的挑战组织正面临着处理容器和操作系统级的虚拟化:
- 如果你有非常大量容器,都需要各种各样虚拟机资源?
- 如果你需要更好的自动化和控制的部署和管理什么?
- 如何创建一个不仅仅是在linux服务器上运行的容器平台?
- 如何部署解决方案?在公有云或者私有云,甚至二者之间的任何地方。
我们来看一个具体的例子:应用容器制造具有一个强有力的影响。 就像dockerare已经加入新的抽象层面,同时也自动化系统层面的虚拟化平台运行在linux server。通过使用cgroup Docker实施新的各种隔离功能,来允许隔离的容器跑在各自的linux实例上。跨越大量节点同大量容器一起工作时,重新启动一个新的虚拟主机帮助消除过载?
所有的这一点,重要的是要明白,越来越多的企业正在部署基于Linux服务器工作负载。这些工作负载运行大型数据库,数据挖掘,大数据引擎,等等。在这些Linux内核,容器使用率也在提高集。这里有一些就像Docker 能够帮助的方法。
- 大容器控制:应用容器能够帮助抽象操作系统层面的虚拟化进程.在提供服务的时候,这给系统管理员更大地控制权,更安全以及进程限制,甚至更智能资源的隔离。另一个大的方面是允许和控制如何跨越各种系统共享资源。
- 创建分布式系统:像Docker一样的平台允许系统管理员管理容器,容器内运行的任务,运行的服务和一些其他分布式进程,多节点,系统。当有一个大的系统的时候,Docker可以按需分配资源环境中,当他们需要的时候,每个节点能够获取与之所需的相应资源.从哪里,你需要将需要大量的规模和资源的系统整合。如:MongoDB. 正因为如此,大数据平台现在横跨许多不同的、高度分散的节点。这些节点位于私有的数据中心,或者公有云,或者服务器提供商。你如何把容器与云集成?
- 集成云与超越:在6月份的时候,Microsoft Azure增加了Docker容器进而支持Linux VM,使“Dockerized”Linux应用程序的广泛的生态系统运行在Azure云。更多的云利用,利用Docker的容器系统也可以集成其他平台如chef,Puppet,openstack 和 AWS。甚至最近红帽也宣布将先进的linux工具如 systemd 和selinux集成到Docker里。这些工具允许你跨越容器系统,除了你自己的数据中心。新功能允许你创建自己的混合云生态系统生成自己的数据中心容器,例如,AWS。
Docker以及其他开源项目不断抽象操作系统层面的虚拟化允许基于linux的workload更好的分布。在容器和自动化方面,像Docker这样的技术是有帮助的。事实上,作为一种在诸多环境中运行Linux和Windows服务器重组合的实现。在Windows Server下的波微软计划集成和支持docker容器,从而在Windows和Linux服务器上有Docker开放的解决方案。如果你是在一个基于Linux服务器上容器的解决方案上工作的话,开始看看如何应用容器可以帮助发展你的生态系统。