无服务器架构用例:企业如何运用该技术赋能开发者创新

初级员工在电脑上学习

无服务器架构或无服务器架构计算是一种软件开发方法,它使开发人员能够构建和运行应用程序代码,而无需担心维护任务,如安装软件更新、安全、监控等。随着云计算的兴起,无服务器架构已成为希望让开发人员有更多时间编写和部署代码的组织的热门工具。

尽管名称如此,但无服务器架构框架并不意味着没有服务器的计算。在无服务器架构中,云服务提供商 (CSP) 负责处理服务器管理、后端基础设施、服务器配置、创建备份等任务。无服务器架构技术的另一个优势是,它们允许云供应商按需配置资源。采用无服务器架构后,计费仅在代码执行开始时开始,并在代码执行结束时停止。

无服务器架构的企业效益

随着云计算的发展,个人和公司需要以与过去不同的方式使用和存储数据。为了实现这一目标,企业比以往任何时候都更加依赖云函数,并减少对本地部署的依赖。如今,所有领先的云服务提供商,包括 Amazon Web Services (AWS Lambda)、Microsoft Azure (Azure Functions) 和 IBM (IBM Cloud Code Engine) 在内,都提供无服务器架构平台。

与其他关键基础架构技术,如基础架构即服务 (IaaS)、平台即服务 (PaaS) 和函数即服务 (FaaS),无服务器架构可在多个重要方面为组织提供帮助:

  • 更专注于业务逻辑:借助无服务器函数,开发人员可以更专注于编写代码,而非管理底层基础设施。
  • 减少堆栈实现工作:无服务器架构环境将技术栈实现(即编写和部署代码时在后台进行的操作)外包给第三方提供商。
  • 降低延迟: 在无服务器架构环境中,代码运行位置更靠近最终用户,从而减少了其延迟(即数据在网络中从一点传输到另一点所需的时间)。
  • 缩短 DevOps 周期: 无服务器架构通过减少开发人员定义部署代码所需基础设施的时间,简化了 DevOps

无服务器架构是如何运作的?

无服务器架构代表了编码环境架构发展的最新阶段,其演进是为了让程序员能更专注于他们最擅长的事情——编写和部署代码。与无服务器架构开发相关的另外三种架构是裸机服务器、虚拟机 (VM) 和容器。下面进一步介绍每个步骤。

  • 裸机服务器:裸机架构要求开发人员手动配置和管理每台服务器(以及他们部署代码的环境)。在裸机环境中,开发人员必须安装操作系统 (OS) 并管理补丁,以及其他例行且通常耗时的任务。
  • 虚拟机:虚拟机在资源优化方面优于裸机服务器,并且在处理空闲时间方面也表现更好。但对于虚拟机,开发人员仍然需要负责设置自己的环境、安装操作系统和打补丁。
  • 容器: 容器因 Docker 而得到普及,它支持打包部署和应用程序代码,以便其可在任何底层基础设施上运行。从部署角度来看,容器的架构比裸机或虚拟机要简单得多,但在扩展 Web 应用程序方面并不理想。

无服务器架构和函数即服务 (FaaS)

在无服务器架构中,函数即服务 (FaaS) ——一种允许客户响应事件运行代码的服务——对于将开发人员从管理底层基础设施中解放出来至关重要。借助 FaaS 和无服务器计算,开发人员可以完全专注于应用开发。

正如我们在裸机、虚拟机和容器中看到的那样,托管应用程序通常需要配置和管理服务器,以及安装和管理操作系统。而通过 FaaS,物理硬件、虚拟机操作系统和 Web 服务器软件管理全部由云服务提供商处理。FaaS 允许开发人员无缝部署无服务器应用程序和工作流,因此 FaaS 和无服务器这两个术语经常互换使用。

无服务器架构和平台即服务 (PaaS)

平台即服务 (PaaS)是一种云计算模型,它为客户提供完整的云平台,与在本地部署相比,这种平台更具成本效益且复杂性更低。虽然无服务器和 PaaS 架构都对开发人员隐藏后端,但相似之处仅此而已。PaaS 环境提供对部署环境的更多控制,但也需要更多管理工作。PaaS 中的应用程序需要手动配置才能扩展,并且启动所需时间可能比无服务器更长。

无服务器架构和基础架构即服务 (IaaS)

基础设施即服务 (IaaS)是一种通过互联网按需付费方式提供计算、服务器和虚拟机等资源的云服务。IaaS 让用户能够快速扩展,减少了因购买、设置和维护本地基础设施而产生的高额前期资本支出。在 IaaS 模型中,用户预先购买容量。在无服务器模型中,事件触发应用程序代码运行。本质上,IaaS 向用户预收资源费用,而无服务器仅对代码实际执行的时间收费。

