用阿里云助力你的游戏

2015/03/12 - 杭州 By Simon

一、背景

在中国整个互联网的发展历程中,游戏行业一直是充当急先锋和很多公司奶牛的角色。即使到今天,游戏仍然是很多巨头们的核心收入来源。中国庞大的人口红利和东方人对于游戏的热爱程度都让游戏成为互联网公司的兵家必争之地。最近几年移动互联网浪潮中,手游的高歌猛进再次验证了这一点。所不同的是,各个巨头们在这次手游浪潮中更多得退到平台和运营角色,而大量优秀、独立的游戏内容创作商走到前台。

历来游戏行业都是高度竞争、快速淘汰的行业,而且一款成功游戏的生命周期越来越短。以前在PC端的游戏产品常常能有几年寿命(甚至是黄金期),而今天一款成功游戏的生命周期常常也只有几个月,而很多游戏甚至一上线就基本结束了其生命。如此同时,一款游戏的用户爆发速度也比原来快很多。当下,国内的网络接入已经基本成熟,再加上社会化营销,好的游戏可能只需要几天时间就能够风靡整个网络。面对这些新情况,游戏行业对承载其运行的基础设施提出了更高的要求,具体来说可以分成如下几个方面:

  1. 让基础设施更具有弹性,可以实现快速的开服、合服和关服。如前所述,游戏生命周期短,爆发速度快,传统那种自购集群或者租用IDC的方式已经跟不上游戏发展的步伐。在市场已经出现过一款火爆游戏要玩家排队几个小时才能够登陆服务器的场景出现。
  2. 让基础设施(计算、存储、网络等)能按需付费,可以降低游戏运营的成本。由于大量的游戏开发团队都是轻资产运作模式,不会做大量前期投入建立自己的基础设施。所以基本采用租用基础设施的模式。在竞争这么激烈,变化如此迅速的市场,即使再有经验的游戏开发团队也很难预测一款游戏的生命周期、火爆程度。所以自然希望在基础设施(这是游戏运营中很大的一部分成本)上能够按需付费,降低成本风险。
  3. 让基础设施质量更可控,从而降低游戏运营的风险。基础设置的质量不仅仅是传统意义上的硬件质量,而是包括网络接入、机房环境保障、服务器配套设备、容灾容错在一块的整体质量。如果要自建整个基础设置,到达质量可控的程度,成本非常高。而传统IDC很多时候交付的基础设置质量并不可控。
  4. 让基础设施更容易管理,可以降低游戏运维的难度和成本。现在一款成功的游戏基本上已经都是互联网规模,一款游戏同时运行的服务器数量比起传统网络游戏能上一个甚至几个数量级。在这么大规模的情况下,很多传统运维的方式因为复杂度、效率或者成本都已经行不通。游戏运维人员需要有高效、简单的方式管理整个基础设施。

由于上面这些挑战,从互联网行业发展而来的云计算(尤其是以AWS为代表的公有基础设施云,即IaaS。注:本文下面提到的云平台都为IaaS平台。)得到了游戏行业的快速呼应。例如,在国外以Zynga为代表的新一代游戏公司是利用公有云发展起来的。国内,也已经有越来越多的游戏公司使用公有云作为自己的基础设施平台。

二、云计算与游戏

从互联网行业发展起来的云计算在很多方面和现代的互联网游戏有很多类似地方。所以其基础设施云也非常适合游戏行业。宏观上来说,公有云在下面几个方面很好的满足了游戏行业的刚性需求:

由于这些明显的优点,云服务和游戏是天生一对,云计算平台成为大量游戏公司积极尝试的技术路径。在国内,几乎所有的基础设施公有云提供商也都非常重视游戏行业,推出了各自的游戏云解决方案。阿里云作为全国领先的IaaS服务商,也推出了自己的游戏云整体解决方案(http://game.aliyun.com/ ),通过整合阿里云各个方面资源,为游戏行业的用户打造高效、可靠和用得起的基础设施。

三、云上的游戏开发、运维

对于一款游戏,在其整个生命周期上的设计、开发、上线、运维及运营涉及到非常多的环节,有游戏定位、内容创作、逻辑开发、渠道运营及推广等等。在这里,我们主要讨论作为全新的基础设施平台,云计算平台给游戏带来了什么,并以阿里云为例说明云上游戏开发及运维工作。 首先,让我们看下一个游戏运营周期中和基础设施相关的流程都有哪些,如下图所示:

游戏运营周期

通过上面的分析,我们可以看出IaaS平台给游戏行业提供了一个非常好的平台,可以帮助到轻资产的游戏团队快速开发、上线游戏,并在整个游戏运营周期的不同阶段提供不同的支撑服务,让小团队能够获得大公司一样高效、高质量的基础设施平台。当然,向云迁移游戏服务并不信手拈来,仍然有一些要点需要把握好才能够发挥出云的优势:

四、Fit2Cloud:阿里云上的一体化游戏运维平台

Fit2Cloud是完全基于阿里云API的新型云上服务运维平台,针对游戏团队提供如快速开服,实时监控告警、批量运维、自动伸缩、代码部署等一系列服务。具体如下图:

一体化游戏运维平台

在Fit2Cloud中,用户的基础设施以应用(Application)视角管理(不同于阿里云控制台以资源类型及地域视角管理),让用户的所有运维操作可以轻松定位到指定应用服务。Fit2Cloud支持为一个应用管理多种云资源(如实时申请的按量付费虚机、主动导入的包年包月虚机、自动伸缩产生的云资源变化等),也支持对于资源之间关系的管理(如添加虚机到SLB、注册RDS白名单等)。另外,为运维阿里云资源集成了多项服务(如执行脚本,环境初始化等)及相关的辅助功能(如费用管理、资源权限管理等等)。同时,为打通用户从代码到服务的通道,实现如下持续交付的游戏生产流程,Fit2Cloud提供了“代码部署”模块。

打通从代码到服务的通道

Fit2Cloud的代码部署模块提供如下功能:

为保证游戏用户的数据和基础设施安全,Fit2Cloud支持企业版部署模式。在这个模式下,整个Fit2Cloud部署在用户自己的阿里云虚机上,所有数据也存到这台虚机内(Fit2Cloud不会上传用户业务数据)。同时,整个服务由用户自己管理,拥有所有权限。Fit2Cloud会负责在后台帮助用户升级Fit2Cloud软件自身,保证用户时刻使用最新、最安全的Fit2Cloud服务。

作者简介:Simon是FIT2CLOUD资深架构师。FIT2CLOUD致力于帮助企业更好地使用云来加速业务创新,实现从传统IT到Cloud IT的转型。FIT2CLOUD不仅提供一站式的应用交付及运维管理工具,同时还提供方法论来帮助企业打通从代码到服务的通道,实现云应用的持续交付和自动化运维。FIT2Cloud阿里云企业版已经上架阿里云镜像市场( 链接是: FIT2CLOUD应用交付及运维管理平台Centos 6.5 64位 )。