了解VM、容器与无服务器之间的差异
传统上,应用程序紧密链接到执行其代码的服务器和操作系统。而多年来,供应商们一直在努力减少这些依赖性并简化部署:VM、容器和无服务器计算就是他们为减少这些紧密联系所采取的不同方法。它们不仅提供更高程度的可移植性,但也为IT管理员带来新的管理挑战。因此,在VM与容器还是无服务器之间做出选择,并非易事。
企业花费大量时间、金钱和精力来分配和管理他们的系统。
企业管理协会的研究总监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、容器和无服务器有所帮助,但仍然缺少应用开发和管理的解决方案。
etsme是采用云计算原生技术打造的个人私有云/小型私有云产品,即刻入手etsme,探索更多贴心功能,掌控自己的数字世界。