Serverless 架构应用场景

本文涉及的产品
简介: Serverless 架构应用场景

UC Berkeley曾犀利断言“Serverless架构将成为云时代的默认计算范例,主要取代服务器计算,从而为客户端 - 服务器时代带来封闭”,在信通院云原生产业联盟所发布的《云原生发展白皮书(2020年)》中,也对云原生发展趋势进行了大胆的预测“应用服务Serverless化,更加聚焦业务的核心价值。Serverless架构作为云原生技术未来的演进方向,无服务器架构技术(Serverless)也从观望逐渐落地,据Gartner的过往预测数据显示,到2020年全球将有20%的企业部署无服务器架构。Serverless将进一步释放云计算的能力,将安全、可靠、可伸缩等需求交由基础设施实现,使用户仅需关注业务逻辑而无需关 注 具体部署和运行,极大地提高应用开发效率。同时这个方式促进了社会分工协作,云厂商可以进一步通过规模化、集约化实现计算成本大幅优化。“

由此可见Serverless架构将会成为未来云计算领域中重要的技术架构,将会被更多的业务所采纳,成为其技术选型,那么再进一步的深究,Serverless在什么场景下可以有非常优秀的表现,在什么类型的场景下可能表现得并不是很理想呢?或者说,有哪些场景更适合Serverless架构呢?

Serverless架构的应用场景,通常是由其特性决定方向,所支持的触发器决定具体场景。

如图所示,在《CNCF Serverless Whitepaper v1.0》关于Serverless架构所适合的用户场景包括:

  • 异步的并发,组件可独立部署和扩展的场景
  • 应对突发或服务使用量不可预测的场景
  • 短暂、无状态的应用,对冷启动时间不敏感的场景
  • 需要快速开发迭代的业务,因为无需提前申请资源,因此可以加快业务上线速度

CNCF基于Serverless架构的特性给出了四个用户场景之外,还结合常见的触发器提供了详细的例子:

  • 响应数据库更改(插入、更新、触发、删除)的执行逻辑
  • 对物联网传感器输入消息(如MQTT消息)进行分析
  • 处理流处理(分析或修改动态数据)
  • 管理单次提取、转换和存储需要在短时间内进行大量处理(ETL)
  • 通过聊天机器人界面提供认知计算(异步)
  • 调度短时间内执行的任务,例如CRON或批处理的调用
  • 机器学习和人工智能模型
  • 持续集成管道,按需为构建作业提供资源,而不是保持一个构建从主机池等待作业分派的任务

《CNCF Serverless Whitepaper v1.0》站在Serverless架构的特点,从理论上描述了Serverless架构适合的场景或业务,云厂商将会站在自身的业务角度,整体来描述Serverless架构的典型场景。通常情况下,对象存储为触发器在Serverless架构的典型应用场景包括视频处理、数据ETL处理等;API网关更多会为用户赋能对外的访问链接以及相关联的功能等,当以API网关作为Serverless相关产品的触发器时,常见的应用场景就是后端服务,包括App的后端服务,网站的后端服务甚至是微信小程序等相关产品的后端服务,同时像一些智能音响也会开放相关的接口,这个接口也是可以通过API网关出发云函数,获得相应的服务等;除了对象存储触发以及API网关触发,常见的触发器还有消息队列触发器,Kafka触发器,日志触发器等。

Web应用/移动应用后端

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

实时文件/数据处理

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

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

离线数据处理

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

## 人工智能领域

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

IoT等物联网领域

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

监控与自动化运维

在实际生产中,经常需要做一些监控脚本来监控网站服务或者API服务是否健康,包括是否可用、响应速度等。传统的方法是通过一些网站监控平台(例如DNSPod监控、360网站服务监控,以及阿里云监控等)来进行监控和告警服务,这些监控平台的原理是通过用户自己设置要监控的网址和预期的时间阈值,由监控平台部署在各地区的服务器定期发起请求对网站或服务的可用性进行判断。当然,这些服务很多都是大众化的,虽然说通用性很强,但是实际上并不一定适合。例如说,现在需要监控某网站状态码,不同区域的延时,并且设置一个延时阈值,当网站状态异常或者延时过大时,通过邮件等进行通知告警,针对这样一个定制化需求,目前来说大部分的监控平台很难直接实现,所以定制开发一个网站状态监控工具就显得尤为重要。除此之外,在实际的生产运维中,还非常有必要对所使用的云服务进行监控和告警,例如在使用Hadoop、Spark的时候要对节点的健康进行监控,在使用K8S的时候要对API Server、ETCD等多维度的指标进行监控,在使用Kafka的时候,也要对数据积压量,以及Topic、Consumer等指标进行监控;这些服务的监控,往往不能通过简单的URL以及某些状态来进行判断,在传统的运维中,通常会在额外的机器上设置一个定时任务,对相关的服务进行旁路监控。

