在互联网上托管软件应用程序通常需要配置和管理虚拟服务器或物理服务器,并管理操作系统和网络服务器托管流程。通过 FaaS,物理硬件、虚拟机操作系统和 Web 服务器软件管理都由云服务提供商自动处理。此特性让开发人员可以只关注应用程序代码中的各个功能。
无服务器和功能即服务 (FaaS) 经常被混为一谈,但事实是 FaaS 实际上是无服务器的子集。
无服务器专注于任何服务类别,无论是计算、存储、数据库、消息传递还是 API 网关,这些服务器的配置、管理和计费对用户不可见。
然而,FaaS 可能是无服务器架构中最关键的技术之一,它专注于事件驱动的计算模式,即应用程序代码或容器仅在响应事件或请求时运行。
FaaS 是高效、经济地将应用程序迁移到云的非常有价值的工具。以下列出了更多优势:
您可以遵循多种最佳实践,让 FaaS 的使用更加容易部署和更有效:
由于 FaaS 能够轻松隔离和扩展事务,因此非常适合大容量和高度并行的工作负载。它还可用于创建后端系统或用于数据处理、格式转换、编码或数据聚合等活动。
FaaS 也是适用于 Web 应用程序、后端、数据或流处理以及创建在线聊天机器人或物联网设备后端的好用工具。FaaS 可以帮助企业管理和使用第三方服务。例如,如果企业正在考虑开发 Android 应用程序,则可以采用 FaaS 方法来控制成本。由于仅当应用程序连接到云以执行批处理等特定功能时才需要付费,因此,成本可能比使用传统方法低得多。
FaaS 还能显著提高计算性能。例如,两名学生最近与 IBM 工程师合作,探讨如何利用 IBM Cloud Functions 进行蒙特卡洛模拟(一种数学方法,用于估计某些难以预测事件的未来结果),以估计股票价格。蒙特卡洛模拟被认为是重要的高性能计算工作负载。
蒙特卡洛模拟和 IBM Cloud Functions 的结合使团队能够运行大规模计算,并使他们能够专注于业务逻辑。使用 FaaS,该团队在大约 90 秒内完成了整个蒙特卡洛模拟,并有 1,000 个并行调用。相比之下,在具有四个 CPU 核心的笔记本电脑上运行相同的流程需要 247 分钟,并且 CPU 利用率几乎为 100%。
FaaS、PaaS(平台即服务)、容器和虚拟机 (VM) 在无服务器生态系统中都发挥着至关重要的作用。由于 FaaS 是无服务器堆栈中最核心、最具定义性的元素,因此有必要探讨 FaaS 与当今市场上其他常见计算模型在关键属性方面的不同之处:
Kubernetes 和 Knative 是 FaaS 背后的“管道”的一种实施方式。Kubernetes 是一款开源的容器编排工具,对于云应用程序的管理至关重要。利用 Knative,可在 Kubernetes 集群中以无服务器方式运行。
Knative 和 Kubernetes 的结合意味着您可以利用 Kubernetes 功能(例如监控、安全性、日志记录和身份验证),并将其与 Knative 的优势(例如自动化容器构建、完全可移植性和跨混合环境工作)相结合。
该技术的创建者认为,开发人员在构建云应用程序时不必在无服务器和容器之间进行选择。目标是通过无服务器的强大扩展和按需访问功能来增强容器的可用性和一致性。
IBM Cloud Virtual Server for VPC 是基于 IBM Cloud Virtual Private Cloud 构建的 Intel x86、IBM Z 和 IBM LinuxONE 虚拟服务器系列。
IBM Cloud 专用服务器提供可扩展的 Web 托管解决方案,具有无限的免费回程流量和广泛的自定义选项。
利用 IBM 的云咨询服务发掘新功能并提升业务敏捷性。了解如何通过混合云战略和专家合作共同制定解决方案、加快数字化转型并优化性能。