Serverless与Web后端天生不合?

本文探讨了Serverless在Web后端应用中的局限性,包括极速扩容的实际问题、按需付费的困难、中大型Web后端逻辑的函数化挑战以及开发模式差异。同时,提出了函数内联、函数结构化、消除开发模式差异和新老结合的伸缩方式等应对策略,旨在解决Serverless在传统后端应用中的痛点。
摘要由CSDN通过智能技术生成

Serverless/Faas/BaaS 等概念在这几年的技术圈中是绝对的热点词汇之一,国内外众多云厂商也纷纷推出自家的 Serverless 和函数计算产品,微信也依托腾讯云推出了基于 Serverless 和 FaaS 理念的「小程序·云开发」,对应的新型岗位也不断涌现。

如今,我们确实看到很多中小型业务在拓展新领域、开发新功能时会优先考虑使用 Serverless 产品作为后端架构基建,但却鲜有见到面向 C 端的一线大厂中,有核心业务在 Web 后端层面改为采用 Serverless 作为开发模式,这又是何缘由呢?

什么是Serverless

作为业界 Serverless 和 FaaS 领域的先锋,Amazon 的 Serverless 产品页面对 Serverless 作出了这样的定义:

无服务器是一种用于描述服务、实践和策略的方式,使您能够构建更敏捷的应用程序,从而能够更快地创新和响应变化。凭借无服务器计算,容量预置和补丁等基础设施管理任务由 AWS 处理,以便您能够专注于编写为客户服务的代码。AWS Lambda 等无服务器服务具有自动扩展、内置高可用性以及按价值付费的计费模型。Lambda 是一种事件驱动的计算服务,使您能够运行代码来响应来自 200 多个本地集成的 AWS 和 SaaS 源的事件 — 所有这些都无需管理任何服务器。

根据 Amazon 的定义及各个厂商和业务对 Serverless 的实践,我们可以进一步将 Serverless 的特点归纳如下:

  • 解耦开发与运维:业务只需要关心自身的业务实现,不需要关心机器情况,也无需进行复杂的基础组件配置甚至环境搭建。
  • 弹性:借助于近几年容器技术的发展,可实
Serverless和FaaS(函数即服务)是相关但不完全相同的概念。下面是它们之间的区别和联系: 区别: 1. 范围:Serverless是一个更广泛的计算模型,它不仅包括FaaS,还包括其他形式的无服务器服务,如无服务器存储、无服务器数据库等。而FaaS是Serverless模型中的一种特定实现方式。 2. 粒度:FaaS更注重函数级别的计算,开发者将代码封装为独立的函数,并以事件驱动的方式触发执行。而Serverless可以包含更大粒度的服务,如整个应用程序或服务的无服务器实现。 3. 编程模型:FaaS通常采用函数式编程模型,将函数作为服务提供。而Serverless可以使用不同的编程模型,包括函数式编程、事件驱动编程等。 联系: 1. 底层技术:FaaS是Serverless模型的一种实现,它基于无服务器架构和弹性计算资源来提供函数级别的计算能力。在Serverless环境下,FaaS通常是最常见和典型的应用场景。 2. 开发模式:无论是Serverless还是FaaS,它们都旨在使开发者能够专注于业务逻辑而无需关心底层基础设施的管理。它们都提供了弹性扩展、自动管理和付费即用的特性。 3. 优势:Serverless和FaaS都具有快速启动、按需分配资源、高度可扩展和降低运维成本的优势。它们都能够提供更高的开发效率和更好的资源利用率。 总的来说,Serverless是一个更广泛的概念,而FaaS是Serverless模型中最常见的实现方式之一。它们都具有类似的优势和特点,但FaaS更专注于函数级别的计算,而Serverless可以包含更大粒度的服务。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值