FaaS 简介 — 一种云计算服务,使云应用程序开发人员可以更轻松地运行和管理微服务应用程序。
FaaS(功能即服务)是一种云计算服务,它允许您执行代码以响应事件,而无需通常与构建和启动微服务应用程序相关的复杂基础设施。
在 Internet 上托管软件应用程序通常需要配置和管理虚拟或物理服务器以及管理操作系统和 Web 服务器托管进程。使用 FaaS,物理硬件、虚拟机操作系统和 Web 服务器软件管理都由您的云服务提供商自动处理。这使您可以专注于应用程序代码中的单个功能。
无服务器和功能即服务 (FaaS) 通常相互混淆,但事实是 FaaS 实际上是无服务器的一个子集。无服务器专注于任何服务类别,无论是计算、存储、数据库、消息传递、api 网关等,其中服务器的配置、管理和计费对最终用户是不可见的。另一方面,FaaS 虽然可能是无服务器架构中最核心的技术,但专注于事件驱动的计算范式,其中应用程序代码或容器仅在响应事件或请求时运行。
如果您希望以经济高效的方式将应用程序迁移到云,那么 FaaS 是一种宝贵的工具。以下是您将享受到的一些好处:
您可以遵循几个最佳实践来使 FaaS 的使用更容易部署和更有效:
因为它可以轻松隔离和扩展事务,所以 FaaS 非常适合大容量和令人尴尬的并行工作负载。它还可以用于创建后端系统或用于数据处理、格式转换、编码或数据聚合等活动。
FaaS 还是 Web 应用程序、后端、数据/流处理或为物联网设备创建在线聊天机器人或后端的好工具。FaaS 可以帮助您管理和使用第三方服务。例如,如果您正在考虑开发 Android 应用程序,则可以采用 FaaS 方法来控制成本。因为仅当您的应用程序连接到云以执行批处理等特定功能时,您才需要付费,所以成本可能比使用传统方法的成本低得多。
FaaS 还可以显着提高计算性能。例如,两名学生最近与 IBM 工程师合作,探索如何利用 IBM Cloud Functions for Monte Carlo 模拟(用于估计某些难以预测事件的未来结果的数学方法)来估计股票价格。Monte Carlo 模拟被认为是一种重要的高性能计算工作负载。Monte Carlo 和IBM Cloud Functions的组合使团队能够大规模运行计算,并让他们专注于业务逻辑。使用 FaaS,该团队在大约 90 秒内完成了完整的 Monte Carlo 模拟,同时进行了 1,000 次调用。相比之下,在具有四个 CPU 内核的笔记本电脑上运行相同的流程需要 247 分钟,CPU 利用率几乎为 100%。
FaaS、PaaS(平台即服务)、容器和虚拟机 (VM)在无服务器生态系统中都发挥着关键作用。由于 FaaS 是无服务器堆栈中最核心和最具定义性的元素,因此值得探讨 FaaS 与当今市场上其他常见计算模型的不同之处在于关键属性: