基于阿里云Serverless架构下函数计算的最新应用场景详解(一)

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: Serverless概念是近年来特别火的一个技术概念,基于这种架构能构建出很多应用场景,适合各行各业,只要对轻计算、高弹性、无状态等场景有诉求的用户都可以通过本文来普及一些基础概念,看看这些场景是否对用户有一些指导意义。

Serverless概念是近年来特别火的一个技术概念。基于这种架构能构建出很多应用场景,适用于各行各业。只要是对轻计算、高弹性、无状态等场景有诉求,您都可以通过本文来熟悉一些基础概念,并从相关场景中获得启发。

关于Serverless架构的前世今生,网上比较流行一张描述人类形态发展史的网图。从爬行猿人到蹲着的类猿人,再到直立人类,最后到使用工具的新兴人类。从四只脚爬行到直立行走,释放了双手,从释放双手到开始使用工具。

人类的进化每一次都伴随着生产效率的提升。同理,在整个IT计算的发展里程,也是逐步提高生产效率的里程,具体演进图如下所示:

d8d956d66eec1d2ce5be9093f6e4d6a86fe9a2ce

从大型物理机到通过虚拟化技术把物理机虚拟成单个的VM资源,从虚拟化集群到把集群搬到云计算上只做简单运维,再到把每一个VM按照运行空间最小化切分成更细的Docker容器,再从Doceker容器变成干脆不用管理任何运行环境的Serverless服务,即仅仅需要编写核心代码即可。

代际的技术变革都是把资源切分得更细致,让运行效率变得更高,让硬件软件维护变得更加简单。IT技术架构的演进主要有以下几个特点:

1、硬件资源使用颗粒度变小

2、资源利用率越来越高

3、运维工作逐步减少

Serverless架构主要有以下特点:

1、实现了细粒度的计算资源分配。

2、不需要预先分配资源。

3、具备真正意义上的高度扩容和弹性。

4、按需使用,按需计费。

根据Serverless的这些通用特点,归纳出下面几种典型使用场景,供大家参考。

事件请求场景

定制图片

网店中的商品图片维护,根据商品陈列位置,要求需要动态切割成不同尺寸图片,或者打上不同水印,当店家把图片上传到 阿里云OSS上,会通过函数计算上定制的trigger来触发函数计算。根据计算规则,生成不同尺寸的图片,满足电商陈列使用,整个过程无需再搭建额外服务器,也无需网站美工干预。

 

  物联网中的低频请求

物联网行业中,由于物联网设备传输数据量小,且往往是固定时间间隔进行数据传输,因此经常涉及低频请求场景。

例如:物联网应用程序每分钟仅运行一次,每次运行50ms,这意味着CPU的使用率为0.1%/小时,这也意味着其实有1000个相同的应用可以共享计算资源。而Serverless架构下,用户可以购买每分钟100ms的资源来满足计算需求,通过这种方式就能够有效解决效率问题,降低使用成本。

 

定制事件

用户注册时发邮件验证邮箱地址,同样通过定制的事件来触发后续的注册流程,而无需再配置额外的应用无服务器来处理后续的请求。

 

固定时间触发

事件触发固定时间触发,例如在夜间或者服务空闲时间来处理繁忙时候的交易数据,或者运行批量数据,来生成数据报表,通过Serverless方式,不用再额外购买利用率并不高的处理资源。

 

流量突发场景

弹性扩展应对突发流量

移动互联网应用经常会面对突发流量场景。例如:移动应用的通常流量情况是QPS 20,但每隔5分钟会有一个持续10s的QPS 200流量(10倍于通常流量)。传统架构下,企业必须扩展QPS 200的硬件能力来应对业务高峰,即使高峰时间仅占整个运行时间的4%。

在Serverless架构下,您可以利用弹性扩展特性,快速构建新的计算能力来满足当前需求,当业务高峰后,资源能够自动释放,有效节省成本。

 

转码和流量扩容

视频直播某次专场活动,由于无法预估会有多少点播的观众视频接入,把转码和流量扩容这部分内容通过Function来处理,无需考虑并发和流量扩容。

处理大数据场景

由于安全审计问题,您需要从OSS(多个地域)过去一年的数据(1个小时一个文件)中找出特定关键字访问的日志,同时做聚合运算(计算出总值)。如果使用阿里云函数计算,您将高峰期每2小时的访问日志,或者低谷期每4小时的访问日志交给一个计算函数处理,并将处理结果存到RDS中。使用一个函数分派数据给另一个函数,使其执行成千上万个相同的实例。

这样会同时运行近千个计算函数(24 x 365 / 10),在不到一分钟的时间内完成整个工作。同样的事情交给ECS+计算脚本来做计算,单单为这些instance配置网络就让人头疼(不同地域无法走内网下载OSS文件):instance的数量可能已经超出了子网中剩余IP地址的数量(比如,您的VPC使用了24位掩码)。

下面结合阿里云的函数计算产品来讲解各个应用场景中架构以及如何解决的场景中的痛点。阿里云的函数计算是基于Serverless这种架构实现的一个全托管产品,用户只需要上传核心代码到函数计算,就可以通过事件源或者SDK&API来运行代码。函数计算会准备好运行环境,并根据请求峰值来动态扩容运行环境,函数计算是按照执行时间来计费,请求处理完成后,计费停止,对于有业务请求有明显高峰和低谷的应用来说,相对节省成本。

