Serverless 架构的典型应用场景

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: Serverless架构自提出到现在经过若干年的发展,已经在很多领域中有着非常多的最佳实践。但是Serverless自身也是有局限性,由于其无状态、轻量化等特性,Serverless在一部分场景下可以有非常优秀的表现,但是在另外一些场景下可能表现的并不是很理想。

Serverless架构自提出到现在经过若干年的发展,已经在很多领域中有着非常多的最佳实践。但是Serverless自身也是有局限性,由于其无状态、轻量化等特性,Serverless在一部分场景下可以有非常优秀的表现,但是在另外一些场景下可能表现的并不是很理想。在《CNCF Serverless Whitepaper v1.0》中对Serverless架构所适合的用户场景描述为:

  • 异步的并发,组件可独立部署和扩展(原文:Asynchronous, concurrent, easy to parallelize into independent units of work)
  • 应对突发或服务使用量不可预测(原文:Infrequent or has sporadic demand, with large, unpredictable variance in scaling requirements)
  • 短暂、无状态的应用,对冷启动时间不敏感(原文:Stateless, ephemeral, without a major need for instantaneous cold start time)
  • 需要快速开发迭代的业务,因为无需提前申请资源,因此可以加快业务上线速度(原文:Highly dynamic in terms of changing business requirements that drive a need for accelerated developer velocity)

在文章中还对Serverless架构可以更好支持的领域进行了简单的描述:Non-HTTP-centric and non-elastic scale workloads that weren’t good fits for an IaaS, PaaS, or CaaS solution can now take advantage of the on-demand nature and efficient cost model of a serverless architecture,针对Serverless比较适用的具体领域,在文章中这样举例:

• 响应数据库更改(插入、更新、触发、删除)的执行逻辑(原文:Executing logic in response to database changes (insert, update, trigger, delete) )

• 对物联网传感器输入消息(如MQTT消息)进行分析(原文:Performing analytics on IoT sensor input messages (such as MQTT messages) )

• 处理流处理(分析或修改动态数据)(原文:Handling stream processing (analyzing or modifying data in motion) )

• 管理单次提取、转换和存储需要在短时间内进行大量处理(ETL)原文:Managing single time extract, transform, and loarequire a lot of processing for a short time (ETL) )

• 通过聊天机器人界面提供认知计算(异步,但相关)(原文:Providing cognitive computing via a chatbot interface (asynchronous, but correlated) )

• 调度短时间内执行的任务,例如cron或批处理的调用(原文:Scheduling tasks performed for a short time, such as cron or batch style invocations )

