维护物理或虚拟服务器并非易事,无论是由于高昂的维护成本还是对熟练人力的需求。无服务器计算通过提供一种经济实惠的方式让开发人员在云上构建和运行应用程序来解决这些问题。
在本文中,我们将回顾无服务器计算、其应用及其对开发人员和企业的好处。这是一个重要的主题,因为无服务器计算的市场规模在 2022 年超过 900 万美元,预计未来十年将再增长 25%。让我们开始吧。
定义和概述
假设您家中的电费和水费是根据 twitter 数据库 您的使用量收费的,而不是固定的月费。无服务器计算的工作原理如下:云提供商只是为您分配基础设施的一种方式,让您根据使用量构建和运行应用程序,而无需担心服务器维护。
与传统的云计算(设置物理或虚拟服务器、存储和网络设备)不同,在无服务器计算中,云提供商会管理基础架构,并在应用程序扩展时自动为您分配资源。换句话说,无服务器计算是将服务器从开发人员中抽象出来,使他们能够将更多精力放在他们正在构建的应用程序上,而不必担心托管应用程序的基础架构。
想象一下,您的应用程序每天有 100 到 200 个用户。如果第二天您的用户突然增加到 1,000,000,服务器将自动扩展您的资源以满足该需求。这在传统云计算中是不可行的,因为服务器会因流量增加而停机,如果服务器的存储空间不足,则必须购买更大的存储空间,这需要时间。
类别 无服务器计算 传统计算
扩展 动态的 固定的
计费 根据使用情况 无论使用情况如何,持续成本还包括维护和运营成本
基础设施管理 从业务中抽象出来 需要主动管理
主要特点
在了解无服务器计算与其他传统云模型的主要区别特征之前,让我们先了解一下无服务器计算中的关键术语。
函数:这是一段旨在执行特定任务的代码,例如文件上传、处理 HTTP 请求或其他任务。每个函数彼此独立,旨在响应事件而采取行动。
调用:这是调用一个函数来执行特定的操作,您也可以将其视为响应事件而执行函数代码。
持续时间:这是函数从被调用到返回响应所需的时间。
冷启动:这是无服务器平台在函数开始执行之前调用它时分配资源所需的时间。
并发限制:这是函数响应事件和请求时可以同时运行的最大实例数。
超时:这是无服务器平台终止之前允许函数运行的最大持续时间。
事件驱动执行
事件驱动执行也称为函数即服务 (FAAS),其中无服务器应用程序被划分为独立的无服务器函数,由来自 HTTP 请求、数据库更改、消息查询或文件上传等来源的特定事件触发。
假设您有一个无服务器应用程序,每当将图像上传到 Amazon S3 存储桶时,它都会自动处理图像。当用户上传图像文件时,会触发一个函数来处理图像并将其保存在另一个 Amazon S3 存储桶中。这可确保该函数仅在需要时运行,从而使系统高效且经济高效。
演示事件驱动执行的图像,使用文件上传作为示例。
事件驱动执行,以文件上传为例。图片来自作者
自动缩放
自动扩展是根据需求或工作负载的增加来分配计算资源。这是无服务器计算的一个关键特性,使其高效且适应性强,确保在服务器上工作负载或需求不多时不会浪费资源,在服务器需求高时不会出现停机。
例如,您的应用程序流量激增。平台不会因为流量过高而导致服务器停机,而是会自动提供更多实例来处理增加的工作负载。同样,当流量较低时,平台会缩减资源以最大限度地降低成本。这确保了无需人工干预的效率,使应用程序在各种情况下都具有成本效益和响应能力。