扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
ZDNet至顶网软件频道消息: 2013年阿里云开发者大会于10月24日-25日在杭州阿里云创业创新基地召开,阿里云资深架构师王立表示,今年上半年中国游戏行业有385亿的市场份额,其中手游、页游达到1/3,手游增长了160%。
以下是阿里云资深架构师王立演讲实录:
谢谢大家,下午花这么半个小时的时间跟我一起分享一下。我们阿里云在一年多以来服务了很多游戏厂家,玩蟹、玩客,北京瑞德等等,我们发现了行业发展壮大的趋势,也发现了大家在架构上有一些需要提高的挑战。今天我想和大家分享的就是阿里云为支持游戏行业做的努力,这种努力不仅仅来自于架构上的努力,也来自于我们在开发、设计、部署和运营推广上的努力。
说到游戏,我觉得这个东西在十几年前我读大学的时候玩游戏不是一个,不算一个好的词语,算是贬义词,不爱学习不上进的代表。但今天回头看看,如果说老天爷只给我一次机会在我的阿里云手机上装三个应用,那我肯定会装这三个,第一个装来往,因为我要完成我的KPI,我要加一百个厂外好友,这里厂外好友很多,今天我还不到十个,下大家对游戏架构有疑问可以刷我的来往。
第二个要装支付宝钱包,为什么呢?我每天中午吃饭兜里没钱,只能通过支付宝刷,作为屌丝心态,还可以把余额宝翻出来看看今天赚了几块钱。第三个应用就是装一款儿童的游戏,我的女儿今年3岁4个月,但是玩这个游戏已经一年多了,有时候我跟我女儿比赛看谁玩拼图的游戏快,基本上60%的时间我女儿会战胜我,一个3岁4个月的女生战胜我这个博士毕业的爸爸。
今天来看游戏已经突破我们以前的想象,它成为了一个影响生活的方式。甚至我的岳母娘60多岁每天都是孜孜不倦,勤勤恳恳,一直非常努力的在打连连看,我们家买了两个IPAD,就是为她打连连看用的,虽然有时候还时常要我帮忙过关,但是今天我们家从3岁的我的女儿到60岁的我的岳母,其实都在生活中间围绕游戏展开,游戏已经成为了我们生活中间必不可少的一种生活方式。实际上这个数字也可以来说明游戏在整个生活中间所带来的一种改变。
我们可以看出来今年上半年中国游戏行业有385亿的市场份额,其中手游、页游达到1/3,手游体现增长了160%的增长幅度,所以今天手游体现出来是非常快速的发展。尽管这些数字是非常绚丽的,实际上我们深入到背后看看,今天的游戏包括我们的手游和页游是面临一些非常大的挑战的。
第一个非常明显的挑战,今天游戏行业的开发、测试的周期很长,它所投入的成本很高,一次性投入硬件成本很高,也需要后期的运维的成本相当大,这是相当面临挑战的一件事。第二件事情游戏行业投入一百万,80万用在游戏行业的推广上,游戏如何做好推广、运营达到创收的目的,这是非常大的问题。所以阿里云呢,从这个方面已经看到,解决这些问题已经不是一家游戏公司,或者一个阿里云能做到的,我们需要的是一个游戏的生态圈,一个游戏云的生态圈,集合大家的力量才能解决这样的问题。
我们看到游戏云阿里云所推的游戏云从开发、测试、部署到分析,会解决刚才我提到的主要的问题。比如说我们在云产品的基于阿里云的产品做游戏的解决方案的架构,会有架构云,它会提供可视化的通过拖拽的方式设计一个游戏等结构方案,设置做一些配置管理,一直到购买这个环节,不再需要我们在白板上面画,笔记本上面记,不需要,通过可视化的图形拖拽的方式,这是架构云今天做到的事情。
另外一个方面,如果有的客户说今天我知道怎么去,我的业务怎么发展我是清楚的,但是我没有能力根据业务发展的需求和现状对用户的定位来设计阿里云的架构,怎么办呢?没有关系,我们有中软国际提供一对一的游戏架构设计的辅导,提供这种咨询,从这种功能上、性能上、扩展性上都会提供各种各样的解决方案,这是一对一解决方案。更重要的部分怎么测试,第一做游戏一定有真实玩家的测试,游戏没有发布上线怎么找真实玩家,今天我们有K9TEST,它有遍布全球的分布全球的IP可以提供真人的这种测试环境,同时资深的玩家,反馈给你我们的游戏在功能上、性能上、覆盖性、兼容性上有没有什么问题。
在自动化测试方面,手游要跨越不同的平台,有安卓、IOS,安卓有不同的版本,同一个版本下不同的厂商生产的手机还有微小的差别,这种情况下,大家做起来这种自动化是非常困难的事情,今天没有关系,TEST有名册,有超过500款4600多台的智能终端为大家提供全方位的涵盖不同的操作系统、版本和硬件设备的自动化测试服务,解决游戏云在真正的在开发测试中间所遇到的最大的困难。
最后我们拥有友盟,是做数据分析,今天游戏厂商希望上来的游戏家从它的用户数量到质量、行为、购买,最后希望的是这个用户在游戏过程中间能够有更多的产生消费行为,那么怎么分析,改变游戏中间的某一个游戏环节设计达到这一点呢,友盟做数据分析就是为了达到这个目标的,这一点我们的五大金刚是为大家解决第一个问题就是游戏云的开发、测试、部署到分析。
运营和推广,这块坦白说其实今天我们场上这一圈下来已经把这七大平台全部都已经给做了详析的介绍。墙壁上写的文字比我说的精彩,这一点我非常劝大家有空待会有时间可以不妨站在各个周围的这些展台上看看,看一看阿里云为所有已经注册成为阿里游戏认证用户的这些客户,提供怎样的这种免费的运营推广服务。大家可以下来后具体看看,这个服务我个人看来是非常细腻的。
接下来我很想跟大家分享的是分析我们之前服务玩蟹、玩客、北京瑞德、江西泰浩游戏的,中国手游、页游比较有典型性的这些游戏开发商、运营商的过程中间,他们曾经遇到的问题,阿里云是如何和他一起克服这些问题的,这些问题主要是架构上面,今天分享的是架构设计上面游戏云应该有一个怎样的一个体现。
这张图显示的是在以前比较具有代表性的,或者说很多游戏厂商都会常用的一种设计方案,大家可以看见并不是每个厂商用,大家基本上是合集,比如游戏一般会有更新服务的地方,那么它会通过定期的版本更新的文件分发给这些终端,让那些游戏玩家更新,这是这部分完成的功能,主要的是有游戏运行的服务,游戏前端、后端、数据库等等,为用户进行游戏提供服务。
这样一个架构实际上在我们之前接触客户的时候,是一个比较常见的一个架构,可能今天实际上我们来回头看看还是有很多的手游的客户也依然是按照这样一个架构的子集在运行着。但是如果我们深入的看看会发现在这样一个架构中,实际上是有一些隐含的一些风险的,或者说当游戏出现一些异常情况的时候,这个架构是可能出现崩溃的。
为什么呢?今天其实我们不妨回过头想想,在手游这个行业如果今天我们真的想想,繁荣的背后有什么样的挑战,第一点大家可能都想到,今天游戏开发的门槛已经大幅度降低,前面一个嘉宾介绍了,Cocos2d的引擎,是非常好用的,那么今天游戏开发的门槛是大幅降低的,游戏的数量会增长非常的快,玩家的忠诚度也就随之降低。那么今天我一款游戏出来凭什么击败其它的游戏爬上应用商店的首页,安全可用,要有高可用性,所以第一点在今天这种情况下,安全、稳定、高可用的游戏服务一定是手游能够得以立身的根本。
第二点今天我们一个热门的游戏可能在今天没有一个同学知道,但到明天他就可能排到APP STORE的第一名,就像来往一样,前几天,一个星期之前在场的10%不知道来往,但是一天之内,马厂长,我们的现任厂长也号召大家,一天的用户两达到600万,今天来了不刷来往,也不好意思说话,一款游戏短时间内达到一个用户量的突增,这个怎么办?以前比较简单,以前去预约机架,买一些网络设备、布线,布服务,全部走下来一个月过去了,用户数也流失了,所以在今天的情况下当一个热门的游戏出现业务突增的时候,我们的系统架构能不能支持业务量的爆增,这是非常大的挑战。安全的问题,今天的网络环境已经非常良好,但是我们可以看到今天像这种攻击、牧马、病毒,是无处不在的,随时能够调动几个个,甚至几十个G进行攻击的行为已经是非常常见的。
所以一款游戏如果有的人你的竞争对手想要打击你的时候,他可能不是从正面跟你做竞争,他可能仅仅就是通过一些买一些流量来攻击你,使你的游戏不可用,就可以把你打倒,所以安全成为今天手游得以成功的非常重要的保障。除此之外还有一些其它的因素,这个里面今天回过头来看,这个图我们看不到为了防止这些挑战而做的努力的,比如我们今天的游戏更新服务的这个传统架构里面就一台服务器,那么如果这个一台服务器由于各种原因垮掉了,今天所有的游戏玩家无法做更新了,无法更新的结果很有可能是用户就没法玩这款游戏了。这一点其实很多我们在架构设计上大家没有注意到,单点的故障是非常严重的。
再比如说今天我们可以看到在游戏服务器的这一款它使用了三个游戏服务器,那么三台游戏服务器是固定的部署,那如果今天它的用户是一百万,明天是五百万,3台扩展到30台,这个架构没有办法扩展了,因为它所有的应用固定部署在一起,并且把这些前端和后端数据库布置在一台服务器上,带来的结果已经出现了业务的绑定无法解除,数据之间也没法进行突破,也没法进行互变的操作,这种架构设计看起来非常的简单直观,因为我们想象一台服务器就是为了服务一群用户,一群客户,把这些装在一起又省钱又简单,但是实际上它带来的隐患就是第一今天它没法去保证游戏出现大规模应用突增的时候能够提供良好的水平扩展服务,第二没法保证服务器出现问题之后用户能够不受影响的继续游戏,因为他没有做备份,这个游戏架构今天实际上并不是一件好的事情,我们之前服务很多客户都是采用这样的架构,所以我们希望的是,在阿里云的平台上,这样的一个架构呢实际上可以做出一些优化的,通过这些优化是完全可以避免之前我们所看到的那些问题的。比如说我们要在这个做主备,更新服务做主备,两台做这样的主备,前面加一个负载均衡,任何一台前面做更新服务的服务器挂掉都不影响更新服务对外提供这个下载服务的能力。
再比如说我们的这个前端的这种搜索,要跟后端的数据库分离,这是设计当中非常普遍的实践,所以今天当我们游戏客户做架构优化的时候也会做这件事情,前端的应用服务器和后端的一定要分离,D分离也不能完全解决由于服务器垮导致的数据丢失和不可用,这个时候要做的?我们需要把多台前端服务器做无状态化的,搭一个负载均衡实现水平扩展,这样任何一台服务器当掉没有关系,通过负载均衡把请求发到其它的服务器上。更进一步一样的在数据库上,D上我们也要做这样的搜索上,做主程的热备,做HB,大家觉得这样的操作对一个架构有点重有点难,很简单我们今天可以把它抹掉,直接用阿里云的IDS服务,阿里云的IDS服务是一种数据库服务,本身天然就已经支持主重的热备,这种服务不再需要你去搭这些数据库服务器,做热备都不需要,今天它已经天生支持。
更进一步的说,我们还需要遵循什么呢?安全,安全是随时不可忘的事情,我们需要把阿里云的云盾、云监控全部加上,避免用户招到攻击的时候手足无措,避免一些木马的攻击,这些都需要考虑到。把这个架构全部做完之后,我们回头再想一想是不是就可以高枕无忧了,今天不用做任何事情了,我的运维都可以解散了,什么都不用管了?还有一件事情,还差一件事情,架构已经有了,可是如果今天我的用户数突然从一百万到一千万,我这个架构要怎么调整呢?这是一个最关键的地方,基于这个架构,阿里云云服务器提供的这样一种能力,它对外暴露了开放的API,允许用户根据当前资源的使用情况,比如说你的CPU达到80%,比如说你的内存用到了4G等等,由你定义这个规则,进行当前资源的使用情况,主动或者被动的触发一系列的事件,就是去打个比方,生成新的云服务器向上扩展,或者删除掉你已经生成的一些云服务器向下扩展,通过这种方式,通过阿里云的云服务器API,根据当前业务的变化情况所反映的资源变化情况,动态的向上和向下扩展云服务器的资源,这就是阿里云云服务器所支持的,自动弹性扩展功能,这些全部做完之后回过头来看这个架构,今天不会有之前我们提到的在手游架构中间,夜游架构中间我们纠结的地方不存在,我们遇到的挑战可以在这个架构下得到非常有效的解决。这个架构是阿里云作为一种最佳实践,向所有的基于阿里云产品的游戏客户做了一个推荐。这个架构如果大家有兴趣在我们的官网上也有这样的地方做展示,并且我们也写了很多这样的最佳实践,我们的最佳实践大概有十来篇文章,也在阿里的官网上挂上了,大家有兴趣也可以看看。
这一块我总结了一下,阿里云目前在游戏行业游戏云怎么支持它,除了前面提到了开发、测试、部署运营之外,在架构上,在系统架构上我们怎么支持,我们有什么样的最佳实践,我列了这一块,最佳实践告诉大家的是:
第一我们要关注的是安全,安全永远是一款应用也好,一款游戏也好,得以繁荣,得以成长的根本的保证,所以第一要通过云盾和云监控的产品提供安全的服务环境。第二,我们必须解决游戏的高可用性问题,高可用的问题无外乎一个主备和单点故障。再往下弹性扩展,这是一个变化剧烈的时代,这是一个转眼之间业务可以成倍增长的时代,所以弹性扩展的能力,尤其是自动弹性扩展的能力就是我们游戏云必不可少的一个基础。这一点我们是通过阿里云开放的API来实现的,自动拓展。第四个IO的问题,性能的问题,大家很容易理解但是架构设计上容易忽略掉,这一点也是非常要关注的。
最后今天的游戏很多是一些,我们的手机非常先进,我手上有三个手机,这是阿里云的手机,手机的硬件已经相当漂亮,画质也相当的高,清晰,游戏也做得非常的精美,这个时候如果我们不能给一种高速的网络提供游戏服务,用户的体验就会非常差,阿里云的CDN是中国目前最好的CDN,在全国主要的城市,有一百多个CDN的结点,是全中国最大的CDN代理端,通过阿里云的CDN可以满足游戏云需要的低延迟的需求。这是我们在一年多以来服务游戏行业,服务这些客户,和他们一起成长的过程中所总结出来的一些经验,一些积累,一些最佳实践,当然这里面还有很多细节的地方。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者