前车之覆,后车之鉴——回顾和辨析过去的发展历程,以避免过去的错误是十分重要的,这在科技领域也同样适用。
“虚拟化技术能够减少管理的物理机数量,但是操作系统的总量并没有变化,在虚拟化环境中,因为新建系统的实例非常方便,这甚至可能造成操作系统总量的增加。” Gartner管理副总裁Tony Iams曾于十多年前在SearchDataCenter上写到。Toni当时详细叙述了服务器虚拟化和服务器整合的区别。虚拟化多年来占据了数据中心的统治地位,但是随着虚拟化容器的出现,我们将看到回归整合的趋势。
虚拟化技术的发展
在过去十年,除了改变世界各地的数据中心,虚拟化技术自身也在不断改变。2005年Toni考虑在虚拟化数据中心中整合服务器时,虚拟机管理程序为虚拟机提供的资源在量上存在一些严重限制,例如CPU、RAM、磁盘空间和网络接口。物理服务器的资源也远远小于现在。
摩尔定律的预测是准确的,经过工程师十多年的努力,服务器的硬件和虚拟机管理软件都有巨大的提升。天文级数量的资源变成现实,特别是对能负担得起***的服务器群的数据中心团队来说。虚拟机管理软件能够提供巨大的虚拟机,其容量是上一代物理服务器的很多倍。只需一点点细致的设计,几乎所有x86服务器上运行的工作负载都能在虚拟机上运行。
很多组织采用虚拟化作为他们的***x86平台,实现了立竿见影的投资节约。许多人也看到了巨大的运营效益,以及在自动化和私有云引入后的效益。虚拟化的一个主要特征是,未虚拟化时使用的应用软件和操作系统在虚拟化后仍然可以使用。因此不需要开发虚拟化版本的应用程序,现有的一切都能够直接工作。
容器重新点燃虚拟化和整合的争论
企业采用虚拟化就如同更换新服务器一样便捷。尽管如此,虚拟化也有一些挑战。例如,当有一台物理服务器运行50台Windows虚拟机时,大量重复的内容和工作占据了服务器的资源。50个虚拟机加载相同的内核,存储相同的文件到50个虚拟磁盘上,需要对50个windows操作系统副本做维护和打补丁。这种情况不仅仅是对Windows系统,对Linux系统也是一样:50个Linux副本也需要维护,并且使用重复的资源。
大型IT组织已经发现,虚拟化导致大规模虚拟机部署,自动化也不能完全消除虚拟机的管理成本。服务器整合能降低需要维护的操作系统数量。它也可以减少运行的应用程序的费用,在相同的成本情况下,支持更多的应用同时运行。
没有虚拟化的整合是非常困难的,但可能更有效。基于容器的服务器整合也是这种情况。整合使多个应用运行在同一个操作系统上,或者一个应用的多个实例运行在一个操作系统上。关键点是如何使这些应用和应用实例彼此隔离——而这正是容器技术解决的问题。虚拟化容器使容器实例之间彼此隔离,不需要每个实例都用独立的操作系统来隔离。一台服务服务器可以运行数百个容器实例,所有这些实例都共享一个操作系统。
虚拟化容器提供一种将应用整合到单一服务器上的有效方法。自动化工具可以让IT团队创建、管理和销毁数以千计的同类容器实例。对许多应用来说,这种编配方式使容器成为虚拟机的更好的替代品,因为现在部署容器比十年前更简单。
容器化所面临的挑战是,它需要开发者重新构建或者重新编写应用程序。我们不会将Oracle或SQL数据库部署到容器中。至少,这种方式非常不适用于生产环境。这些应用程序将继续运行在虚拟机或者物理服务器上。我们将看到,从一开始就针对容器运行而设计的应用逐渐兴起。这些应用将遵循web应用程序的模式,目前在web应用中容器的使用已经司空见惯。
随着时间的推移,在企业环境中的容器化工具和良好的容器开发运维实践越来越普及。应用程序开发需要时间。这场革命可能需要10年才能使容器的普及度达到目前企业使用服务器虚拟化的程度。
虚拟化已经成为部署基于x86工作平台的标准。虚拟化容器的敏捷性和灵活性是这场IT变革的主导力量。现在容器技术的发展还属于较为边缘的数据中心革新。
整合技术可能再次成为IT基础建设的主要推动力。但是这个浪潮过去后总会又有新的浪潮出现。