下图是函数计算的一个开发者试用操作流程:

918aa9e18325e5855f8a49c2dd18bda9aaf6a9db

步骤1:开发者编写代码,目前支持的语言Java、NodeJS、Python等语言。

步骤2:把代码上传到函数计算上,上传的方式有通过API或者SDK上传,也可以通过控制台页面上传上传,还可以通过命令行工具Fcli上传。

步骤3:通过API&SDK来触发函数计算执行,同样也可以通过云产品的事件源来触发函数计算执行。

步骤4:函数计算在执行过程中,会根据用户请请求量动态扩容函数计算来保证请求峰值的执行,这个过程对用户是透明无感知的。

步骤5:函数执行结束后,可以通过账单来查看执行费用,根据函数的实际执行时间按量计费,收费粒度精确到100ms。

讲解完上面的流程后,下面会详细讲解3Serverless的应用场景,通过案例分享能让您对Serverless这种架构有更清晰的认识。

056cf4606d7b18ab74d22b2fd982cedc74daa4c8

场景描述:用户通过手机终端,Web应用,或者PC工具把各种文件包括图片、视频以及文本等上传到OSS(对象存储,下同)后,利用OSS的PutObject的事件可以触发函数计算对上传后的文件进行处理,目前比较典型的场景当用户把视频文件上传到OSS后,触发函数计算把对象的Meta信息获取并传输给核心算法库,核心算法库根据算法把相应的视频文件推送CDN源站,达到特定视频热加载的处理。另外一个场景,视频文件上传到OSS后也同时触发函数计算同步做多转码率的处理,并把处理后的视频文件存储到OSS中,完成轻量的数据处理。

在多媒体的处理场景中,经常会碰到海量文件上传到OSS后,还需要对文件进行进一步的加工,例如加水印、转码率、获取文件属性等操作,这个场景中,用户在处理的时候会遇到以下需要解决的技术难点:

1、  如何接收文件上传后的动作事件,通常的做法是定制消息通道来接收OSS事件通知,搭建一个运行环境,并编写相关的代码来处理事件通知。

2、如何高效的处理完海量上传的文件。

3、如何无缝的把多个云产品连接起来。

通过函数计算能比较方便解决以上几个技术难点,首先函数计算可以设置OSS的触发器来接收事件通知,在函数计算中编写业务代码来处理文件,并通过内网把文件传输到OSS中,整个流程简单易用可扩展。可以把核心代码部署到函数计算中,通过函数计算来并发处理事件通知。函数计算目前打通了多款产品的内部交互,通过控制台简单配置就可以高效的解决产品间连接问题。

 

事件触发场景常规做法:

1、设置消息通道接收事件,并编写业务代码。

2、购买服务器资源做后端数据处理。

3、设计一套多并发框架完成业务上传文件峰值的处理。

4、开通多个产品,并调用SDK代码来完成业务交互。

 

函数计算解法:

1、在控制台上配置事件源通知,编写业务代码。

2、代码写到函数计算里,不需要管理软硬件环境。

3、  业务高峰期函数计算会动态伸缩,无需管理。

4、内置打通多款产品,简单配置就可以无缝对接。


继续请看:基于阿里云Serverless架构下函数计算的最新应用场景详解(二)


关于函数计算更多详情,请移步这里

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
10天前
|
人工智能 云计算 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日~10日在江苏张家港召开的CCF ChinaNet(即中国网络大会)上,众多院士、教授和业界技术领袖齐聚一堂,畅谈网络未来的发展方向,聚焦智算集群网络的创新变革。
阿里云引领智算集群网络架构的新一轮变革
|
9天前
|
人工智能 运维 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日至10日,CCF ChinaNet(中国网络大会)在江苏张家港召开,众多院士、教授和技术领袖共聚一堂,探讨网络未来发展方向。阿里云研发副总裁蔡德忠发表主题演讲,展望智算技术发展趋势,提出智算网络架构变革的新思路,发布高通量以太网协议和ENode+超节点系统规划,引起广泛关注。阿里云HPN7.0引领智算以太网生态蓬勃发展,成为业界标杆。未来,X10规模的智算集群将面临新的挑战,Ethernet将成为主流方案,推动Scale up与Scale out的融合架构,提升整体系统性能。
|
15天前
|
机器学习/深度学习 监控 Serverless
探索Serverless架构:云计算的新前沿
【10月更文挑战第26天】本文探讨了Serverless架构作为新兴的云计算范式,如何改变应用的构建和部署方式。文章介绍了Serverless的核心概念、优势和挑战,并提供了开发技巧和实用工具,帮助开发者更好地理解和利用这一技术。
|
15天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
51 1
|
18天前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第23天】Serverless 架构是一种新兴的云计算范式,允许开发者构建和运行应用程序而无需管理服务器。本文深入探讨了 Serverless 的核心概念、优势、挑战及最佳实践,帮助开发者更好地理解和应用这一技术。
|
19天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
41 1
|
19天前
|
运维 监控 Serverless
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
29 1
|
23天前
|
机器学习/深度学习 监控 Serverless
无服务器架构(Serverless)
无服务器架构(Serverless)
|
5天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
3天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####

热门文章

最新文章

相关产品

  • 函数计算