在亚马逊云科技上为1.25亿用户实现移动应用个性化

本文为AWS Active云创计划官方博客与Ankit Jain(Quettra公司创始人兼CEO)就常见问题所进行的交流。

Quettra是一套移动智能平台,来自世界各地的开发人员能够利用它让自己的产品更加个性化、更具吸引力,且自用户首次开启该应用时就表现出极高的智能化水平。

Q:每位创始人都有着自己的有趣经历。您能说说Quettra公司的诞生历程吗?

A:首先,感谢给我这个机会分享Quettra的成长历程。Quettra公司的诞生理由非常简单:每一位应用程序开发人员都需要从更深层次理解自己的移动用户,而不能单纯依靠用户启动应用的次数、会话长度以及点击数量等太过简单的基本统计数字。

当初我在谷歌公司上班时,主要负责Google Play的搜索与发现工作。我所领导的团队着力以成功的原有谷歌产品为基础,在GooglePlay之内提升用户使用体验。举例来说,Google Play Music能够通过用户的YouTube观看记录掌握他们对于音乐风格的喜好。如此一来,每一位新的GooglePlay Music用户都能在上手之后直接获得相当于传统产品两个月后的使用体验。

这种令人难以置信的体验帮助我极大开阔了眼界; 其巨大的潜在作用当然毋庸置疑,遗憾的是这样的技术只能存在于像谷歌这样的技术巨头当中。为了将此类平台提供给每一位开发人员,Quettra公司也就应运而生了。

Q:您在将公司业务推向市场的过程中,遇到过哪些挑战?

A:个性化是个非常有趣的领域。当它能够切实起效时,结果堪称神奇。但如果无法起效,那么干脆谈不上有什么结果。大部分实验性思路都没能在生产环境下扩展到拥有具备实际意义的规模。我们幸运地拥有着不少alpha与beta测试合作伙伴,他们的鼎力支持帮助我们调整自身系统并改进产品水平。除此之外,我们的测试环境涵盖了超过1.25亿名用户!这样可观的规模在同领域的初创企业当中简直是无法想象的。

Q:那么AWS在其中发挥着怎样的作用?

A:AWS的作用非常重要。作为一家初创企业,我们在不到一年的时间中将用户数量由0提升至1.25亿名。我还记得2008年时Cuil公司运维团队忙碌的情景:他们需要耗费数周时间完成机架安装、设备首轮启动并将我们的代码安装在其上。整个过程简直是种煎熬,而且为满足潜在的用户需求而购置这些设备确实带来了高昂的前期成本。我们需要设置多座数据中心作为冗余设施,同时划分集群以实现测试及生产——总之方方面面都要兼顾到位。

AWS则带来了一套非常出色的交钥匙解决方案。除了通过AWS Activate程序建立自己的首套业务版本并学习与该系统相关的知识之外,AWS方面还提供了我们梦寐以求的所有培训及技术支持方案。

Q:您能更具体地讲讲贵方是如何使用AWS的吗?

A:我们每天利用Amazon EMR处理规模高达数十TB的海量数据,每月利用Amazon SQS处理超过50亿条消息以尽可能保证我们的系统以实时方式运行,而Amazon EC2则满足了我们对于服务器资源的一切需求。

这并不是说我们在使用过程中就一直畅行无阻。我们曾经根据SQS客户以及Amazon RDS实例的处理强度建立起不同的针对性解决方案。当时我们处理消息的速度太快——即使已经将数万条消息汇聚起来进行一次性处理,这就导致RDS实例根本没办法跟上其节奏。考虑到消息获取速度是存在上限的,我们拿出了一套非常简单的解决方案:将菊花链引入SQS队列!通过现时使用两条队列,我们将每天产生的几千万条消息转化成了单一客户即可写入至RDS实例当中的数据。 

由于数据与事务处理规模太过庞大,我们对资源使用成本当然也感到担忧。我们所生成的数据量高达数PB,而且需要始终运行指向这些数据的EMR任务。不过有了Amazon EC2的“保留实例”(即Reserved Instance,指利用来自不同区域的闲置资源处理客户工作负载,其使用成本较正常资源更低),我们得以显著降低整体资源使用成本。不过真正的惊喜还是来自Amazon EC2“精确实例”(即Spot Instance,指用户提前申报预期资源使用量、从而降低资源使用成本的方案)。由于精确实例并非低质量服务,因此我们能够在充分满足业务需要的同时以较低价格享受云服务资源。在另一方面,自动伸缩组机制帮助我们将规模自动伸缩能力引入标准服务器集群。稳定的流量水平一般趋近于正弦曲线。在以保留实例自动伸缩组为主、精确实例自动伸缩组为辅的业务支持体系下,我们不仅能够显著降低运营成本,甚至还可以交付持续正常运行时间。

监控工作一直是业务流程中的重大挑战,但Amazon提供了大量极为宝贵的工具选项。在Boto——一套面向AWS的Python接口——的帮助下,我们得以自动设置多个Amazon CloudWatch指标,从而同时对多台设备及多套集群加以监控。这有助于监控实时运行状态下的多种试题标准(包括每秒请求数量、每秒错误数量、CPU、内存以及网络等等),并帮助我们对紧急状况进行快速响应(例如高CPU使用率、故障峰值、多台主机无法正常运行等)。有了这套全面的追踪体系,我们甚至能够针对关键性问题建立一套寻呼系统。

Q:对于有意以AWS为基础建立解决方案的初创企业,您有哪些建议供他们参考?

A:1.  Stack Overflow网站应该成为大家最好的朋友。归功于这一活跃社区的鼎力协助,我们已经顺利解决了实际工作中的大量难题。作为一家初创企业,最重要的就是了解自身的关注重点究竟在哪里。当我刚刚创立Quettra公司时,我很清楚业务发展方向就是进行移动数据收集以及数据挖掘工作。我绝不希望基础设施的构建与实际业务需求发生太大偏差。在作出几乎每一项基础设施决策之前,我都会认真查阅Stack Overflow当中与对应议题相关的文章。可以说正是在该社区的支持之下,我们才有了今天的成就。

2.  尽早投入以建立起良好的脚本语言部署体系。我们选择了Ansible,而它也在业务规模发展过程中带来了巨大回报。我很庆幸我们当初没有选择以手动方式部署下辖的数百台服务器。Chef与Puppet同样值得推荐。总而言之,尽早从中选择一款并部署到位。部署工作确实需要一定资金投入,但随着业务的持续扩大,大家会发现这一切都是值得的。

Q:Quettra公司的下一步发展计划是什么?

A:我们在两周之前刚刚推出了Quettra Portrait项目,旨在帮助开发人员对应用程序进行个性化调整,从而获得更理想的客户参与度与保留水平。我们认为这套能够解决77%难题(调查显示,应用程序被安装之后的三天内往往会流失77%用户)的方案将为应用程序开发人员带来巨大的发展机遇,而我们也将致力于这方面工作。我们一直在招聘硅谷中最出色的人才,也就是那些充满热情、乐于让用户的数字化自我(即移动设备)以更加智能化的面貌出现在世人面前的技术人员。

原文链接:

https://medium.com/aws-activate-startup-blog/mobile-personalization-for-125-million-users-on-aws-64dd7ba7456

核子可乐译

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值