Serverless 架构的典型应用场景

本文涉及的产品
简介: 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架构所适合的场景也会不断的更加丰富。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
3月前
|
运维 Serverless API
四大软件架构:掌握单体、分布式、微服务、Serverless 的精髓
如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存、晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面。
|
17天前
|
机器学习/深度学习 人工智能 Serverless
20行代码,Serverless架构下用Python轻松搞定图像分类和预测
本文将AI项目与Serverless架构进行结合,在Serverless架构下用20行Python代码搞定图像分类和预测。
111003 11
|
18天前
|
分布式计算 API 数据处理
Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
【2月更文挑战第15天】Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
45 1
|
1月前
|
消息中间件 编解码 人工智能
函数计算应用场景
本文介绍函数计算的典型应用场景,包括Web应用、数据ETL处理、AI推理、视频转码等
21 2
|
2月前
|
机器学习/深度学习 弹性计算 Serverless
引领未来科技发展的无服务器架构(Serverless)
无服务器架构(Serverless)是一种革命性的云计算模式,它将开发者从传统服务器管理的繁琐中解放出来,提供了更高效、灵活和可扩展的应用开发和部署方式。本文将介绍无服务器架构的概念、原理及其在各个领域的应用,并展望其对未来科技发展的巨大影响。
|
2月前
|
存储 物联网 Serverless
无服务器架构(Serverless)的革命性应用
无服务器架构是一种全新的云计算模型,它将传统的基于服务器的架构转变为以事件驱动的、按需自动化的架构。本文将探讨无服务器架构的定义、特点以及在现代应用开发中的应用。
143 2
|
3月前
|
人工智能 弹性计算 自然语言处理
函数计算 3.0 版:重大升级带来的优势与应用场景
近年来,随着云计算和服务化架构的快速发展,使得函数计算成为了一种备受技术圈关注的技术。而且最近函数计算有了新的重大升级更新,也就是函数计算 3.0 版是函数计算产品的一次重大升级,对函数管理、函数执行引擎、自定义域名、函数授权及弹性伸缩规则等方面进行了多项改进。新版本函数计算具备了极简体验、技术升级以及简化 AI 应用开发等优点,作为一名开发者,我有幸亲身体验了函数计算 3.0 版本后的变化,并在这篇文章中分享一下我的感想,接下来让我们来看看这次升级对开发者意味着什么吧。
460 1
函数计算 3.0 版:重大升级带来的优势与应用场景
|
3月前
|
运维 Cloud Native Serverless
MSE Serverless 正式商用,构建低成本高弹性的微服务架构
MSE Serverless 正式商用,构建低成本高弹性的微服务架构
70467 76
|
3月前
|
Cloud Native 安全 Serverless
阿里云重磅亮相信通院 2023 云原生产业大会,持续推动 Serverless 架构落地 | 报名启动
阿里云重磅亮相信通院 2023 云原生产业大会,持续推动 Serverless 架构落地 | 报名启动
|
3月前
|
Serverless 开发者 微服务
Serverless架构
Serverless架构

热门文章

最新文章

相关产品

  • 函数计算