Serverless架构基础详解(8)

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

1.1.8 业务场景

常见的业务处理场景

  • 「Web 应用/移动应用后端」

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

image.png

  • 「实时文件/数据处理」

视频应用、社交应用等场景下,用户上传的图片、音视频往往总量大、频率高,对处理系统的实时性和并发能力都有较高的要求。

例如:对于用户上传的图片,可以使用多个函数对其分别处理,包括图片的压缩、格式转换、鉴黄鉴恐等,以满足不同场景下的需求。例如:

image.png

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

image.png

  • 「离线数据处理」

通常要对大数据进行处理,需要搭建 Hadoop 或者 Spark 等相关大数据的框架,同时要有一个处理数据的集群。通过 Serverless 技术,只需要将获得到的数据不断的存储到对象存储,并且通过对象存储相关触发器触发数据拆分函数进行相关数据或者任务的拆分,然后再调用相关处理函数,处理完成之后,存储到云数据库中。

例如:某证券公司每 12 小时统计一次该时段的交易情况并整理出该时段交易量 Top 5;每天处理一遍秒杀网站的交易流日志获取因售罄而导致的错误从而分析商品热度和趋势等。函数计算近乎无限扩容的能力可以使用户轻松地进行大容量数据的计算。

利用 Serverless 架构可以对源数据并发执行多个 mapper 和 reducer 函数,在短时间内完成工作;相比传统的工作方式,使用 Serverless 架构更能避免资源的闲置浪费从而节省成本,整个流程可以简化为:

image.png

  • 「人工智能领域」

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

image.png

  • 「IoT 等物联网领域」

目前很多厂商都在推出自己的智能音箱产品,用户可以对智能音箱说出一句话,智能音箱可以通过互联网将这句话传递给后端服务,然后获得到反馈结果,再返回给用户。通过 Serverless 架构,可以将 API 网关、云函数以及数据库产品进行结合来替代传统的服务器或者是虚拟机等。

通过这样的一个架构,一方面,可以确保资源的按量付费,只有在使用的时候,函数部分才会计费,另一方面当用户量增加之后,通过 Serverless 实现的智能音箱系统的后端,也会进行弹性伸缩,可以保证用户侧的服务稳定,当要对其中某个功能进行维护,相当于对单个函数进行维护,并不会对主流程产生额外风险。相对来说会更加安全、稳定等:

image.png

  • 「监控与自动化运维」

在实际生产中,经常需要做一些监控脚本来监控网站服务或者 API 服务是否健康,包括是否可用、响应速度等。传统的方法是通过一些网站监控平台 (如阿里云监控等)来进行监控和告警服务,这些监控平台的原理是通过用户自己设置要监控的网址和预期的时间阈值,由监控平台部署在各地区的服务器定期发起请求对网站或服务的可用性进行判断。

当然,这些服务很多都是大众化的,虽然说通用性很强,但是实际上并不一定适合。例如,现在需要监控某网站状态码,不同区域的延时,并且设置一个延时阈值,当网站状态异常或者延时过大时,通过邮件等进行通知告警,针对这样一个定制化需求,目前来说大部分的监控平台很难直接实现,所以定制开发一个网站状态监控工具就显得尤为重要。

除此之外,在实际的生产运维中,还非常有必要对所使用的云服务进行监控和告警,例如在使用 Hadoop、Spark 的时候要对节点的健康进行监控;在使用 K8S 的时候要对 API Server、ETCD 等多维度的指标进行监控;在使用 Kafka 的时候,也要对数据积压量,以及Topic、Consumer等指标进行监控;这些服务的监控,往往不能通过简单的 URL 以及某些状态来进行判断,在传统的运维中,通常会在额外的机器上设置一个定时任务,对相关的服务进行旁路监控。

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

image.png

总结

从虚拟空间到云主机,从自建数据库等业务,到云数据库等服务,云计算的发展是迅速地,未来的方向和形态却是模糊的,没人知道云计算的终态是什么。诚然,现在有人说 Serverless 实现了当初了云计算目标,Serverless才是真正的云计算,但是没人可以肯定地说,Serverless 就是云计算的终态表现,客观地说,或许,Serverless 也仅仅是一个过渡的产物,但是这就要交给时间去验证了。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
17天前
|
运维 安全 Serverless
Serverless架构在图像处理中的优势探讨
Serverless架构在图像处理中的优势探讨
16 1
|
9天前
|
弹性计算 安全 Serverless
图像处理场景下的Serverless架构
【4月更文挑战第15天】图像处理场景下的Serverless架构
|
11天前
|
人工智能 Serverless 数据处理
利用阿里云函数计算实现 Serverless 架构的应用
阿里云函数计算是事件驱动的Serverless服务,免服务器管理,自动扩展资源。它降低了基础设施成本,提高了开发效率,支持Web应用、数据处理、AI和定时任务等多种场景。通过实例展示了如何用Python实现图片压缩应用,通过OSS触发函数自动执行。阿里云函数计算在云计算时代助力企业实现快速迭代和高效运营。
46 0
|
4月前
|
运维 Serverless API
四大软件架构:掌握单体、分布式、微服务、Serverless 的精髓
如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存、晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面。
|
1月前
|
敏捷开发 jenkins Serverless
Serverless 应用架构转型
【2月更文挑战第29天】
|
1月前
|
机器学习/深度学习 人工智能 Serverless
20行代码,Serverless架构下用Python轻松搞定图像分类和预测
本文将AI项目与Serverless架构进行结合,在Serverless架构下用20行Python代码搞定图像分类和预测。
111831 127
|
3月前
|
机器学习/深度学习 弹性计算 Serverless
引领未来科技发展的无服务器架构(Serverless)
无服务器架构(Serverless)是一种革命性的云计算模式,它将开发者从传统服务器管理的繁琐中解放出来,提供了更高效、灵活和可扩展的应用开发和部署方式。本文将介绍无服务器架构的概念、原理及其在各个领域的应用,并展望其对未来科技发展的巨大影响。
|
3月前
|
存储 物联网 Serverless
无服务器架构(Serverless)的革命性应用
无服务器架构是一种全新的云计算模型,它将传统的基于服务器的架构转变为以事件驱动的、按需自动化的架构。本文将探讨无服务器架构的定义、特点以及在现代应用开发中的应用。
156 2
|
4月前
|
运维 Cloud Native Serverless
MSE Serverless 正式商用,构建低成本高弹性的微服务架构
MSE Serverless 正式商用,构建低成本高弹性的微服务架构
70477 77
|
4月前
|
Cloud Native 安全 Serverless
阿里云重磅亮相信通院 2023 云原生产业大会,持续推动 Serverless 架构落地 | 报名启动
阿里云重磅亮相信通院 2023 云原生产业大会,持续推动 Serverless 架构落地 | 报名启动

热门文章

最新文章

相关产品

  • 函数计算