Jesper Richter-Reichhelm 作为 Wooga 公司的工程主管,在 2014 年的阿姆斯特丹 GOTO 大会上发表了演讲,分享了 Wooga 在寻找适用于其移动游戏的商用后台服务过程中所遭遇的困境。在已有的产品中,同时兼有成本合理可接受,支持与已有工具集成,支持透明地访问数据等特性的,几乎是不存在,所以 Wooga 自主研发了演讲中所涉及的服务。
Jesper 重点关注了三种后台服务:用户数据持久化,AB 测试分析和异常处理,这些服务对于移动应用都是通用的。
对于数据持久化,Wooga 的需求是支持多设备的用户数据和多种环境( CI ,测试,生产),而 Parse 不支持这些需求,虽然 Kinvey 支持,但是对于四千万的用户基数其成本太高。Wooga 决定基于 ETags 研发自己的 key-value 存储,配置和授权服务也采用相同的策略。
Omniata 对数据分析和 A/B 测试提供了丰富的功能支持,但是无法与 Wooga 已有的工具集成,并且不支持深度访问数据,如哪些用户收到了应用的特殊配置,这都严重阻碍了我们采用该产品。所以,Wooga 从早期就研发了自己的工具,用于分析、仪表板和报表等方面。
在异常处理方面, HockeyApp 缺乏异常相关的信息和异常发生的条件。而 Crittercism 具有更多功能,这不失为一个更好的选择,但是对于百万级用户成本过高。它也有不足之处,如不支持细分(如比较处于 A/B 测试的新版本与老版本相比,崩溃次数是否更多)和规格化(如特定错误影响用户的百分比)。Wooga 自己的实时异常处理工具同时支持以上两点。
随着自主研发通用后台服务数目的增多,Wooga 决定成立一个专门的移动后台服务团队,效仿 Amazon 的做法进行运作(团队提供服务的 REST API,游戏开发人员负责分析结果)。Jesper 强调,没有合适的外部选择,这是 Wooga 自主研发与维护这些服务的原因所在。他列举了一些服务作为佐证,其中有 New Relic 用于网站监测, GitHub 和 Travis CI 用于开发。
Jesper 提到 Wooga 正在考虑在明年开源他们的后台服务。
查看原文链接: Missing Backend Services for Mobile
感谢杨赛对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论