什么是功能即服务(FaaS)?

复制 URL

“功能即服务”(或称为 FaaS)是一种云计算服务,它允许开发人员以功能的形式来构建、计算、运行和管理这些应用包,无需维护自己的基础架构。

FaaS 是一种在无状态容器中运行的事件驱动型执行模型,这些功能将利用 FaaS 提供商的服务来管理服务器端逻辑和状态。

FaaS 解决方案可通过主流公共云提供,并可在本地置备,这样就为企业 IT 应用开发新增了一些重要的功能。获取云原生策略指南,为借助 FaaS 实施无服务器方案做好准备。

以下是 FaaS 的一些常见示例:

  • IBM 云功能
  • Amazon 的 AWS Lambda
  • Google 云功能
  • Microsoft Azure 功能(开源)
  • OpenFaaS(开源)
云原生遇到混合云:策略指南

FaaS 是一种实现无服务器计算的方法,藉此开发人员可以编写业务逻辑,然后在完全由平台管理的 Linux 容器中执行这些业务逻辑。

虽然通常只是一个使用云计算服务的云计算平台,但该模型还在扩展中,包含本地部署和混合部署。

无服务器会对基础架构问题进行抽象处理,例如管理或置备服务器及开发人员的资源分配,并将其提供给平台(如红帽 OpenShift),这样开发人员就可以专注于编写代码和实现业务价值。

功能是操作系统上的一个运行业务逻辑的软件。应用可以由许多功能组成。

使用 FaaS 模型是通过无服务器架构来构建应用的方法之一,但随着无服务器模式的日渐普及,开发人员正在寻找支持构建无服务器微服务和无状态容器的解决方案。

阅读云原生应用之路

红帽资源

FaaS 为开发人员提供了一种运行 Web 应用的抽象方式,可以在无需管理服务器的情况下响应事件。例如,上载文件可触发自定义代码,从而将文件转码为各种格式。

FaaS 基础架构通常是由服务提供商按需计量的,主要通过事件驱动型执行模型进行,因此它会随时待命,但不需要任何服务器进程在后台持续运行(这一点与平台即服务 (PaaS)不同)。 

现代 PaaS 解决方案提供 无服务器功能,作为常用工作流的一部分,供开发人员用于部署应用,从而模糊了 PaaS 和 FaaS 之间的界限。 

实际上,整个应用将由以下解决方案混合而成:功能、微服务和长期运行的服务

 提供程序通过 应用编程接口(API) 提供您的功能,并管理资源分配。由于功能是事件驱动而不是资源驱动的,因此它们很容易进行扩展,这种扩展允许提高效率和价值。

为了实现其中一些优势,存在架构限制,例如功能执行的时间限制,因此功能 需要能够快速启动和运行。 

功能会在毫秒内启动并处理各个请求。如果您的功能有多个同步请求,系统将创建尽可能多的功能副本来满足需求。

当需求下降时,应用会自动减少功能副本的数量。动态扩展是 FaaS 的一项优势,而且颇具成本效益,因为提供商仅对使用的资源收费,而不对空闲时间收费。

在本地运行时,这种动态特性还可以提高平台密度,从而允许运行更多工作负载并优化资源消耗和功能。

需要横向扩展的事件驱动型服务可作为功能和 RESTful 应用进行工作。 

FaaS 非常适合大量事务和偶尔发生的工作 负载,例如生成报告、图像处理或任何计划的任务。常见的 FaaS 用例包括数据处理、IoT 服务、移动和 Web 应用。

您可以使用 FaaS 构建完全无服务器的应用,或者构建一个由部分无服务器和部分传统微服务组件组成的应用,以利用更新的技术和容器 编排 系统,如 Kubernetes

  • 提高了 开发人员的 工作效率,缩短了开发时间
  • 不负责服务器管理
  • 易于扩展,且横向扩展由平台管理
  • 仅在必要和需要时消耗资源或支付费用
  • 几乎可以用任何编程语言来编写功能

最初,FaaS 和无服务器多多少少具有一定的相似性,但现在,无服务器的含意已扩展至更多的体系架构模式和实践,除了以 FaaS 编码的自定义业务逻辑外,它们还大量使用了通用服务。

微服务甚至传统应用都可以使用无服务器,只要它们可以容器化并且符合动态扩展和状态管理的要求即可。 

“无服务器”一词也用于表示托管服务(例如数据库和消息传递系统)- 由于系统由云提供商或第三方公司管理,因此无需开发人员或管理员来操作系统。  

FaaS 与主要通过事件驱动型体系架构连接的通用后端服务(如数据库、消息传递和身份验证)相结合,可为无服务器开发人员带来最大的收益。

继续阅读:无服务器

中心

红帽官方博客

获取有关我们的客户、合作伙伴和社区生态系统的最新信息。

所有红帽产品试用

我们的免费试用可让您亲身体验红帽的产品功能,为获得认证做好准备,或评估某个产品是否适合您的企业。

扩展阅读

什么是云服务提供商?| 云计算服务商介绍

云服务提供商是建立公共云、管理私有云或提供按需云计算组件(也被称为云计算服务)的公司。云服务可以减少业务流程成本,寻求云服务提供商的支持是获取计算服务的一种有效途径。

一文看懂:基础架构即服务(IaaS)是什么?

基础架构即服务(IaaS)也称为云基础架构服务,是一种经由互联网向最终用户提供 IT 基础架构的云计算形式。让用户享受到本地计算资源的所有优势,而又不会有额外的开销。

IaaS、PaaS 和SaaS 之间的区别

“即服务(aaS)”一词通常是指由第三方提供的云计算服务。

云服务 相关资源