Serverless架构的一个很重要应用场景就是运维、监控与告警,通过与定时触发器进行结合使用,可以非常简单的实现某些资源健康状态监控与感知,并进行一些告警功能建设、自动化运维能力建设:

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
19天前
|
存储 运维 Serverless
Serverless架构在图像处理领域展现出了强大的优势
【4月更文挑战第22天】Serverless架构在图像处理中表现出显著优势:弹性伸缩自动适应负载变化,节省成本;按需付费减少费用,适合需求波动场景;简化运维让开发者专注应用创新;快速迭代部署提升市场响应速度;高可用性和容错性保证服务稳定性;跨平台支持增强兼容性;丰富生态加速开发进程。因此,Serverless是图像处理的理想选择。
15 1
|
19天前
|
存储 弹性计算 Serverless
Serverless架构在图像处理的优势
Serverless架构在图像处理的优势
21 2
|
1月前
|
运维 安全 Serverless
Serverless架构在图像处理中的优势探讨
Serverless架构在图像处理中的优势探讨
16 1
|
1月前
|
监控 算法 Serverless
Serverless架构在图像处理中的优势
随着信息时代的到来,图像处理在各个领域发挥着越来越重要的作用,无论是在数字媒体、医学影像、安防监控还是人工智能等领域,图像处理都扮演着关键的角色,尤其是在应对图像处理的复杂性和高并发需求时,Serverless架构作为一种新兴的解决方案,正在迅速崭露头角。Serverless架构的出现彻底改变了传统的软件架构模式,将开发者从繁琐的服务器管理中解放出来,使其能够更专注于业务逻辑和算法的优化。还有就是在图像处理领域,Serverless架构的优势体现得尤为明显,它能够根据实际需求动态分配计算资源,实现弹性扩展,满足高并发和波动性需求,以及Serverless架构的按需付费模式也能够帮助开发者降低成
40 2
Serverless架构在图像处理中的优势
|
3天前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。
|
3天前
|
人工智能 运维 算法
函数计算的应用场景
函数计算的应用场景介绍
7 1
|
13天前
|
运维 监控 Serverless
【专栏】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器(Serverless)
【4月更文挑战第28天】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器。它基于事件驱动,自动扩展资源并按需计费。优势包括缩短开发周期、优化资源利用、降低成本、提高可用性及简化维护。然而,冷启动延迟、调试困难、性能监控、安全性和学习曲线等挑战仍需解决。随着技术进步,无服务器架构将在科技发展中发挥更大作用。
|
23天前
|
弹性计算 安全 Serverless
图像处理场景下的Serverless架构
【4月更文挑战第15天】图像处理场景下的Serverless架构
|
25天前
|
人工智能 Serverless 数据处理
利用阿里云函数计算实现 Serverless 架构的应用
阿里云函数计算是事件驱动的Serverless服务,免服务器管理,自动扩展资源。它降低了基础设施成本,提高了开发效率,支持Web应用、数据处理、AI和定时任务等多种场景。通过实例展示了如何用Python实现图片压缩应用,通过OSS触发函数自动执行。阿里云函数计算在云计算时代助力企业实现快速迭代和高效运营。
|
10月前
|
运维 Cloud Native 关系型数据库
活动回顾|阿里云 Serverless 技术实战与创新成都站回放&PPT下载
7月29日“阿里云 Serverless 技术实战与创新”成都站圆满落幕。可免费下载成都站|阿里云 Serverless 沙龙演讲 PPT。

热门文章

最新文章

相关产品

  • 函数计算