Camel Games借助AWS在爆发式增长中提供优质游戏体验
关于Camel Games
Camel Games 成立于2009年,是中国首家得到google市场官方认证的顶尖开发公司。长期以来,Camel Games始终依靠于率先的技术背景,致力于成为国际一流的手机网络游戏开发商和运营商,为全球无线增值服务市场提供顶级的手机游戏娱乐产品。眼下。Camel Games共推出了12款Android游戏,当中7款曾获Google推荐,Blow Up,
Space Physics, Roller 等游戏曾位列Android游戏分类排行榜的前三。Roller (Lite)最高获得Amazon总免费榜的第二名。
Shot U! 曾获选Android 2.0系统公布会的游戏典范。
于2012年公布的《小小帝国》是全球首款支持LBS(真实地理位置)的竞技策略社交网游,推出后公司连续数月的月流水收入超过千万。
挑战
Camel Games最初的业务方向是为安卓系统制作单机游戏。随着互联网的飞速发展和智能设备的日渐普及。Camel Games意识到网游具备更大潜力,于是開始转型做网络游戏。在6个人的团队协作下,Camel Games的第一款联机游戏《小小帝国》问世,3D城建加上塔防对战的形式迅速为其积累了大批“粉丝”,原本的server容量几近饱和。
用户的良好反应吸引Google Play特别针对《小小帝国》做了长达一个月的推荐,推荐后的首个星期。全球的玩家数量以每天几万的速度呈现出爆发式增长。导致Camel Game的server一度瘫痪,添加server数量迫在眉睫。这时期的Camel
Games已经拥有二十多个员工,分管着Android开发,iOS开发,美术,策划,运营和行政等方面,在人手方面,Camel Game非常难在短期内安排额外人员进行server的扩充和维护工作。同一时候,因为Camel Game业务正处于由单机游戏向网络游戏过渡的转型期。业务发展的需求对公司在server方面的总体规划(时间成本、费用投入等)提出了更高的要求。Camel Game须要总体对此进行评估,并高速做出决定。
为什么使用AWS
通过对挑战的解读和现有资源的排查。Camel Games觉得借助于现有的。稳定可用的网络资源是针对眼下问题的最佳解决方式。
经过严格的比对,Camel Games终于选定知名的Amazon Web Service(AWS)作为合作伙伴。借助Amazon EC2、EBS、CloudFront、S3等成熟的云服务来扩充server容量并改善用户游戏体验。
与其它网络服务供应商相比,AWS对于Camel Games的优势在于:
灵活的弹性及配置选择
Camel Games选用Amazon EC2和EBS作为游戏server。EC2能够在云中提供大小可调的计算容量,Camel Games能够依据业务需求在几分钟之内添加或降低容量。完美攻克了之前突发的用户数量增长问题。另外,EC2拥有数十种可选配置,能够依据游戏的不同部分进行不同的计算、内存和网络配置。有效提升利用度。EBS能够为 EC2实例提供可用性高、可靠性强且可预測的存储卷,最大化容量弹性。
稳定可靠的储存能力和遍布全球的内容分发网络
Amazon CloudFront和S3被Camel Games 用作资源下载平台。
因为《小小帝国》採用3D效果,游戏图像、视频等资料会占领非常多server空间,Amazon S3 具备高度耐久和高可用性的存储能力。同意整个存储基础设施转移到云端,并利用其扩展性来处理不断增长的存储需求。
同一时候。针对Camel Games用户分散的特点,Amazon CloudFront 提供了遍布全球的内容分发网络 (CDN),不管玩家处于美国、欧洲、亚洲、南美洲或澳大利亚都能通过离其近期的节点下载数据,低延迟地获得游戏更新和内容。
成本可控性和平台高兼容性
从前期的投入到后期的运维,属于创业公司的Camel Games在成本方面均有着非常高的要求。AWS 採取“按需付费”的服务方式。无需前期搭建,仅仅按实际使用的资源收费,有效缩减成本及改善现金流。此外。因为能在短时期内架构基础设施,使用大量资源,AWS 还为Camel Games带来了显著的运营优势。
远程操作节省了大量的人力成本,让团队更专注于自己的核心业务---游戏开发。
同一时候,对于游戏公司而言。平台的选择十分重要。AWS 的云服务提供独立的语言和操作系统,适用于 Java、PHP、Python、Ruby、Node.js 和 .Net 等众多软件开发工具包。针对手游还提供适用于iOS 和 Android 的软件开发工具包。Camel Games能够依据须要同一时候使用Linux, MySQL, Openjdk, Gcc, Redis, Nginx等平台和技术进行游戏开发。
收益
因为AWS的YUM源已经配置好,Camel Games第一次进行完整环境搭建仅仅花费了1天时间。
在后期出现用户数量激增须要开服的情况下,Camel Games会使用AMI进行镜像拷贝,2小时内就能完毕,大大缩短了产品上线时间。
Camel Games的server运营主管易律表示:“作为创业公司,Camel Games对server性能指标的稳定性以及运维的便捷性十分重视。同一时候,价格方案的灵活性也是我们參考的重要因素。使用AWS以来,我们发现最初对云计算的操心全然不是问题。AWS能够非常好地满足我们的业务需求。
如今。Camel Games的全部海外server都在使用AWS,以后也将继续使用。
”
很多其它信息
欲了解很多其它AWS在游戏方面的应用,请參考AWS的游戏托管页面:
Camel Games借助AWS在爆发式增长中提供优质游戏体验的更多相关文章
- NGK内存爆发式增长,看Baccarat将怎样打造全新的全场景金融生态
从数字货币抵押借贷业务出发,DeFi已经形成了覆盖全场景的全新金融生态. 可以说,除了信贷等少数对现实世界信息存在较多依赖的实体业务,DeFi已经实现了传统金融业务的全面链上迁移.大多数传统金融行业存 ...
- TOP100summit:【分享实录】爆炸式增长的斗鱼架构平台的演进
本篇文章内容来自2016年TOP100summit斗鱼数据平台部总监吴瑞城的案例分享. 编辑:Cynthia 吴瑞诚:斗鱼数据平台部总监 曾先后就职于淘宝.一号店. 从0到1搭建公司大数据平台.平台规 ...
- 彻底弄懂响应式设计中的em和rem
前一阵子在响应式开发中遇到了em和rem的问题,也上网搜过一些文章,篇幅很长,也没有仔细看,今天来总结一下. rem是指:根元素(root element,html)的字体大小, em是指:父元素的字 ...
- 响应式布局中的CSS相对量
一个响应式布局,要能够根据设备屏幕尺寸的改变,动态的调整页面内容,展现不同的设计风格. 在进行响应式的 CSS 代码编写过程中,经常会用到一些相对尺寸,以达到相对定位的目的.例如,常见的响应式布局中需 ...
- 借助python工具从word文件中抽取相关表的定义,最后组装建表语句-非常好
借助python工具从word文件中抽取表的定义,最后组装建表语句-非常好 --如有转载请以超链接的方式注明原文章出处,谢谢大家.请尊重每一位乐于分享的原创者 1.python脚本 ## -*- co ...
- 非抢占式RCU中的一些概念
该记录着重介绍下:2.6.34版本中非抢占式RCU的基本概念. RCU保护的是指针,因为指针的赋值可以使用原子操作完成: 在非抢占式RCU中: 对于读者,RCU仅需要抢占失效,因此获得读锁和释放读锁分 ...
- 渐进式 jpg 和 交错式 gif png 提高图片站体验
渐进式 jpg 和 交错式 gif png 提高图片站体验= 渐进式的JPG比原始JPG还要小!! 让图片性感的露给你看~google picasa 和 smashing magazine 都有用到搞 ...
- 示例 - 25行代码等价实现 - 借助Nodejs在服务端使用jQuery采集17173游戏排行信息
今天在园子里看到一篇文章: 借助Nodejs在服务端使用jQuery采集17173游戏排行信息 感觉用SS来实现相同功能更加简洁, 于是写了一下, 发现25行代码就搞定了 (包括自动翻页), 于是跟大 ...
- 一个RESTful服务,用来定位运行在AWS地区(Region)中的中间层服务
Eureka 一个RESTful服务,用来定位运行在AWS地区(Region)中的中间层服务.由两个组件组成:Eureka服务器和Eureka客户端.Eureka服务器用作服务注册服务器.Eureka ...
随机推荐
- bootstrap-select.js 下拉框多选后动态赋值
话不多说先上demo 其实demo是从官网下载的 只稍作改动 由于没有搞清楚怎么上传源代码 就把官网的链接贴出来吧 https://github.com/silviomoreto/bootstrap- ...
- SPI子系统分析之二:数据结构
内核版本:3.9.5 spi_master struct spi_master用来描述一个SPI主控制器,我们一般不需要自己编写spi控制器驱动. /*结构体master代表一个SPI接口,或者叫一个 ...
- IDEA快捷键【收藏】
Ctrl+Alt+L 格式化代码Ctrl+Shift+J 两行合成一行,删去不必要的空格匹配代码格式其他快捷键:[常规]Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 ...
- ssh框架,工具类调用service层方法
解决方法: @Component//声明为spring组件 public class CopyFileUtil{ @Autowired private DataFileManager dataFile ...
- JAVA中Colllection的基本功能
Collection中的add方法: 代码: public static void main(String[] args) { // TODO Auto-generated method ...
- 一道面试题Lintcode196-Find the Missing Number
http://www.lintcode.com/en/problem/find-the-missing-number/# Find the Missing Number Given an array ...
- TP3.1 一对多模型关联
TP3.1.3 的一对多的模型关联 老需求 --- 一个用户多个文章,查看这些文章 HasMany 首先定义Model 模型名字叫UserMode.class.php class UserMode ...
- 快速上手Runtime(二)之给分类添加属性
我们都知道,分类是不能直接添加属性的,那么我们有时候又需要实现这个功能,那么我们应该怎么办才能为分类添加上属性呢. Runtime给分类添加属性原理 给一个类声明属性,其实本质就是给这个类添加关联,并 ...
- 2-字符串模拟- URL映射
问题描述 试题编号: 201803-3 试题名称: URL映射 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 URL 映射是诸如 Django.Ruby on Rails 等 ...
- python学习——查找计算机中文件位置
有时想查找某个文件时,却忘记了文件在计算机中存放的位置,这是一个经常遇到的问题. 当然如果你使用windows 7的话,可以直接用右上角的搜索框来搜索. 最近在学习python,正好拿这个来练练手,写 ...