在 2018 云栖大会深圳峰会阿里云支持与服务专场上, 由卓游技术总监张保峰带来了 "如何用阿里云快速构建游戏发行技术体系" 的主题分享, 主要从三方面进行讲解, 首先介绍了选择和阿里云合作的背景与需求, 其次对如何在阿里云的基础上做到快速构建游戏发行技术, 最后总结了阿里云带来的优势.
数十款阿里云产品限时折扣中, 赶快点击这里, 领券开始云上实践吧!
直播视频回顾
以下为精彩视频内容整理:
背景与需求
背景是这样的:
15 年从网易出来的一帮研发, 商务和运营的一个小团队来做游戏, 起初大家都很兴奋但是落实到整个过程还是有一些难度的. 对于什么是运维, 什么是云, 什么是 IDC 和什么是安全并没有一个明确的认知.
需求却是这样的:
整个的需求和目标都是非常大的, 我们是想像网易游戏, 腾讯游戏和 37 游戏等看齐, 但是出于现实的考虑, 要把精力放在最擅长的领域上去, 在一开始就要考虑怎么快速的构筑一套基本的游戏发行技术体系来支撑业务, 能够让我们的精力放在游戏本身上去. 这一块的要求就是一开始的时候成本和门槛都是很低的, 能快速的切入. 要有很丰富的产品的支持, 还要做到即买即用, 随时需要随时用. 而且要安全可靠. 最后一点就是要做到服务及时. 在这样一个要求下, 最后选择了阿里云, 因为阿里云具有丰富的 API, 自动化支持和降低运维成本!
接上阿里云的翅膀起飞
发行平台业务架构
上图为发行平台的业务架构, 相对来说做了很多简化, 主要列了一些核心的点. 前端主要用了一些域名, 用户和广告相关的需求, 还有很重要的一点就是聚合的 SDK. 后端有运营, 运营起着重要的作用, 它包括与 SDK 相关的客服, 金流, 市场和监控的一个集合. 后端的游戏数据包括广告分析, 接口数据, SDK 数据和自助查询. 扩展这部分包括微社区, 公众号和客服聊天等. 整个这些构成了游戏发行的一个业务架构.
发行平台技术架构
从技术上面我们做了一些简化, 用阿里云的产品很快就可以搭出来这样的一个技术架构, 基本上符合前面的一些要求. 这部分分成两块, 一部分是静态, 一部分是动态.
VPC 环境迁移概览
这是我们做的一个 VPC 环境的迁移, 其实最开始的时候不光网络是经典的, 所有的数据库也都是我们自己去搭建的. 当决定要去上云的时候, 首先要改造 VPC 环境, 因为在它本身的一个这样的网络格局的条件下能够更加安全, 这也是阿里主推的一个经典的网络在不断的支持不断的售卖. 另一个就是说要把数据库变成云上的数据库.
怎么去做迁移呢? 其实当时直接找了阿里售后的支持团队然后他们给我们提供了很多讲解和支持, 最后确定了一个如图所示的捆绑的一个方式. 现在在 VPC 环境下建立一套新的业务环境, 这时就可以保证两边在业务层上都通过 SLB 进行访问提供服务. 最核心的点就是要保证数据库的来源要是统一的, 这个时候就是直接采用 RDS 同步的一个方式把所有的数据都同步到 RDS 上, 在云的 Redis 上缓存之后两边同时开服务, 两边同时访问. 确定所有业务都没有问题的时候再把数据都下调. 再通过负载均衡的方式把经典网络下的一些图全部下调. 实现了整个网络的迁移.
弹性伸缩
弹性伸缩这一块对我们还是很有帮助的, 对于游戏来说尤其是手游整个业务变化是很快的, 所以在这之前要怎么去做服务器怎么去实时的做到删减, 其实这些都是很耗人力的. 所以在后边用了弹性伸缩之后这些问题基本上都解决了. 弹性伸缩服务可以做到下面几点:
1, 灵活调度应对各种复杂场景.
2, 根据规则自动伸缩服务.
3, 按需取用, 有效降低成本.
以 serverapi 为例说一下应用弹性收缩后与旧的架构有什么不同.
旧架构的应用服务器是 4 核 8G3 的, 数据库为 8 核 16G3 的, 没有 ESS. 而应用 ESS 框架后的应用服务器是 2 核 4G2 的, 数据库为 RDS4 核 8G2 的, ESS 是按需计费的, 成本也要比旧的架构下降 30%.
快速搭建游戏示例
我们做很多款游戏但游戏的架构都是不同的, 每个架构下都有自己的优点和缺点, 按经验来说我们只对某些架构比较擅长, 有些我们也不是很清楚. 所以这块阿里给我们提供很大的帮助就是他们会有专门的游戏架构师, 会专门上门来和我们做一些合作. 比如说要上一款游戏提前要了解这款游戏的架构是什么样的, 然后会根据阿里云的一些特点会给我们提供一些建议做优化, 这对我们的帮助还是很大的.
这个图就非常完美的展现了一个常见的游戏架构, 可以看到把阿里云的主要产品也都用上来了. 从游戏的客户端接入后到达一个保护层, 这一层包括防火墙, 游戏盾, 移动安全先知计划和态势感知等. 然后进入下一层到游戏登录服务, 游戏充值服务, 游戏下载 & 更新服务和游戏大区. 接下来数据运维平台和游戏运维平台.
基于阿里云 API 实现自动化运维平台
阿里云从一开始就有丰富的 API 的支持, 利用它这个优势就把所有用到的功能都整合到这样一个平台上来, 主要的功能有 CMDB 资产管理, CDN 分发, 域名管理, 安全组设置, 费用结算, 日志分析和运维监控等, 这些都可以在自己的平台上去做.
安全防护
在安全这块最开始没有游戏盾的时候, 在安全这块还是蛮头疼的. 在这里举一个案例, 在发布一款产品的时候提前就会预测到这个产品在安全上会遇到一些问题. 因为有一些的厂家他们也会有同样的 IP, 相关的产品可能已经有些年头了, 或者他的品类和我们肯定是不同的, 但可能会有一些相互蹭的情况, 蹭到后有一个很好的方法就是把对方打垮, 打垮之后对方的用户就会到我的游戏上来. 所以就找阿里的一个团队过来给我们讲解在安全层面有哪些. 现在阿里推出的游戏盾这个产品整个的功能都很强大,
总结
阿里云给我们带来的优势总结起来就是成本很低, 运行速度快, 很有弹性, 非常的安全. 总的来说很感谢云计算这个行业, 云计算给游戏行业带来了改变带来了应用.
本文由云栖志愿小组陈欢整理编辑
来源: https://yq.aliyun.com/articles/590723