无服务器架构的企业用例

随着云计算的持续扩展,以及企业寻求利用该技术创造新业务价值的新途径,无服务器架构用例正在迅速增长。

人工智能 (AI) 和机器学习 (ML)

在过去的几年里, 人工智能 (AI) 机器学习 (ML) 应用程序的业务用例出现了巨大增长,尤其是在生成式 AI 领域。具体来说,无服务器架构有助于实现一种称为事件驱动型AI的技术,即借助持续不断的信息流为实时决策能力提供支持。此外,通过让开发人员专注于训练而非底层基础设施,无服务器架构有助于解决构建新 AI 和 ML 解决方案时面临的扩展性挑战。

微服务

微服务是无服务器架构最受欢迎的用例之一。微服务模型是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。无服务器计算在处理小段代码、自动扩展、快速资源供应及其按需定价模式方面的能力,使其成为微服务架构的理想选择。

混合云

混合云结合了公有云私有云和本地基础设施,以创建单一、灵活且成本最优的 IT 基础设施。无服务器架构通过提供所需的敏捷性、灵活性和可扩展性,支持在不同云环境(包括公有云、私有云和边缘)间容纳波动的工作负载,从而助力企业采纳混合云策略。

大数据分析

无服务器架构大幅降低编写和部署大数据应用程序代码的成本和复杂性。无服务器架构环境允许开发人员专注于代码和业务逻辑,而非管理基础设施的所有常规任务。此外,无服务器的永不停机功能意味着数据管道可以被设计成能够响应数据的实时变化并相应地调整应用程序逻辑。如今,无服务器架构可帮助开发人员构建可扩展的大数据管道,而无需管理底层基础设施。

物联网 (IoT)

无服务器架构的事件驱动能力、自动化特性和高可扩展性,使其非常适用于物联网应用程序所需的数据处理。自动化无服务器函数是无状态的,旨在处理单个事件。此外,无服务器架构灵活的计算能力使得构建物联网应用的开发人员在处理广泛分布的节点时,能够适应各种连接和数据处理需求。随着物联网设备数量的增长,无服务器技术独具优势,能够协助开发人员为事件驱动型数据分析(这对物联网应用至关重要)提供坚实的基础。

API 网关

API 网关是一种软件,它接收应用程序用户的请求,将其路由到一个或多个后端服务,收集适当的数据,并将其以单个组合包的形式交付给用户。无服务器模型可充当 Web 应用程序操作的代理,并提供 HTTP 方法路由、客户端 ID 和密钥、速率限制、CORS、查看 API 使用情况、查看响应日志以及 API 共享策略。

在无服务器模型中,API 网关可用于构建REST API服务并触发与每个事件关联的代码。无服务器环境中的事件和函数可以转换为 HTTP 端点。这些操作(称为“Web 操作”)可以通过 API 网关收集到一个功能齐全的 API 中,从而增加额外的安全层和定制支持。此外,API 网关使开发人员能够访问各种量身定制的身份验证集成,这有助于缩短产品上市时间,同时提高开发人员的工作效率。

聊天机器人

诸如 IBM watsonx Assistant 和 Microsoft ChatGPT 之类的聊天机器人非常适合无服务器环境,这是因为无服务器采用按需付费的定价模式,用户无需为未使用的资源付费。无服务器架构帮助各种规模的组织使用聊天机器人完成各种任务,例如提高客户参与度和自动化以前需要人工输入的服务。

易并行任务

无服务器运行时环境非常适合“易并行任务”,即那些可以轻松分解为更小的任务并并行执行的计算任务。这是因为在无服务器架构中,每个可并行化的任务都可能导致调用一个操作。在无服务器环境中,易并行工作负载可以被拆分成许多子任务,所有这些子任务都相互独立运行。

无服务器运行时上的并行任务示例包括蒙特卡洛模拟批处理、视频转码、处理对象存储上的对象、模型评分、网络爬取和业务数据流处理。

了解更多

随着各行各业、各种规模的组织寻求利用云计算来帮助实现其数字化转型目标,无服务器计算正发挥着关键作用。通过将开发人员从安装和更新操作系统、供应服务器和扩展基础设施等繁琐任务中解放出来,无服务器环境帮助开发人员专注于业务逻辑以及编写和部署代码。

 

作者

Mesh Flinders

Staff Writer

IBM Think

坐在长椅上使用智能手机的一名男士的俯视图

不容错过的洞察分析。订阅我们的时事通讯。

借助有关 AI、量子计算、云技术、安全等方面的专家新闻进行宣传。

立即订阅