• 机器学习和人工智能模型(检索一个或多个数据元素(异步、并发,易于并行化到独立的工作单元罕见或零星需求,与大,不可预测的方差比例要求无状态的,短暂的,没有一个主要需要瞬时冷启动时间高度动态变化的业务需求的驱动需要加快开发速度表7,NLP,或图像,并与预先学习的数据模型进行匹配,以识别文本、面孔、异常等。)(原文:Serving machine learning and AI models (retrieving one or more data elements such Asynchronous, concurrent, easy to parallelize into independent units of work Infrequent or has sporadic demand, with large, unpredictable variance in scaling requirements Stateless, ephemeral, without a major need for instantaneous cold start time Highly dynamic in terms of changing business requirements that drive a need for accelerated developer velocity 7 as tables, NLP, or images and matching against a pre-learned data model to identify text, faces, anomalies, etc.) )

• 持续集成管道按需为构建作业提供资源,而不是保持一个构建从主机池等待作业分派(原文:Continuous integration pipelines that provision resources for build jobs on-demand, instead of keeping a pool of build slave hosts waiting for jobs to be dispatched)

《CNCF Serverless Whitepaper v1.0》站在Serverless架构的特点,从理论上描述了Serverless架构适合的场景或业务,云厂商将会站在自身的业务角度,整体来描述Serverless架构的典型场景,不同云厂商虽然描述的典型场景可能有所不同,但是实际上整体思路或者类型是类似的:

云厂商 产品

典型场景举例

AWS Lambda

  • 实时文件处理
  • 实时流处理
  • 机器学习
  • IoT后端
  • 移动应用后端
  • Web应用程序

阿里云 函数计算

  • Web应用
  • 实时数据处理
  • AI推理
  • 视频转码

华为云 函数工作流

  • 实时文件处理
  • 实时数据流处理
  • Web/移动应用后端
  • 人工智能场景

腾讯云 云函数

  • 实时文件处理
  • 数据ETL处理
  • 移动及Web应用后端
  • AI推理预测

综上所述可以看到在各个云厂商层面,所推出的典型场景主要包括:实时文件处理、实时数据处理、机器学习(AI推理预测)、IoT后端、移动应用后端、Web应用程序、音视频转码(实际上与实时文件处理是类似的)等。

实时文件处理

视频应用、社交应用等场景下,用户上传的图片、音视频的总量大、频率高,对处理系统的实时性和并发能力都有较高的要求。例如:对于用户上传的图片,我们可以使用多个函数对其分别处理,包括图片的压缩、格式转换、鉴黄鉴恐等,以满足不同场景下的需求。

数据ETL处理

通常我们要对大数据进行处理,需要搭建Hadoop或者Spark等相关大数据的框架,同时要有一个处理数据的集群,也被称为分布式系统。通过Serveerless技术,只需要不断地将获得到的数据不断的存储到对象存储,并且通过对象存储相关触发器触发数据拆分函数进行相关数据或者任务的拆分,然后再调用相关处理函数,处理完成之后,存储到云数据库中。例如:某证券公司每12小时统计一次该时段的交易情况并整理出该时段交易量 top 5,每天处理一遍秒杀网站的交易流日志获取因售罄而导致的错误从而分析商品热度和趋势等。云函数近乎无限扩容的能力可以使您轻松地进行大容量数据的计算。我们利用云函数可以对源数据并发执行多个 mapper 和 reducer 函数,在短时间内完成工作;相比传统的工作方式,使用云函数更能避免资源的闲置浪费从而节省资金。

实时数据处理

通过Serverless架构所支持的丰富的事件源,通过事件触发机制,可以通过几行代码和简单的配置对数据进行实时处理,例如:对 OSS zip 包进行解压、对 SLS 日志或 OTS 数据进行清洗、对 MNS 消息进行自定义消费等

机器学习(AI推理预测)

在 AI 模型完成训练后,对外提供推理服务时,可以使用Serverless架构,通过将数据模型包装在调用函数中,在实际用户请求到达时再运行代码。相对于传统的推理预测,这样做的好处是无论是函数模块还是后端的GPU服务器,以及对接的其他相关的机器学习服务,都是可以进行按量付费以及自动伸缩,从而保证性能的同时也确保了服务的稳定。


IoT后端

目前很多厂商都在推出自己的智能音响产品,用户可以对智能音箱说出一句话,智能音箱可以通过互联网将这句话传递给后端服务,然后获得到反馈结果,再返回给用户。通过Serverless架构,可以将API网关、云函数以及数据库产品进行结合来替代传统的服务器或者是虚拟机等,通过这样的一个架构,一方面,可以确保资源的按量付费,只有在使用的时候,函数部分才会计费,另一方面可以当用户量增加之后,通过Serverless实现的智能音箱系统的后端,也会进行弹性伸缩,可以保证用户侧的服务稳定,当我们要对其中某个功能进行维护相当于对单个函数进行维护,并不会对主流程产生额外风险。相对来说会更加安全、稳定等。

Web应用/移动应用后端

Serverless架构和云厂商所提供的其他云产品进行结合,开发者能够构建可弹性扩展的移动或 Web 应用程序 – 轻松创建丰富的无服务器后端,而且这些程序可在多个数据中心高可用运行,无需在可扩展性、备份冗余方面执行任何管理工作。

音视频转码

视频应用、社交应用等场景下,用户会上传一些视频,通常情况下,上传的视频会进行一些转码,包括转换为不同的清晰度,通过Serverless技术与对象存储相关产品组合,利用对象存储相关触发器,即上传者将视频上传到对象存储中,触发如果云函数对齐其进行处理,处理之后将其重新存储到对象存储中,这个时候其他用户过来就可以选择编码后的视频进行播放,包括对不同清晰度的选择等。

综上所示,Serverless架构的典型应用场景更多是由Serverless架构的特点决定的。当然,随着时间的不断推移,Serverless架构其实在不断的演进,特点会更加突出,劣势会被弥补,进而Serverless架构所适合的场景也会不断的更加丰富。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
18天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
2天前
|
人工智能 Serverless API
尽享红利,Serverless构建企业AI应用方案与实践
本次课程由阿里云云原生架构师计缘分享,主题为“尽享红利,Serverless构建企业AI应用方案与实践”。课程分为四个部分:1) Serverless技术价值,介绍其发展趋势及优势;2) Serverless函数计算与AI的结合,探讨两者融合的应用场景;3) Serverless函数计算AIGC应用方案,展示具体的技术实现和客户案例;4) 业务初期如何降低使用门槛,提供新用户权益和免费资源。通过这些内容,帮助企业和开发者快速构建高效、低成本的AI应用。
33 12
|
11天前
|
弹性计算 运维 Serverless
卓越效能,极简运维,体验Serverless高可用架构,完成任务可领取转轮日历!
卓越效能,极简运维,体验Serverless高可用架构,完成任务可领取转轮日历!
|
22天前
|
NoSQL Java 数据处理
基于Redis海量数据场景分布式ID架构实践
【11月更文挑战第30天】在现代分布式系统中,生成全局唯一的ID是一个常见且重要的需求。在微服务架构中,各个服务可能需要生成唯一标识符,如用户ID、订单ID等。传统的自增ID已经无法满足在集群环境下保持唯一性的要求,而分布式ID解决方案能够确保即使在多个实例间也能生成全局唯一的标识符。本文将深入探讨如何利用Redis实现分布式ID生成,并通过Java语言展示多个示例,同时分析每个实践方案的优缺点。
39 8
|
22天前
|
监控 Serverless 云计算
探索Serverless架构:开发实践与优化策略
本文深入探讨了Serverless架构的核心概念、开发实践及优化策略。Serverless让开发者无需管理服务器即可运行代码,具有成本效益、高可扩展性和提升开发效率等优势。文章还详细介绍了函数设计、安全性、监控及性能和成本优化的最佳实践。
|
23天前
|
Cloud Native 安全 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
41 3
|
23天前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
45 1
|
5天前
|
弹性计算 Cloud Native Serverless
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品。
|
24天前
|
监控 持续交付 API
深入理解微服务架构及其在现代应用开发中的应用
深入理解微服务架构及其在现代应用开发中的应用
24 0
|
25天前
|
边缘计算 监控 自动驾驶
揭秘云计算中的边缘计算:架构、优势及应用场景
揭秘云计算中的边缘计算:架构、优势及应用场景

热门文章

最新文章

相关产品

  • 函数计算
  • 下一篇
    DataWorks