随着云计算的深入发展,基于云的游戏业逐渐呈现出崛起的态势,而且这也成为一些游戏行业巨头定位未来游戏发展的一种方向。云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户。在客户端,用户的游戏设备不需要任何高端处理器和显卡,只需要基本的视频解压能力就可以了。
在这样一种充满激进情愫的新兴的领域中,其与对云计算的青睐不言而喻,不仅仅对于游戏开发商的开发过程起到了作用,同时在其运维过程中更是起到了***的冲击。近日,在亚马逊AWS游戏行业研讨会中,众多游戏行业从业者分享了其采用AWS开发和运维云游戏的经验。
据了解,从2006年以来,亚马逊AWS已经为全球不同规模的游戏公司,诸如Ubisoft、Rovio、SuperCell、SEGA、Wooga、趣加游戏、游戏谷、上海纵游等提供了从游戏托管到大数据分析等一系列完整的解决方案。AWS不同功能和服务的实现的时间有长有短,但是,有一些不同的组件非常适合于云游戏的开发和发布,而且AWS为云游戏提供了一种低成本,高能力的解决方案。
弹性扩展Auto Scaling
在这里不得不提的是Auto Scaling组件,因为对于云游戏来说,网络流量尤为重要。AWS跨国企业及市场营销拓展部主管林家伟表示:“与其为一些不用的带宽支付费用,不如使用自动扩展,因为它在你需要时分配了更多的资源,不需要时就是自动缩减。通过Auto Scaling的应用,企业在维护应用程序性能和开销的许多相关工作中得到了更多的帮助。”
Auto Scaling能够跨越可用区域提供服务。这些可用性区域处于AWS 范围内,如果在某个可用性区域中发生了故障,AWS Auto Scaling将在同一个地理区域内的某个功能区启动一个新的实例。Auto Scaling能够通过负载均衡器配置集群内服务器间的工作负载。
AWS中国***云计算顾问方国伟介绍:“这是一种数据和计算分离的方式。亚马逊的弹性负载均衡服务提供了一个到你的应用程序的所有流量的单点访问。当使用负载均衡器时,可以引用负载均衡测量指标以及EC2实例测量指标来制定自动伸缩策略。”
Glu Mobile云游戏实践
在此次研讨会上,Glu Mobile中国区技术总监尹泽泓谈到了自身的实践,他解释道:“AWS Auto Scaling能够轻松地跨多个服务器分配负载,提供所需的性能数据,完成伸缩服务建议,包括CPU使用率、磁盘使用情况和数据传输情况等。系统管理员可根据这些测量信息规定添加或删除服务器的配置策略。这样我们就能够为游戏玩家提供更加舒适的游戏体验。”
同时Glu Mobile还利用亚马逊的服务进行玩家分析,“我们希望了解用户为何会离开,通过组合搜索、平行分析等方式,了解我们的终端用户需求,最终不断改进我们的游戏体验,”尹泽泓补充道。
另外,Glu Mobile会采用亚马逊简单存储服务(S3)、归档服务Glacier来存储一些不常用的数据,满足其经济效益需求。S3提供了存储能力,可存储视频,更新版本和实际内容,而且有报告显示S3的成本可能会降低一半,并且亚马逊提供了11个9的服务承诺。
3D云游戏发展
谈及现在比较热门的云端3D渲染技术,Glu Mobile北京工作室总经理姚乐中表示:“这会是游戏行业发展的一种趋势,而且其未来也充满了希望。”他谈到了亚马逊***的服务AppStream,“它能够让图形计算密集型应用程序在不具备特殊GPU工具的设备上正常运行。当然,对于游戏应用这是相当重要的。”
现在几乎所有的游戏应用程序、众多的视频制作、甚至图形模拟和显示应用程序所共同面临的挑战之一就是,它们的运行非常非常地依赖于高性能图形处理单元。
方国伟补充道:“AppStream在应用程序和设备之间的云计算中创建了一个代理,这个代理可发挥图形处理单元(GPU)的图形渲染功能,并把渲染计算结果发送至一个简单的显示数据流,而这个数据流将是几乎所有现代计算机、平板电脑或者智能手机都能够轻松处理的。”
随着移动游戏的不断增长,开发者面临的***问题之一就是尝试覆盖到市场上的每一种可能的设备。虽然这些设备共享不同的屏幕大小、操作系统以及硬件规格,但是拥有相当同意的用户体验需求。
尹泽泓则引申一步道:“AppStream可以把数据传送至在多个平台上运行的客户浏览器或应用程序,而不需要修改底层的应用程序。这一点极大地改善了移动平台的兼容性问题,即开发一套应用程序代码即可在实现跨平台的使用。”
此外,在研讨会上,我们看到亚马逊的DynamoDB对于开发人员和更喜欢使用一个托管服务来管理他们自己的NoSQL数据库的应用程序管理员来说,是一个不错的选择。DynamoDB是一个提供自动化的可扩展性和配置IOPS的键-值数据存储服务。对于已经投入时间和资源建立IAM策略的AWS用户来说,这是特别有吸引力的,因为他们可以精细地控制对保存在亚马逊DynamoDB中数据的访问。