专访阿里云游戏首席架构师李刚:如何解决云服务技术两大痛点?
对于阿里云来说,游戏相关的项目合作一直在增加。对于如今的游戏行业来说,云服务早已不是什么新鲜的话题。一定程度上,不论是近期兴起的手游,还是曾经的端游和页游,如今都会或多或少地运用到云计算功能。在众多“云厂商”中,如果从技术角度来看,阿里云无疑是经验资历最老的团队之一。据悉今年上半年,阿里云已占据将近50%的云服务市场份额。
来源:IDC2008年9月,阿里巴巴正式确定了“云计算”战略,1年后阿里云正式成立。阿里云通过搭建原创底层代码研发出了“飞天”云操作系统。同时为了满足阿里旗下淘宝等核心业务,阿里云在全球范围部署其数据中心,据悉仅大陆地区就布置了6个地区,海外则有11个。
技术和经验的积累让阿里云成为了目前云服务领域最具知名度的团队,然而对于很多人来说,阿里云仍是一个充满神秘感的组织。近期,由于市场战略的改变,阿里云的发声开始逐渐变多。今日,阿里云游戏首席架构师李刚在阿里云“集合生态,游戏中国”游戏高峰论坛上首次露面,并就阿里云游戏的解决方案进行了部分介绍。
阿里云游戏首席架构师李刚在高峰论坛上发表演讲在此之前,葡萄君也曾采访到了李刚,值得一提的是,此前出于人才保护政策,阿里巴巴很少让其核心技术人员出现在大众视野中,当时则是李刚首次接受媒体专访。在采访中,李刚除了介绍阿里云本身外,也对云服务在游戏领域的发展与痛点谈了一下自己的理解。他认为,在游戏领域中,近期看云服务最大的痛点在于稳定性与安全性;同时,对于一些端游与页游厂商来说,云服务的性价比问题也是他们核心考虑的一点。“BGP带宽的价格基本上是单、双线带宽的很多倍,这对大多数端游来说并不划算。”另外,针对稳定与安全,李刚还分别讲述了阿里云在处理全球同服与抵御DDoS攻击方面的做法与方法论。在全球同服方面,阿里云会将工作分为三个层面:解决跨国骨干网络的传输、全球数据的交互和同步、全球范围内的流量调度能力。在DDoS攻击防护方面,阿里云则先后推出了“高防IP”(防御百G以上的攻击)与“游戏盾”(防御T级攻击)2个核心产品,在未来,他们还将针对小型游戏团队需求,推出拥有较高性价比的5-30G防御产品。最后,李刚还介绍了阿里云BI、AI在游戏领域的应用与探索。据悉,目前阿里云的一些BI、AI应用,可以为游戏运维、研发过程中显著提升效率,在未来,阿里云还计划投入到游戏内机器人AI(NPC)的探索与研究。“我们不是要做一个AlphaGo,而是要降低做AlphaGo的难度。”李刚对此描述道。以下为采访内容整理:葡萄君:阿里云负责游戏领域的团队架构是怎样的?李刚:阿里云游戏团队是整个阿里云售前业务体系中,成立最早、最成熟的团队。目前,大体格局是“区域+行业”。区域指的是,我们成立了很多的分公司,比如说2016年大概有七个经济发达的城市,现在大概会有十个以上的分公司,做深度本地化服务。我所在的是游戏的行业团队,负责整个行业策略制定以及头部客户的解决方案,并为区域团队赋能。针对游戏云,我们拥有垂直的售后服务团队,叫作技术服务经理团队。此外,阿里云还拥有产品团队根据具体业务场景推出定制化产品。可以说,从售前、售中、售后到产品,阿里云团队拥有一个专业的垂直服务体系。葡萄君:你认为,在游戏领域,云服务的痛点是什么?李刚:对于整个游戏行业而言,我认为,云服务有两大痛点,稳定和安全。首先是稳定性。这不仅要求服务器不出故障,还要求各项技能指标保持稳定。不仅要在特殊情况下保持稳定,是要能够提供365*24*7的持续稳定服务。其次是网络安全,之中包括抗DDoS攻击能力、以及应用层攻击防护。一些大厂在业务、运维安全方面会关注较多,比如最近吃鸡品类很火,防吃鸡作弊也是目前很多厂商的重点工作。其实,手机游戏对云服务的诉求是天生的。这是因为手机游戏运营周期短,游戏运营的未来预期也通常是不确定的。它本来就是几乎自然而然的接受,纠结的无非是考虑选用哪家云来用。当然,手机游戏近几年的势头也带火了国内的一些云厂商。“在传统的端游页游方面,其实现在还存在一些问题和困难。”葡萄君:对于页游来说,具体痛点体现在哪些地方?李刚:页游上上云主要会面对2点阻碍。首先,带宽价格问题,BGP带宽的价格基本上是单、双线带宽的很多倍,这对大多数页游来说并不划算。其次,页游也需要安全防护,但防护特点与大流量防护并不一样。由于页游开服会非常多,页游更需要针对大量IP进行防护,其中每个IP的攻击流量不是很大。解决这2点后,页游本身是非常适合上云的,页游滚服、合服比手游更加严重,可能短期就需要上千台服务器,但是运营稳定后,可能只需要几百台服务器。葡萄君:对于端游呢?李刚:对传统的端游大厂而言,首先,他们的存量物理机怎么办?端游大厂都有自己的IDC,有几千台物理机,厂商们需要逐渐把这些消耗掉。其次,一些老的游戏模式,经常会用到广播方式来做服务发现,但是在云计算的这种网络SDN里,这种方式是行不通的,所以往往需要借助一些比较复杂的技术手段来解决。这些都会影响传统端游对云资源的应用。从服务要求来看,端游服务器一方面需要较高的计算能力,另一方面对于时延要求也比较苛刻,特别是竞技类端游。两年前,我们接触这些传统端页游大厂的时候,他们几乎都不考虑使用云资源。他们往往会严重怀疑云的计算能力和稳定性。但是我们明显的可以感觉到,从去年下半年开始,已经有很多传统的端游大厂开始应用混合云,把自己的IDC和阿里云云机房全部通过专线打通了。现在,如果他们临时有一些增量需求,例如应对一些推广活动的时候,他们会用混合云的方式来使用一部分的云资源。同时,阿里云的计算能力和稳定性都得到了充分的验证,目前,这些厂商使用云计算的项目和量级都有着比较明显的上升趋势。葡萄君:为什么会有这种上升趋势?李刚:不难看到,云计算确实能够解决原来端游的一些需要解决的问题。例如云计算迭代速度快,在计算能力方面的升级拥有不小的优势,就不过多展开了。另外在延时问题上,目前云计算在协议层优化、计算节点的分布以及网络接入质量方面,也为他们提供了更优的解决方案。云平台的较广覆盖范围一定程度上解决了网络延时和公网质量不稳定的问题。拿阿里云来举例,目前在国内我们有七个左右的Region,有大概二十个数据中心,最近我们还将推出边缘节点和网络接入POP点服务,无论玩家在哪里,游戏都可以就调度到一个最佳的服务节点,这样可以有效地提升用户体验。同时,把核心世界服放在云平台上以后,云计算中心也可以提供跨地域的可靠的内网联通,从而保证整个游戏内部数据传输的稳定和高效。这种分布式的游戏架构,用户可以自己建,但是成本会非常大,维护管理也会非常麻烦。在国内,目前只有头部大厂有能力做这件事,而且他们其实也逐渐感觉到这样做其实非常耗费精力和资源,基本都在逐渐采用云平台的方式,覆盖原本IDC覆盖不到的地方。稳定和安全的具体案例:全球同服、棋牌DDoS防御葡萄君:对于一些全球同服的游戏来说,稳定性问题如何解决?李刚:阿里云提供的全球同服解决方案,大概分三个层面。第一个层面,解决跨国骨干网络的传输问题。游戏产品需要一条稳定、低延时、几乎无丢包的通信线路,才有可能去构建一个所谓的全球同服架构。在使用云服务前,用户需要去花极高价格去租借跨国通讯线路,整体流程也非常冗长,而且当业务临时发生变化,变更成本会非常高。如今,用户点几下鼠标就可以了。第二层,全球数据的交互和同步。在分布式缓存时,很多数据会送往唯一决策的地方记录和计算。可以说,数据同步是一件难度不低的事情,除了要求稳定的网络链路外,还需要有很好的同步机制。当同步出故障时,未完成任务如何继续处理,如何避免“脑裂问题”(两边数据对不上),在此基础上如何保证数据同步服务的高稳定性。针对数据同步,阿里云提供了一个很专业的数据同步服务,除Oracle以外,它几乎已经支持所有关系型数据库的数据同步内容,包括缓存的数据同步。第三层,全球范围流量调度能力。你可以把这部分理解为最后一公里,在前面都已经部署完成后,这个最后一公里显得尤为重要。就算此前的骨干网络效果再好,如果最后一公里接错了位置、或者经常抖动,整体效果也不会很好。具体来说,全球调动能力主要通过几点。其中一点是阿里云这边的智能DNS解析,这个功能会根据用户所在IP地址,提供相应的访问接入点;另外,通过HttpDNS+淘宝的接入网关服务,也可以提供这种加速服务。葡萄君:除了稳定性外,之前也提到了安全性问题。例如在棋牌行业内,DDoS攻击是最常提及的安全问题。李刚:棋牌行业现在是DDoS攻击的重灾区,大概两年以前,那时候300-400G的流量攻击算非常的大了,但现在500-600G只是日常,大流量攻击肯定会上T。葡萄君:针对安全防护,阿里云都做了什么?李刚:在游戏行业中,安全防护是阿里云最为核心的卖点,这一点是市场刚需。阿里云针对DDoS攻击推出了一个叫游戏盾的产品,它大概从2016年上半年开始做,目前已经快速迭代到5.0阶段了。传统防护比拼的一定是资源,我要防多大的攻击量,就一定要拥有大于攻击流量的带宽资源,抵御成功后再进行清洗。相比之下,游戏盾其实比拼的是数据,因为阿里云防御着国内近40%的网站类业务,有全球最大的攻击黑产数据,通过数据的方式可以很有效提升防护效果;同时游戏盾能够帮助服务用隐藏服务IP方式,让绝大多数攻击流量被黑洞掉。在防护当中,阿里云最早的防御方式是高防IP,即在攻击点前串接防护点,而所串接的防护点有攻击流量清洗的能力。这种防护方式可以和游戏盾相结合,防护游戏体系中的一些重要单点。游戏盾提供用户接口来配置自定义防护策略,同时由阿里云攻防专家根据实时攻击流量特征动态进行防护策略配置,所以没有这种顶尖的实战攻防能力也无法提供高品质的服务;另外,游戏盾与大多安全防御方式不同的一点是,黑客每攻击一次,所产生的痕迹和信息都会被我们收录下来,如果下一次他再用相同的方式来攻击的时候,就没有效果了。对于攻击者而言,他必须要想办法变化,这样会大大增加他的成本,游戏盾5.0就是基于这个方式所提供的,基本上现在是整个国内棋牌行业,抗御DDoS攻击的标杆产品。葡萄君:目前在市面上似乎也存在与游戏盾类似的竞品。李刚:现在有些厂商确实在模仿我们去做一些类似的产品,但他们在数据积累与持续攻防实践经验上,多少有所欠缺,基本上都是照猫画虎。可以说,效果能跟我们比较类似的非常少。实际上针对游戏领域,阿里云的整个安全防御并不是尽善尽美。根据行业内的估算,防护成本基本上是攻击成本的10倍以上,经常会有一些遭受攻击的小团队没有能力去支付防护费用而被活生生地打死。我们也尽可能提供丰富的防护方式,比如现在的5G免费防护,虽然对于绝大多数中小网站是足够了,但对于游戏来说肯定还是不够的。目前,我们的产品有防御几百G的高防IP,还有防T级别的游戏盾,目前我们有一个计划,就是把5G-30G区域的产品补出来。我们希望推出这种高性价比、拥有一定防御能力的产品,让相应的小团队或有所需求的团队能够得到有效的安全防护。阿里云的BI、AI技术在游戏行业有什么用?葡萄君:除了服务器方面的技术,阿里云其实在BI、AI领域也做了不少内容,这些内容具体在游戏领域都有怎样的应用?李刚:先说BI,也就是数据分析这部分。首先,在数据分析方面,阿里云可以提供多种数据引擎,像我们有基于开源Hadoop的EMR,有自研的Max Compute,还有GreenPlum、PolarDB等多种分析类数据库服务,当然这只是一部分,用户可以很方便地通过这些数据库引擎在云上自建一套BI分析系统。同时,我们跟友盟、阿里游戏,以及一些外部第三方公司合作,提供了一些专业的BI服务。比如,集成游戏数据运营服务及增值服务(日活、留存、流失预测等),用户分层运营服务,这些服务通过SaaS化方式,直接提供给用户。如果你是一个比较有规模的公司,拥有自己的BI人员,那阿里云可以提供最合适的计算引擎;如果小团队没有专业的BI人员,也可以给你提供相应的SaaS解决方案。具体来说,比如日志服务,我们帮助用户做了一套类似于ELK的数据探索加流式分析的引擎,一个没有接触过这套服务但拥有一定基础技术能力的工程师,基本上可以在1个小时内掌握这套系统。除了易于上手外,它的查询性能也非常好,阿里云几乎所有基础云服务的日志分析都在这套系统内运算;基本在10亿级别数据表中,小于4个简单条件查询加1个Group聚类,会在1秒内返回,这个效果用户是很难通过自建系统达到的。葡萄君:人工智能这方面呢?李刚:人工智能是这样的,首先是集团这块很重视,近期从达摩院的那个布局里可以看到,里面很大一部分是投在人工智能这一块的。在游戏运营方面,我们可以通过机器学习的方法去做用户的流失或者付费等行为预测分析,可以做一些精准的运营活动。此外,团队也在希望能和有意向的合作的团队一起做一些探索性的工作,例如,我们现在跟集团尝试通过AI辅助3D 设计的方式,提升游戏人物、场景动画设计效能。在整个游戏生产周期里,动画设计是一个非常耗时的阶段,以人工的方式,基本上一个交互的迭代周期都在1个星期以上,一个大城的设计都是以月为单位的。但通过AI,当用户清晰描述需求后,内容可以很快地进行生成,这样很多工作就可以同步做起来,然后针对Auto Design生成的设计效果,设计师可以再做进一步的优化和完善。另外AI技术也可以体现在游戏内容中,通常游戏内的机器人会被赋予预设较为固定的行为模式,这就使得目前很多游戏里的NPC等机器人会显得很“傻”。其实国外是有一些专门研究游戏AI团队在做,让机器人智能起来,我们不是要做一个AlphaGo,而是要降低做AlphaGo的难度;也有一些案例,但国内目前这块做的还是比较弱一些,所以这个也是我们的努力方向,当然也在寻找一些有意向能合作的团队。