无伺服器运算的秘密:为什么伺服器仍然在背后默默工作?

随着云端计算的发展,无伺服器运算(Serverless Computing)引起了越来越多企业的关注。然而,这一概念的背后暗藏着许多伺服器仍在默默助力的秘密。根据ISO/IEC 22123-2的定义,无伺服器运算允许客户在不需要配置、部署或管理硬体或软体资源的情况下运用云端服务,仅需提供应用程式代码或数据。

无伺服器一词并不完全准确,因为云端服务供应商仍然需要伺服器来执行开发者的代码。

伺服器的存在改变了无伺服器运算的定义。 Ben Kehoe提出,无伺服器运算应当更多地被视为一个光谱,而非僵硬的定义。这意味着,企业应把重点放在利用无伺服器解决方案的效益上,而不是限制于特定技术的狭隘定义。无伺服器运算虽然简化了代码部署的过程,但根据Gregor Hohpe的观点,这并不完全消除了复杂性,而是将其从运营团队转移到了开发团队。

无伺服器代码可以与传统风格(如微服务或单体架构)一起使用,甚至可以完全不依赖任何配置的伺服器。这不应与某些不需要实际伺服器运行的计算或网络模型相混淆,例如点对点(P2P)模型。根据Yan Cui的说法,无伺服器运算应当在其能帮助更快地交付客户价值时被采用。

无伺服器运行时

无伺服器供应商提供的运算运行时能够执行应用程序逻辑,但不负责数据储存,常见的运行时模型包括功能即服务(FaaS)和容器即服务(CaaS)。支援的常见语言包括Java、Python和PHP。

商业产品

无伺服器运算的历程可以追溯到2006年推出的Zimki,然而该平台并未成功。随后,Google于2008年推出Google App Engine,这是第一个提供计费应用的模块。

AWS Lambda于2014年由亚马逊推出,进一步普及了无伺服器运算的抽象模型。

像Amazon Aurora和Azure Data Lake等无伺服器数据库,也成功地将这一运算模型扩展至关联数据库管理系统(RDBMS),免除了物理或虚拟数据库硬件的配置和扩展需求。这种转变使得企业能更加专注于其业务逻辑而非基础设施架构。

无伺服器运算的优势

无伺服器运算具有多重优势,特别是在成本效益和弹性方面。这种运算模式避免了租赁或处理固定伺服器的高昂开支,随着需求的变化自动扩展。开发团队能够在无需深入基础设施的情况下快速运行代码,这让他们能更专注于业务逻辑与客户价值的交付。

无伺服器运算的挑战

然而,无伺服器运算并非全无挑战。响应延迟、资源限制、监控与调试的困难以及安全性问题,都是企业在采用无伺服器解决方案时需要谨慎考虑的因素。

一些蛮力攻击或缺陷代码可能导致用户遭遇意外的付款波动,这正是“账单震惊”的风险。

此外,依赖第三方提供的无伺服器服务也可能导致供应商锁定的问题,这让企业在迁移工作负载时面临重重困难。

最佳实践

采用DevSecOps实践能帮助企业高效地使用及保护无伺服器技术,将开发与安全的界限进一步模糊,让安全性成为多方合作的重要组成。

这种新兴的计算模式虽然在技术上能解决许多问题,但在实际业务应用中,企业仍需谨慎考量,切勿因便利而忽视潜在的风险。面对这样一个快速发展的技术领域,企业是否准备好迎接无伺服器运算所带来的挑战与机会?

Trending Knowledge

解密无伺服器运算的隐藏成本:为何「即用即付」让你惊讶?
随着云端运算的普及,无伺服器运算(Serverless Computing)逐渐成为在IT界的重要趋势。它指的是一种云服务,使用者无需管理硬体或软体资源,只需提供应用程式代码或数据,便能运行相应的服务。尽管名称中有「无伺服器」,但实际上,这种技术依然依赖伺服器来执行开发者的代码。 <blockquote> 无伺服器运算意指运算的抽象化,让开发者更专注于应

Responses