API大赛之Serverless应用场景

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 大家都在说Serverless,如果你不知道什么是Serverless架构,那么请耐心把这篇文章看完。

1. serverless的前世今生

Serverless概念是近年来特别火的一个技术概念,这次借助2017年阿里云的第二届API大赛,来仔细一下盘点一下这个架构构建的应用场景,场景适合各行各业,对轻计算、高弹性、无状态等场景有诉求的用户都可以通过本文来普及一些基础概念,能对技术选型做一些有意义的指导就达到本文目的。
关于Serverless架构的前世今生,网上比较流行一张描述人类形态发展史的网图。从爬行猿人到蹲着的类猿人,再到直立人类,最后到使用工具的新兴人类。从四只脚爬行到直立行走,释放了双手,从释放双手到开始使用工具。
人类的进化每一次都伴随着生产效率的提升。同理,在整个IT计算的发展里程,也是逐步提高生产效率的里程,具体演进图如下所示:
 


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

Serverless架构主要有以下特点:
实现了细粒度的计算资源分配。
不需要预先分配资源。
具备真正意义上的高度扩容和弹性。
按需使用,按需计费。

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

2. Serverless的典型应用有哪些?

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

物联网中的低频请求
物联网行业中,由于物联网设备传输数据量小,且往往是固定时间间隔进行数据传输,因此经常涉及低频请求场景。
例如:物联网应用程序每分钟仅运行一次,每次运行50ms,这意味着CPU的使用率为0.1%/小时,这也意味着其实有1000个相同的应用可以共享计算资源。而Serverless架构下,用户可以购买每分钟100ms的资源来满足计算需求,通过这种方式就能够有效解决效率问题,降低使用成本。

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

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

2.2. 流量突发场景
弹性扩展应对突发流量
移动互联网应用经常会面对突发流量场景。例如:移动应用的通常流量情况是QPS 20,但每隔5分钟会有一个持续10s的QPS 200流量(10倍于通常流量)。传统架构下,企业必须扩展QPS 200的硬件能力来应对业务高峰,即使高峰时间仅占整个运行时间的4%。
在Serverless架构下,您可以利用弹性扩展特性,快速构建新的计算能力来满足当前需求,当业务高峰后,资源能够自动释放,有效节省成本。

2.3. 处理大数据场景
由于安全审计问题,您需要从OSS(多个地域)过去一年的数据(1个小时一个文件)中找出特定关键字访问的日志,同时做聚合运算(计算出总值)。如果使用阿里云函数计算,您将高峰期每2小时的访问日志,或者低谷期每4小时的访问日志交给一个计算函数处理,并将处理结果存到RDS中。使用一个函数分派数据给另一个函数,使其执行成千上万个相同的实例。
这样会同时运行近千个计算函数(24 x 365 / 10),在不到一分钟的时间内完成整个工作。同样的事情交给ECS+计算脚本来做计算,单单为这些instance配置网络就让人头疼(不同地域无法走内网下载OSS文件):instance的数量可能已经超出了子网中剩余IP地址的数量(比如,您的VPC使用了24位掩码)。

3. 函数计算简介

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



步骤1         开发者编写代码,目前支持的语言Java、NodeJS、Python等语言。
步骤2 把代码上传到函数计算上,上传的方式有通过API或者SDK上传,也可以通过控制台页面上传上传,还可以通过命令行工具Fcli上传。
步骤3 通过API&SDK来触发函数计算执行,同样也可以通过云产品的事件源来触发函数计算执行。
步骤4 函数计算在执行过程中,会根据用户请请求量动态扩容函数计算来保证请求峰值的执行,这个过程对用户是透明无感知的。
步骤5 函数执行结束后,可以通过账单来查看执行费用,根据函数的实际执行时间按量计费,收费粒度精确到100ms。

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

1、 无服务器架构
2、 自动维护软硬环境
3、 能弹性扩容执行并发
4、 通过事件来触发函数执行
5、 能打通多款产品
6、 按次计费

下面就基于函数计算这几种特点,来讲解在API大赛里,关于Serverless架构的典型案例

4. API大赛课题-云课堂详解

本次API大赛选题云课堂主要是依托阿里云的产品来构建的一个无服务器应用,是为每个学生登录后生成一个可以操作的运行环境,学生可以参加个性化考试或者启动教学,其中教学有两种方式,一种是在线视频、一种是在线实验室。这个云课堂汇集了多种在线功能,例如下面的一些典型功能如下:
个性化考试:考生登录系统后,可以在系统上做面试试题或者算法题考试,主要考察学生
获取的考题可以通过函数计算生成算法来选题,能记录考试的历次考试成绩,能根据考生成绩画出考生成绩曲线,可以通过阿里云QuickBI产品展示
在线教学-在线视频:学生通过在线点播已经录制好的视频文件,点播视频文件进行播放。
在线教学-在线实验室:学生通过在线实验室Dome实例编写代码,通过调用函数计算的SDK来运行代码,并把代码执行结果显示出来。

