Serverless 是
云计算的一种模型。以平台即服务(PaaS)为基础,无服务器运算提供一个微型的架构,终端客户不需要部署、配置或管理服务器服务,代码运行所需要的服务器服务皆由云端平台来提供, Serverless computing(无服务器运算,又被称为函数即服务 Function-as-a-Service,缩写为 FaaS),以 Amazon Lambda 为典型服务。
基本特性
作为云计算的一种演进方式,无服务器Serverless具有如下四个特性:no server management (用户不需要管理服务器),pay-for-value services (按价值付费), continuous scaling (能自动持续扩容),和 built-in fault tolerance (内置高可用和容错能力)。
发展历程
2006年,亚马逊云科技发布了其第一个无服务器架构的存储服务 Amazon S3。
Amazon DynamoDB 在2012年发布,在功能上已经具备了“Serverless”特性的“云原生数据库”。2012年, Ken Form 在文章“Why The Future of Software and Apps is Serverless”中,首次提出了 Serverless,即“Serverless 无服务器”。
2014年,亚马逊云科技推出 Amazon Lambda 服务,普及了抽象的“Serverless 无服务器”计算模型。
2019 年,亚马逊云科技发布了 Amazon Lambda 的“预置并发(Provisioned Concurrency)”功能,允许亚马逊云科技无服务器计算用户使其函数保持“已初始化并准备好在两位数毫秒内响应”的状态。
2022年亚马逊云科技 re:Invent上,发布了 Amazon Lambda SnapStart 实现90%的冷启动延时。
技术优势
1、在无服务器平台上,无需用户自身去维护操作系统。开发人员只需要编写云函数,选择触发云函数运行的事件就可以完成工作。例如加载一个镜像到云存储中,或者向数据库添加一个很小的图片,让无服务器系统本身来处理其他所有系统管理的操作,如选择实例、部署、容错、监控、日志、安全补丁等等。
2、Serverless 无服务器让开发者关注于构建产品中的应用,而不需要管理和维护底层堆栈,且比传统云计算更为便宜。
3、传统云计算按照预留的资源收费,而无服务器按照函数执行时间收费。这也意味着细粒度的管理方式。在无服务器框架上使用资源只需为实际运行时间付费。这与传统云计算收费方式形成对比,后者用户需要为有闲置时间的计算机付费。
4、Serverless 无服务器让开发者可以更关注于构建产品中的应用,而不需要管理和维护底层堆栈,且比传统云计算便宜,因此无服务器被誉为“开发新应用最快速的方式,同时也是总成本最低的方式”。
产品应用
无服务器数据库
是一种基于云的数据库解决方案,它通过无服务器计算和自动化扩展,提供了一种低成本、易于管理的数据库管理方式。
1.Amazon DynamoDB 基于 NoSQL,作为云原生的无服务架构数据库服务,是一个键/值和文档数据库,提供个位数的毫秒级性能。它是一个完全托管、多区域、多活的持久数据库,具有适用于 Internet 规模应用程序的内置安全性、备份和恢复以及内存缓存。DynamoDB 每天可处理超过10万亿个请求,并可支持每秒超过2000 万个请求的峰值。
2.Amazon Aurora 提供其数据库的无服务器版本,基于 MySQL 和 PostgreSQL,提供按需自动扩展配置,让数据库根据应用程序的需求扩展或缩减容量。
3.Amazon Timestream (时序数据库) 是一种快速、可扩展且无服务器的时间序列数据库服务,适用于 IoT 和运维应用程序,每天可以存储和分析数万亿个事件,速度提高1000倍,成本仅为使用传统关系数据库的 1/10。
4.Amazon QLDB (分类账数据库) 提供了所有应用程序数据更改的可验证的完整历史记录,以解决大规模构建可靠的记录系统应用程序的问题。
5.Amazon Keyspace (宽列数据库)(Apache Cassandra 兼容) 是可扩展、高度可用且兼容 Apache Cassandra 的托管式数据库服务。在访问模式、可扩展性和使用案例方面与键值数据库相似。主要差别在于,键值数据库无需定义表的架构,而宽列数据库需要,并用于处理需要毫秒级延迟的应用程序的数据,例如工业设备维护、交易监控、机群管理以及路线优化。
6.Amazon Neptune 是一个专门用于存储和导航关系的图形数据库。关系是图形数据库中的一级要素,图形数据库的大部分价值都来源于这些关系。Neptune 用于使用社交图谱、知识管理运行身份管理,并用于金融和购买交易中的近实时身份欺诈模式检测。
7.Azure Data Lake 是一种高度可扩展的数据存储和分析服务。该服务托管在公共云 Azure 中。Azure Data Lake Analytics 提供了一个分布式基础结构,可以动态分配或取消分配资源,因此客户只需为他们使用的服务付费。
8.Oracle 云提供其 Oracle 自治数据库的无服务器版本,即自治事务处理服务。无服务器服务还包括一个 JSON 版本。
无服务器数据分析
在传统的数据分析系统中,需要预先购买一定数量的计算资源,并通过配置、部署和维护等多个步骤,来构建数据分析系统。而无服务器数据分析则将这些步骤都交给云服务提供商完成,用户只需上传数据和代码,即可使用由云服务提供商自动分配的计算资源,实现数据处理和分析的任务。
2013年,亚马逊云科技陆续发布无服务器数据分析服务,2013年发布流式数据引擎 Amazon Kinesis 与 无服务器数据集成 Amazon Glue, 2016年发布无服务器交互式数据查询 Amazon Athena。这些服务采用按需计费的方式,用户只需要按照实际使用的计算资源和存储空间付费,无需支付固定的运维成本,从而降低数据分析的成本。
2021 re:Invent 全球大会,亚马逊云科技推出了 Amazon Redshift Serverless,以及 Amazon EMR Serverless (预览版,2022年正式可用)、Amazon MSK Serverless(预览版,2022年正式可用)。亚马逊云科技在 2022 re:Invent 全球大会上宣布为其企业搜索服务 Amazon OpenSearch Service 推出无服务器版 Amazon OpenSearch Serverless。
无服务器人工智能
无服务器机器学习模型推理 Amazon SageMaker Serverless Inference 是一种可扩展、安全和按需付费的机器学习推理服务,可以降低机器学习模型部署的成本和复杂度,发布于 re:invent 2021。