无服务器或无服务器计算是一种软件开发方法,它使开发人员能够构建和运行应用程序代码,而无需担心安装软件更新、安全、监控等维护任务。随着云计算的兴起,无服务器已成为希望让开发人员有更多时间编写和部署代码的组织的热门工具。
尽管无服务器框架的名称如此,但它并不意味着无需服务器即可进行计算。在无服务器架构中,云服务提供商 (CSP) 负责处理服务器管理、后端基础设施、服务器配置、创建备份等任务。无服务器技术的另一个优势是,它们允许云提供商以按需模式配置资源。使用无服务器时,计费仅在代码执行开始时开始,并在代码执行结束时结束。
无服务器的企业优势
随着云计算的发展,个人和公司需要以不同于过去的方式使用和存储数据。为了实现这一目标,企业比以往任何时候都更加依赖云功能,并减少对本地基础设施的依赖。如今,所有领先的 CSP,包括 Amazon Web Services (AWS Lambda)、Microsoft Azure (Azure Functions) 和 IBM (IBM Cloud Code Engine) 都提供无服务器平台。
与基础设施即服务 (IaaS)、平台即服务 (PaaS) 和功能即服务 (FaaS) 等其他关键基础设施技术一起,无服务器可以通过以下几个重要方式帮助组织:
- 更加关注业务逻辑: 借助无服务器功能,开发人员可以将更多精力放在编写代码上,而不需要过多关注管理底层基础设施。
- 减少堆栈实现:无服务器环境将堆栈实现(当您编写和部署代码给第三方提供商时在后台进行的操作)外包出去。
- 减少延迟: 在无服务器环境中, 代码运行更接近最终用户,从而减少了其延迟,即数据从网络上的一个点传输到另一个点所需的时间。
- 更短的 DevOps 周期: 无服务器允许开发人员减少定义部署代码所需基础设施的时间,从而简化了 DevOps。
无服务器如何工作?
无服务器是一系列编码环境架构中的最新架构,这些架构不断发展,使程序员能够更加专注于他们最擅长的事情 – 编写和部署代码。与无服务器开发相关的其他三种架构是裸机服务器、虚拟机 (VM) 和容器。下面详细介绍一下这三种架构。
- 裸机服务器: 裸机架构要求开发人员手动配置和管理每台服务器(以及部署代码的环境)。在裸机环境中,开发人员必须安装操作系统 (OS) 并管理修补程序,以及其他常规且通常耗时的任务。
- 虚拟机: 虚拟机 (VM) 在资源优化方面比裸机服务器更胜一筹,在处理空闲时间方面也更胜一筹。但使用虚拟机时,开发人员仍需自行设置环境、安装操作系统并打补丁。
- 容器: 容器由 Docker 推广,允许以可以在任何底层基础架构上运行的方式打包部署和应用程序代码。在部署方面,容器的架构比裸机或虚拟机简单得多,但在扩展 Web 应用程序方面并不理想。
无服务器和功能即服务 (FaaS)
在无服务器环境中,函数即服务 (FaaS)(允许客户根据事件运行代码的服务)对于将开发人员从管理底层基础设施中解放出来至关重要。借助 FaaS 和无服务器计算,开发人员可以专注于应用程序开发。
正如我们在裸机、虚拟机和容器中看到的那样,托管应用程序通常需要配置和管理服务器,以及安装和管理操作系统。使用 FaaS,物理硬件、虚拟机操作系统和 Web 服务器软件管理均由 CSP 处理。FaaS 允许开发人员无缝部署无服务器应用程序和工作流,术语 FaaS 和无服务器通常互换使用。
无服务器和平台即服务 (PaaS)
平台即服务 (PaaS) 是一种云计算模式,可为客户提供完整的云平台,与在本地构建和维护平台相比,它更具成本效益且更简单。虽然无服务器架构和 PaaS 架构都使后端对开发人员不可见,但相似之处仅此而已。PaaS 环境提供了对部署环境的更多控制,但也需要更多管理。PaaS 中的应用程序必须手动配置才能扩展,并且启动时间可能比无服务器更长。
无服务器和基础设施即服务 (IaaS)
基础设施即服务 (IaaS) 是一种云服务,它通过互联网以即用即付的方式提供计算、服务器和虚拟机等资源。IaaS 让用户可以快速扩展,从而减少购买、设置和维护本地基础设施所带来的高额前期资本支出。在 IaaS 模型中,用户需要预先购买容量。在无服务器模型中,事件会触发应用代码运行。本质上,IaaS 会预先向用户收取资源费用,而无服务器模型仅向用户收取代码实际执行时间的费用。
无服务器的企业用例
随着云计算的不断扩展,以及企业寻找新方法利用该技术创造新的商业价值,无服务器用例正在迅速增长。
人工智能 (AI) 和机器学习 (ML)
过去几年,人工智能 (AI) 和机器学习 (ML) 应用的商业用例大幅增长,尤其是生成式人工智能。具体来说,无服务器有助于实现所谓的事件驱动型人工智能,即持续不断的智能流为实时决策功能提供信息。此外,在构建新的人工智能和机器学习解决方案时,无服务器可以帮助解决可扩展性难题,让开发人员专注于训练而不是底层基础设施。
微服务
微服务架构是无服务器最流行的用例之一。微服务模型是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。无服务器计算围绕小段代码、自动扩展、快速配置及其按需定价模型的功能使其成为微服务架构的理想选择。
混合云
混合云将公有云、私有云和本地基础架构相结合,以创建单一、灵活、成本最优的 IT 基础架构。无服务器通过提供适应不同云环境(包括公有云、私有云和边缘云)中不断变化的工作负载所需的敏捷性、灵活性和可扩展性,帮助支持采用混合云战略的企业。
大数据分析
无服务器极大地降低了编写和部署大数据应用程序代码的成本和复杂性。无服务器环境允许开发人员专注于他们的代码和业务逻辑,而不是管理基础设施的所有日常任务。此外,无服务器的始终在线功能意味着数据管道可以设计为对数据的实时变化做出反应并相应地更改应用程序逻辑。如今,无服务器可帮助开发人员构建可扩展的大数据管道,而无需管理底层基础设施。
物联网 (IoT)
无服务器的事件驱动功能、自动化和高可扩展性使其成为物联网 (IoT) 应用程序所需的数据处理的理想选择。自动化无服务器功能是无状态的,旨在处理单个事件。此外,无服务器的灵活计算能力使开发人员在构建物联网应用程序时能够适应广泛的连接和数据处理需求,即使他们正在处理广泛分散的节点。随着物联网设备数量的增长,无服务器具有独特的优势,可以帮助开发人员为物联网应用程序至关重要的事件驱动数据分析提供坚实的基础。
API 网关
API 网关是一种软件,它接收应用程序用户的请求,将其路由到一个或多个后端服务,收集适当的数据并将其以单个组合包的形式传递给用户。无服务器模型用作 Web 应用程序操作的代理,并提供 HTTP 方法路由、客户端 ID 和机密、速率限制、CORS、查看 API 使用情况、查看响应日志和 API 共享策略。
在无服务器模型中,API 网关可用于构建 REST API 服务并触发与每个事件相关的代码。无服务器环境中的事件和功能可以转换为 HTTP 端点。这些操作(称为“Web 操作”)可以通过 API 网关收集到功能齐全的 API 中,从而增加额外的安全性和自定义支持。此外,API 网关使开发人员能够访问各种定制的身份验证集成,这有助于缩短上市时间,同时提高开发人员的工作效率。
聊天机器人
IBM watsonx Assistant 和 Microsoft 的 ChatGPT 等聊天机器人非常适合无服务器环境,因为无服务器采用按需付费定价模式,用户无需为未使用的资源付费。无服务器可帮助各种规模的组织使用聊天机器人执行各种任务,例如提高客户参与度和自动化以前需要人工输入的服务。
令人尴尬的并行任务
无服务器运行时非常适合高度并行任务,这些计算任务可以轻松分解为较小的任务并并行执行。这是因为在无服务器架构中,每个可并行化任务都可能导致调用操作。在无服务器环境中,高度并行工作负载可以拆分为许多子任务,所有子任务都彼此独立运行。
无服务器运行时上的并行任务示例包括蒙特卡罗模拟、批处理、视频转码、对象存储上的处理对象、模型评分、网络抓取和业务数据流。
了解更多
随着各种规模和各行各业的组织都寻求利用云计算来实现其数字化转型目标,无服务器计算正在发挥关键作用。通过将开发人员从安装和更新操作系统、配置服务器和扩展基础设施等繁琐的任务中解放出来,无服务器环境可帮助开发人员专注于业务逻辑以及编写和部署代码。
探索 IBM Cloud Code Engine
本文是否有帮助?
是的不