很多企业不使用无服务器计算的5个原因
尽管无服务器计算很受欢迎,但它也有缺点,并且并不总是适合每个工作负载的每个部分的好的方法。
无服务器计算有很多值得喜爱的地方。它是可扩展的。它具有成本效益。它最大限度地减少了工程师设置和部署软件所需的工作量。
但无服务器也有一些明显的缺点-在讨论无服务器可能提供的所有好处时,这些缺点很容易被忽视。
考虑到这一现实,让我们冷静地看看无服务器计算并不总是部署软件的正确方式的原因。正如您将在下面了解到的,尽管无服务器功能肯定有其优点,但了解其局限性对于就无服务器是否实际上是正确的方法做出明智的决策至关重要。
什么是无服务器计算?
无服务器计算是一种应用程序部署方法,工程师可以按需运行应用程序,而无需自行配置或管理主机服务器。之所以称为“无服务器”,是因为从用户的角度来看,不需要与服务器打交道;相反,服务器由无服务器计算提供商配置和管理。
自2014年亚马逊发布Lambda无服务器计算服务以来,越来越多的企业转向无服务器来满足其应用程序部署需求。如今,所有主要云提供商都提供无服务器计算解决方案,并且还可以在本地服务器或私有数据中心中配置无服务器环境。
截至2025年,无服务器计算采用率高达70%,至少对于使用AWS的组织而言是这样。(其他云上的无服务器使用率较低。)
无服务器计算的广泛采用反映了无服务器架构提供以下优势的能力:
简化工作负载部署:工程师只需上传他们想要运行的代码并在应该运行时进行配置,而无需管理主机服务器环境。
可扩展性:在大多数情况下,一次可以部署的无服务器功能的数量没有实际限制,这意味着无服务器可以根据工作负载需求轻松扩展和缩小。
成本效益:通常,您只需在无服务器功能实际运行时付费。与在虚拟机上运行工作负载并持续付费来操作它们(即使工作负载并不持续活跃)相比,这使得无服务器成为一种经济高效的模型。
无服务器计算的缺点
在某些情况下,无服务器计算所提供的好处会被无服务器方法的缺点所抵消。
成本较高
如上所述,无服务器计算具有成本效益,因为您只需为工作负载处于活动状态的时间付费。然而,无服务器的每分钟成本几乎总是高于在虚拟机上运行同等工作负载的成本。
因此,无服务器可能会导致比其他类型的云服务更高的总成本,特别是对于大多数时间处于活动状态的工作负载而言。
锁定风险
每个无服务器计算平台都以不同的方式工作。这使得将工作负载从一个无服务器环境(例如AWSLambda)迁移到另一个无服务器环境(例如AzureFunctions)变得具有挑战性。
相比之下,其他类型的云服务(例如AWSEC2和Azure虚拟机)之间的差异不太明显,从而导致您在使用这些服务时的锁定程度较低。
启动时间慢
尽管无服务器工作负载理论上是按需运行的,但实际上,无服务器代码的触发时间和实际运行时间之间通常存在延迟。在“冷启动”的情况下尤其如此,“冷启动”是在无服务器代码最近没有运行时发生的。有时,启动时间的延迟可能是一秒或更长时间。
诚然,对于许多工作负载(例如为网页生成内容)来说,一秒钟的延迟可能并不是什么大问题。但是,如果您需要实时性能(例如,您的工作负载正在处理流支付数据),无服务器功能可能无法正常工作。传统的托管模型会为您提供更好的服务,在这种模型中,您的工作负载可以持续且即时地可用。
控制有限
无需管理无服务器工作负载的服务器环境的代价是您几乎无法控制这些环境的配置方式。除了能够配置触发无服务器函数执行的条件之外,您还必须适应无服务器提供商选择支持的操作系统和运行时设置。
管理费用
在许多情况下,您不会使用无服务器部署完整的工作负载。您只需部署受益于无服务器架构的特定功能或微服务,同时在虚拟机上托管工作负载的其他部分。
这种方法使您能够更有效地平衡无服务器的成本和收益。但这也意味着您最终必须为相同的工作负载管理和编排多种类型的云服务-因此您最终会面临更大的管理复杂性。
需要明确的是,我并不是在这里告诉您永远不应该使用无服务器计算服务。但我告诉您要对何时以及如何利用无服务器保持战略性。尽管过去几年围绕无服务器进行了大肆宣传,但无服务器计算可能存在真正的缺点,而且它并不是适合每个工作负载的每个部分的正确方法。
上一篇:英特尔第五代 Xeon CPU 来了:详细信息和行业反应
AWS 虚拟机