容器虚拟化的成本优势虚拟化
对习惯虚拟化以及基于hypervisor云的IT员工来说,容器虚拟化的概念是业务模式上的一个重大变化。接受新技术必须以强大的价值主张作为判断依据,而容器应该能够胜任此任务。
回想起来,容器概念相当微妙。传统虚拟化出错源于过于灵活。每个虚拟机运行一个完整的系统镜像,包括操作系统及工具,尽管目标是允许虚拟机能够运行任何操作系统,包括Windows、Linux,但结果就是在运行应用前已经有大概多达60%的内存被消耗掉了。
选择容器
数百台运行相同操作系统的虚拟机,使用了数TB的内存用于复制操作系统的副本。为什么不限制一台服务器只安装一个操作系统呢?这样一个系统镜像能够服务该服务器上所有的工作负载或者是所有容器。混合及匹配操作系统版本丢掉了某些灵活性,但坦白来讲,这无关紧要。
一台服务器只运行一个操作系统的经济效益是惊人的。首先每台服务器能够运行更多的工作负载而且效率更高。当然效率依赖于配置,好的做法是同样的硬件能够支持的容器数量应该是虚拟机数量的2到3倍。
每个容器获得的CPU时间可能仅仅为虚拟机的一半,为更高效地使用内存必须进行调整,减少内存交换时间以及其他因素。当工作负载很小时,容器获得更少的CPU时间片可能无关紧要。
大多数虚拟机的I/O需求都很大,每台虚拟机仅获得了与软盘相等效的性能。大部分I/O流量实际来自于操作系统。尤其是开启虚拟机时更是如此。
使用容器虚拟化,只有一个操作系统镜像应该会减少I/O流量。这抵消了在更多的实例之间分配可用I/O所带来的不良影响。然而在产生大量I/O流量的用例中,每个容器的I/O需求量将会增大。
这时,我们可以选择在服务器内配置基于hypervisor的虚拟机,也可以配置数量为虚拟机两倍的容器实例——每个实例的运行速度更慢,仍旧将服务器规模减少为原来的一半。另一种选择是保持容器数量与虚拟机数量相同,这样容器容量就更大,能够使用更多的内存。
这并非理想的选择,因为我们的确喜欢扩展I/O速率以及内存容量。这可能会迫使我们升级网络设施。例如,采用两个10Gb以太网连接而不是一个。和购买更高配置的服务器相比,这样更节省成本。
采用更快的网络、快速SSD有助于进一步改善IPOS,能够节约成本使得难以拒绝容器虚拟化。实际上不需要购买额外的服务器就能够将集群规模——以交付的工作负载作为衡量依据——扩大为原来的两倍。我们可能需要在高速网络上进行一些投入,而且可能要购买一些SSD,但总投资节省的费用还是相当可观的。还需要考虑运营成本的节约,更少的服务器意味着更低的功耗、制冷以及更少的支持人员。
技术上存在障碍吗?
容器仍旧在发展,这意味着某些功能还不成熟。这只是一个短期问题。系统对多租户的支持仍旧在发展,用户只有对多租户支持感到满意才会选择使用容器。长期来看—大概是3年——我们将会看到容器虚拟化模式将会更多地采用经过压缩的DRAM以及近线闪存的替代品。
容器倡议者谈到容器增加了灵活性,能够更快速地部署应用,而且安装容器不像传统hypervisor厂商那样需要大量的许可费用。如果上述事实发生,那么成本将会大大节省。
不管在哪个方面,容器都胜出了。尽管容器会对服务器以及hypervisor厂商的收入带来一些影响,它会大大降低企业成本。