5. API大赛课题-共享电单车详解

近年来共享经济的概念深入人心,本次推出的选题共享电单车的实践方案主要是让开发者通过电单车开锁、骑行、计费、导航等几个功能来完成骑行的过程,这个过程,为了让场景更加丰富,可以通过阿里云市场来引入短信通知、获取当地的天气预报、空气质量以及穿衣指数等数据。骑行过程中,主要分为几个阶段来进行,输入骑行终点位置、判断电单车的电量、开锁、显示当前的天气和空气质量、骑行路径规划、骑行结束锁车、骑行计费终止等。


 
这个选题需要通过 API 串联阿里云的多款产品,这里选的产品例如:函数计算来做数据处理,API网关来做前端展示的接入,表格存储来存放电单车骑行过程中的数据,以及初始数据,日志服务可以存放整体行车路线的日志信息。
整体框架图可以参考:



点此“ 阿里云第二届API应用创新大赛”查看详情,直接搜索群号11732346 或扫描下方二维码,先加入大赛交流钉钉群再说~

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
11天前
|
Ubuntu API C++
C++标准库、Windows API及Ubuntu API的综合应用
总之,C++标准库、Windows API和Ubuntu API的综合应用是一项挑战性较大的任务,需要开发者具备跨平台编程的深入知识和丰富经验。通过合理的架构设计和有效的工具选择,可以在不同的操作系统平台上高效地开发和部署应用程序。
56 11
|
27天前
|
供应链 搜索推荐 数据挖掘
探秘京东 API 接口的神奇应用场景
京东API如同数字钥匙,助力商家实现商品、库存、订单等多平台高效同步,提升效率超80%。支持物流实时追踪,增强用户满意度;赋能精准营销与数据分析,决策准确率提升20%以上,全面优化电商运营。
77 1
|
28天前
|
人工智能 运维 监控
阿里云 API 聚合实战:破解接口碎片化难题,3 类场景方案让业务响应提速 60%
API聚合破解接口碎片化困局,助力开发者降本增效。通过统一中间层整合微服务、第三方接口与AI模型,实现调用次数减少60%、响应提速70%。阿里云实测:APISIX+函数计算+ARMS监控组合,支撑百万级并发,故障定位效率提升90%。
197 0
|
29天前
|
监控 供应链 数据挖掘
探秘1688详情API接口:解锁无限应用场景的技术密钥
1688详情API接口是电商运营的“数据钥匙”,可实时获取商品价格、销量、库存等信息,广泛应用于数据分析、竞品监控、智能选品与自动补货,助力商家提升决策效率与盈利能力,抢占市场先机。
48 0
|
29天前
|
Java API 开发者
揭秘淘宝详情 API 接口:解锁电商数据应用新玩法
淘宝详情API是获取商品信息的“金钥匙”,可实时抓取标题、价格、库存等数据,广泛应用于电商分析、比价网站与智能选品。合法调用,助力精准营销与决策,推动电商高效发展。(238字)
110 0
|
1月前
|
数据采集 缓存 API
小红书笔记详情 API 实战指南:从开发对接、场景落地到收益挖掘(附避坑技巧)
本文详解小红书笔记详情API的开发对接、实战场景与收益模式,涵盖注册避坑、签名生成、数据解析全流程,并分享品牌营销、内容创作、SAAS工具等落地应用,助力开发者高效掘金“种草经济”。
小红书笔记详情 API 实战指南:从开发对接、场景落地到收益挖掘(附避坑技巧)
|
1月前
|
移动开发 安全 小程序
淘宝/天猫:使用支付宝API实现多场景支付,覆盖用户偏好
本文详解如何通过支付宝API在淘宝、天猫等平台实现多场景支付,覆盖APP、PC、H5及小程序,结合用户偏好动态配置分期、快捷支付等功能,提升转化率与体验。内容涵盖API核心功能、技术示例(Python)、安全实践与性能优化,确保开发高效可靠。
381 3
监控 安全 API
159 0
|
1月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
367 11
|
1月前
|
数据采集 缓存 API
1688 API 实战指南:搞定批发场景的 3 大核心难题(附签名代码与避坑清单)
本文深入解析了1688 API 在批发场景下的三大核心难题及解决方案,涵盖签名机制、商品数据处理与订单同步等高频问题,提供可复用代码与避坑清单,助你高效对接1688平台。

相关产品

  • 函数计算