开发者学堂课程【互联网技术实战营·游戏行业专题:《游戏互娱行业 Serverless 最佳实践分享》】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/916/detail/14477
《游戏互娱行业 Serverless 最佳实践分享》
目录:
一、Serverless 最佳实践分享
二、案例
一、Serverless 最佳实践分享
(1)Serverless 发展轨迹:2012年就出现这个词语,2014年发布了一个平台,然后就开始了这个时代。国内确实要晚一些,从17年才开始。
(2)Serverless 定义:业务可以自动的弹性伸缩,并且云上的资源可以自动的去做弹性扩缩,用多少资源就付多少钱。
(3)Serverless 给用户带来的三大价值:
1).弹性伸缩,省事省心
2).按需付费,成本节约
3).聚焦业务,降低 ops(最大的价值)
(4) Serverless 软件架构(自动弹性伸缩+免费维护+按需付费):到这里,我们不需要预先去搭环境,这个平台环境是准备好了的,我们只用开发好的代码或者环境,直接到这个平台上去。在这个代码里边,不改变使用习惯,因为代码环境已经准备好了,然后不用去管理,不用去维护,那对用户来讲,当发起请求的时候,这个请求就会被转发到这个集群上,然后这个集群自动的弹性扩缩容。
这里面的负载均衡,包括底层的安全、调度,都是平台来帮用户给做掉了,这个就是对用户的价值。
不管有多少的流量过来,都能够去按照自动扩缩容这种方式来。那如果没有用户,比如说凌晨12点之后,如果没有任何用户在访问这套系统,它也可以自动缩容。
也会把闲置的资源帮用户降本。降本从开发到部署,路径是非常短的,不需要去关心环境,包括监控,包括底层的运行,这就是帮用户去做了增效。所以 Serverless 目前在这个阶段里面,帮用户做的最大的一个事情就是降本增效这个这个优势。
(5) Serverless 所处的地位
今年二月份发的一个测评,从各个维度、市场占有率,包括从安全性,产品功能等各个维度的调研,阿里目前在国内也是处于一个比较领先的地位。通信院去年做的一个报告也是统计去年阿里云在 Serverless 的市场份额,都是比较靠前的。
(6) 阿里云 Serverless 计算产品形态:
阿里云的 Serverless 计算产品形态,Serverless 其实就是云主机和容器之后的下一代的统一的平台,但是在落地的过程当中发现,函数计算在跑微服务的时候,其实是不适合的,然后又做了在业界最早推出面向微服务的 solis 平台。然后主要是做这种大规模的实时计算处理,或者离线计算处理。
其产品联动去做一些业务逻辑、包括图片,都是可以归结为实现驱动力的邀约。现在批处理,也包括微服务去做托管到平台上来,重点是看这两个产品,在互联网这个领域有哪些用处。
Serverless 音视频处理(用户用得最多的):(性价比)最高的定义视频处理方案。
ServerlessETL(最省事)的数据处理方案。
Serverless 事件驱动:(最省心)的云产品联动方案。
Job 处理(最好用)的批处理方案。
单体应用:(最放心)的多语言托管平台。
微服务:(最实用)的微视频托管平台。
(7) Serverless 计算形态的差别:
这两个产品的差别:从底层开始往上看,就是容器实例,像 ecs,网上比如说 ask 这种就是容器编排,它是面向容器的。那在网上就是用引擎就是 sae,sae 面向应用和微服务去做编程,它可以直接把微服务模块托管到平台上去。
然后底层资源可以做弹性伸缩。在网上的话,就是函数计算,它是面向函数的编程,比如说写 Python 的一个脚本,如果只有十几行代码,可以用框架,就有好几千,好几万行代码。函数计算是国内出现最早,应用最广泛的 Serverless 形态,是原生产品技术的全面升级。
(8)函数计算 FC-通用 HTTP 方案&事件驱动方案:
1)结合 API 网关,提供小程序 HS WEB 服务 REST API 等通用 HTTP 解决方案。
2)联动消息 MQ/对象存储 OSS/表格存储等,提供音视频处理,图片处理,数据处理等事件驱动方案。
3)函数计算 FC-最大的价值就是把云上的产品链接在一起。
(9)Serverles Devs 助力应用一键上云
客户应用/应用层/REST PAI/BFF/SSR/Website/Full stack APP
二、案例
(1)FC 函数计算微博海量图片处理
用户在访问别人发的博文的时候,就可以回到函数计算做一些处理。核心在于弹性高可用,不用为显示资源买单。
在游戏服里面需要把战斗的数据做一些处理,他就可以把函数作为一个模块接入。比如说当游戏结束的时候,它有大量的算力是不占用游戏服的,不影响用户的体验。
核心价值:
·敏捷开发
·弹性高可用
·成本优化
(2)FC 函数计算-鲸旗游戏/小牛互娱急速渠道打包方案
就游戏打包,游戏打包也是非常典型的,对资源使用率要求非常高,对算力要求非常强。当我有打包需求的时候,我需要快速把游戏打完包给后端的测试去使用。
如果每天打包的频率非常低的话,用函数计算还可以省钱。当你不需要打包的时候,它不占用任何的函数资源。
它有很多营销广告,为了扩大这些营销广告,他做了很多广告的埋点。每次发广告就有一波突发流量,他就可以用函数计算去做弹性缩容。在发行游戏前,通常会针对不通过的发行渠道,将游戏包和不同的渠道资料包构建成渠道包。
FC 函数计算也可以自动化的打包,提高打包的效率。当你不需要打包的时候,他是不占用任何的计算资源。
(3)基于 Serverless 工作流的自定义音频视频转码方案
函数计算比较适合去做音视频转码,大规模的 CPU 密集型。保证系统可靠,可靠性达到四个九,包括转码效率的提升,核心价值就是包括 720P 的视频,可以在五倍速以上转码。满足自建的各种需求同时,降低了资源投入成本。
转完之后把资源释放掉,也可以降低转码的费用的开支,包括说在直播审核,然后直播录制,直播截图为直播推流,直播转推,这些都是他可以扩展的一些使用方式。
函数计算比较适合做视频转码,就是大规模的 CPU 密集型的运算处理。
优势:
·灵活,流程自定义
·省钱,按需付费
·简单,资源免运维
1)转码系统可靠性:99.99%
2)转码效率:720p>5倍速
3)篇开随用:1秒支付1000+实例
4)转码并发:>1000部视频同时转码
5)视频处理:支持画质修复,画质增强
6)开放 GPU 挂载:4K 高清 转码
7)工作流:自定义编排各种转码逻辑
扩展方案:直播内容审核/直播逻辑/直播截图/伪直播推流/直播流转推。
(4) 为什么使用函数计算 FC
1) 上线周期长
2) 资源投入大
3) 运维复杂
(5)Serverless 应用引擎
1.Serverless 应用引擎 SAE-Serverlsee 最佳实践
SAE 底层无服务架构=微服务领域最佳的 Serverless 实践 Serverless 领域最佳的微服务实践
2. Serverless 应用引擎 SAE-应用部署体验升级
资源准备阶段:购买 ECS/创建集部/集部初始化
研发&部署阶段:制作 docle 系统/监控系统
运维阶段:运维/运维监控插件
3. SAE-爱奇艺体育直播平台
爱奇艺是中国知名的体育赛事平台,提供了超多直播内容。
4. Severless,Value More 使用对比
Severless 将会成为云时代默认的计算方式
5. 中大型企业多套环境,测试环境一般晚上都不使用,长期没有应用实例,可以节约一部分资源成本。