企业花费大量时间、金钱和精力来分配和管理他们的系统。
企业管理协会的研究总监Torsten Volk称:“企业希望在维护计算机基础架构上花费最少的资源。”
迈出第一步
VM之所以受欢迎,是因为它们大大提高了服务器效率。企业无需为每个应用程序部署一台服务器,而是可以在一台计算机上运行多个应用程序。VM是成熟、可理解和有效的技术,几乎每个企业都依赖VM。
Gartner公司旧金山地区杰出副总裁兼分析师Arun Chandrasekaran说:“虚拟机抽象出服务器的硬件功能,并为应用程序模仿专用的硬件。”
在推出虚拟机时,虚拟机是IT领域的重大进步。但是,VM具有其自身的局限性。例如,每个VM都会创建一个与基础操作系统紧密相关的系统映像。企业运行多种类型的服务器,并且通常根据需要将工作负载迁移到计算机上。VM无法提供这种水平的可移植性,因为为微软创建的VM无法在Linux上运行,反之亦然。
更高水平的虚拟化
容器可帮助解决VM带来的限制,例如可移植性降低和资源不足。
Chandrasekaran说:“容器虚拟化操作系统,允许一个OS用户空间的多个实例共享一个OS内核。”它们在上面运行一层,并将应用程序软件与VM分开。
此外,容器将软件分解为可以轻松混合和匹配的小组件,从而加快开发速度。根据451 Research的研究表明,容器的使用将从2019年的21亿美元增加到2022年的超过43亿美元,复合年增长率为30%。
但是,容器并不完美。由于容器是动态的,因此也很难跟踪它们。此外,企业会生成大量容器,因为它们可能运行几分钟甚至几秒钟,然后消失。因此,企业将难以监视容器的功能,还需要应对它们造成的瓶颈问题。
另一个选择
无服务器计算是一种新兴的方法,旨在帮助开发人员摆脱传统计算机基础结构所需的繁重工作,例如分配存储和建立网络连接。尽管应用程序仍然需要服务器资源才能运行,但是开发人员不再需要使用无服务器计算来构建它们。相反,它们依赖于按需创建资源的高级API。
Chandrasekaran说:“实质上,无服务器功能抽象了运行时环境,使开发人员可以将更多的精力放在应用程序的设计和配置上,而不是与基础结构相关的配置和管理上。”
但是无服务器计算也有其自身的缺陷。借助无服务器计算,开发人员必须重新考虑如何构建应用程序,并且经常需要接受培训,因为无服务器与传统应用程序对立运行。
另外,必须启动系统服务才能运行该应用程序。因此,可能会出现延迟,这会导致实时应用程序出现问题。无服务器还将链接企业与单个供应商。例如,移植为AWS构建的无服务器应用程序并不容易,因此它可以在Microsoft Azure上运行。
总结
企业应如何在VM、容器和无服务器之间做出选择?根据Volk的说法,该答案取决于应用程序。例如,传统系统通常依赖于VM,而全新的云应用程序通常建立在容器和无服务器计算基础架构上。
企业不必做出最终选择。三种方法各有不同,但是企业可以结合使用它们。在很多情况下,可将容器放入VM。
Volk说:“开发人员可结合虚拟机带来的管理优势与容器所承诺的灵活性。”
同样,容器还可与无服务器应用程序配合工作。例如,企业可能正在构建不需要与旧版应用程序紧密连接的新应用程序。但是VM不经常与无服务器计算一起使用,因为它们的基础是如此不同。
尽管企业可以混合使用这三种方法,但是管理不同的系统仍具有挑战性,因为每种方法都有自己的一套工具和功能。VM管理服务非常强大,而容器和无服务器管理产品正处于发展初期。企业最终想要的是一种可以同时使用这三种服务的管理产品。
Chandrasekaran说:“虽然这些抽象(VM和容器、容器和无服务器)之间有一些融合,但是统一的控制平面仍是新生事物。”
企业希望打破应用程序和计算机基础结构之间的紧密联系,VM、容器和无服务器有所帮助,但仍然缺少应用开发和管理的解决方案。