关于DeNA/上海纵游

DeNA 创立于1999年,是世界率先的网络服务公司,业务涵盖社交游戏、电子商务等领域。DeNA总部设于东京,现已于京证券交易所上市(交易代码:2432),在中国、美国、新加坡、瑞典等10个国家和地区均设有办公室或者研发工作室。眼下,DeNA在全球拥有近1亿的用户,主要经营社交游戏平台Mobage梦宝谷是全球知名的智能手机社交游戏平台,为世界各地用户提供由第一、第三方开发的免费多人在线移动社交游戏。上海纵游网络技术有限公司(简称上海纵游)是DeNA集团的上海分公司。

挑战

现在,互联网的飞速发展将平民化、社交化和商业化的数据高度集中,推动着海量数据的“野蛮生长”,作为多人同一时候“作业”的典型平台,上海纵游正在面临一个前所未有的机遇。同一时候,诸多挑战也随之而来。DeNA原本的主要业务覆盖在总部日本与北美地区,近年来随着旗下《热血兄弟》、《传世三国》等游戏的盛行,韩国、中国等地的市场格局正在被不断突破,当地游戏用户数量呈现出阶梯式增长。怎样为这些用户提供稳定的游戏平台,并在第一时间传递公司的最新游戏资源成为上海纵游首先须要解决的问题。为此,上海纵游决定将扩充server作为首选解决方式。然而,採取自建或租用海外server的方式会耗费大量的资金和人力成本,多语言需求和异地管理也会无形中添加公司的运营压力。除此之外,从server的筛选,确定到部署须要一段相当长的周期,在此期间内目标用户的游戏体验势必受到一定冲击,有没有办法在投入成本和运营成本最小化的前提下实现快捷的server搭建?

为什么使用AWS

作为上市游戏公司,上海纵游对于合作伙伴的选择十分慎重,经过周密的调研与比对多个云服务平台,上海纵游终于选定採用AWS云平台服务,借助AWS的EC2,
VPC, RDS, S3, CloudFront, Route53等云服务来完好总体架构。在选择AWS时,上海纵游主要基于下面几方面的考量:

完好的云服务体系和成本控制

AWS灵活的弹性选择和完整的搭建结构可以满足上海纵游的业务拓展需求,同一时候节约部署及运营成本:

Amazon EC2/VPC:借助于Amazon EC2的高弹性优势依据实际需求随意调节容量。让EC2与VPC配合工作,为上海纵游的计算资源提供安全及强大的联网功能。眼下,上海纵游全部的server都 使用了VPC,仅仅有少量的server採用公网IP并做了訪问限制,用户的流量都通过ELB分发到AppServer,在AppServer前端可起到负载均衡 与高可用的效果。同一时候,上海纵游的同款游戏的server会被分配在一个子网络内,AppServer能够直接连接到后端的Memached或者DB server。

Amazon S3:S3是一种面向Internet的存储服务, 为上海纵游存储用户须要常常訪问的游戏中的静态资源,安装程序或者更新资源包等,确保用户资料的安全性和稳定性。

Amazon CloudFront:主要负责为存储在S3上的静态资源及游戏client提供下载加速服务,另外也会有一些server上的静态资源通过ELB来使用Amazon CloudFront来加速訪问。

Amazon RDS:上海纵游的一些游戏使用了RDS来取代自建的DB server,主库使用了Multi-AZ。RDS同意DeNA的数据管理人员进行远程设置、操作和扩展关系数据库,同一时候,还可以提供经济高效的可调容量。

无操作系统界限

因为AWS对操作平台没有限制,上海纵游能够同一时候使用Linux及Windows等多种操作平台执行node.js,perl或进行技术开发,为上海纵游的游戏开放提供了很高的灵活度。

人性化服务

AWS具有一小时全球响应服务,通过经验丰富的技术project师针对上海纵游使用AWS时可能出现的问题进行一对一高速解决,全年无休,最大化保障游戏服务的不 间断执行。在项目实施过程中,AWS的Trust Advisor服务可以帮助上海纵游随时检查AWS环境,并在有可能节省开支、提高系统性能和可靠性或弥补安全漏洞时及时提供建议。

全球覆盖性

同样的AWS技术同意开发人员在全球不同地点轻松部署应用程序,终于用户的覆盖范围不再受限。该特性帮助上海纵游轻松为韩国及港台、甚至全球范围的用户提供到日本节点快速的訪问能力,并确保国内开发人员连接到日本节点的稳定性。

收益

上海纵游对用户体验要求精益求精,在游戏项目实施的早期就会搭建Sandbox环境。为了控制成本,该环境通常採用t1.micro或m1.small来实现。Sandbox环境搭建完毕后会进行一些调试及測试工作。当游戏正式上线时,项目开发者、架构师及运维管理人员等会依据游戏在Sandbox环境中的表现,估算出大致须要的server数量,型号以及所需成本。然后,他们会向经营企划部门提出申请,与AWS团队相配合在2-3天内便能完毕正式部署,有效缩短了产品及服务的上线时间。借助于AWS灵活的弹性能力,上海纵游能够从容面对韩国及中国港台用户的迅速增长,依据自身需求高速添加server数量,确保该地区玩家的优质游戏体验。从上海纵游自身的管理和运营角度看,诸如Route53,
RDS, S3, CloudFront, Elasticache这种AWS云服务具备更简便的使用性,维护也不须要投入大量的人力和资金,加上AWS远程可控的特性和项目初期能节省的海外部署成本,上海纵游使用AWS的成本比自主运维成本减少了20%。

上海纵游技术project师段炼表示“通过使用AWS,我们可以大量缩短新款游戏和服务的上线时间。当运营计划有所变动时,我们可以方便地调整server的配置及数量,有效节省运营成本。依据我们眼下的使用情况,单点故障的恢复速度明显高于传统物理server,并且也没有碰到过全网网络故障,这一点远优于国内普通的IDC。”

很多其它信息

了解很多其它AWS在游戏方面的应用,请參考AWS的游戏托管页面:

https://aws.amazon.com/cn/game-hosting/

DeNA/上海纵游通过使用AWS大量缩短新款游戏和服务的上线时间的更多相关文章

  1. 上海地铁游移动APP需求分析

    人们在现实的生活中会遇到各种各样的问题,有不同的需求,我们需要加以解决,开发一个软件是一个很好的方法去解决这些需求和问题.那么,作为一个软件团队如何才能准确而全面地找到这些需求呢?主要有一下几个步骤. ...

  2. OPPO通过AWS节约大量成本提供海外服务

    关于OPPO OPPO最早被人熟知是在以MP3和MP4为代表的影音市场.转型进入手机市场后,OPPO获得了更大发展机遇,近几年更是成为发展速度最快的国产品牌之中的一个.早在2010年前就開始了海外市场 ...

  3. 如何使用AWS和Azure的配置存储服务保存读取配置

    原文:Want to yank configuration values from your .NET Core apps? 作者:pauljwheeler 译文:https://www.cnblog ...

  4. [转]基于AWS的自动化部署实践

    作者 徐桂林 发布于 2014年1月22日 -------------------------------------------------------------------- 1. 背景 在过去 ...

  5. AWS认证权威考经(助理级认证篇)

    笔者作为AWS官方认证的早期通过者,已经拿到了AWS的助理级解决方案架构师.开发者认证,系统管理员认证.这几年也陆续指导公司多人通过AWS的认证.本篇文章将分享如何通过自学的方式轻松通过AWS的助理级 ...

  6. Camel Games借助AWS在爆发式增长中提供优质游戏体验

    关于Camel Games Camel Games 成立于2009年,是中国首家得到google市场官方认证的顶尖开发公司.长期以来,Camel Games始终依靠于率先的技术背景,致力于成为国际一流 ...

  7. 龙之谷手游WebVR技术分享

    主要面向Web前端工程师,需要一定Javascript及three.js基础:本文主要分享内容为基于three.js开发WebVR思路及碰到的问题:有兴趣的同学,欢迎跟帖讨论. 目录:一.项目体验1. ...

  8. AWS 免费套餐

    AWS 免费套餐 转载自:https://aws.amazon.com/cn/free/?sc_channel=PS&sc_campaign=acquisition_CN&sc_pub ...

  9. 腾讯首度公开S级手游品质管理方法

    weimjsam   引言 在最新的手游市场占有率统计中,腾讯游戏稳稳占据一半江山,目前仍以每月一到两款的速度推出新品,在如此复杂多变.响应要求极高的市场环境下,能持续推出高质量产品并保持高效迭代更新 ...

随机推荐

  1. C++中malloc/free和new/delete 的使用

    malloc/free 的使用要点 函数malloc的原型如下: void * malloc(size_t size); 用malloc申请一块长度为length的整数类型的内存,程序如下: int ...

  2. IOS上 关于状态栏的相关设置(UIStatusBar)

    知识普及 ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分: 背景部分:就是显示黑色或者图片的背景部分: 如 ...

  3. 继承之后的使用注意事项_ArrayStoreException

    今天在看Core In Java第五章节时,看到一个很感兴趣的知识点,如下: 在Java中,子类数组的引用可以转换成超类数组的引用,而不需要采用强制转换.但是,在超类数组的引用添加超类类型引用对象之后 ...

  4. java String常见的处理

    import java.util.Arrays; class Demo5 { public static void main(String [] args) { String name1=" ...

  5. LANMP 一键下载

    下载安装 wget http://dl.wdlinux.cn:5180/lanmp_v2.5.tar.gz tar zxvf lanmp_v2.5.tar.gz sh install.sh 4个可选安 ...

  6. Android Studio ---------------- 软件使用小细节(更新中。。。。。。)

    ###鼠标放到相关类或方法等上,没有提示. *解决方法:File----Setting-----Editor-----General------Show quik documentation on m ...

  7. Win7刷新环境变量

    在“我的电脑”->“属性”->“高级”->“环境变量”中增加或修改环境变量后,需重启系统才能使之生效.有没有什么方法可让它即时生效呢? 下面介绍一种方法: 以修改环境变量“PATH” ...

  8. javascript 高级程序设计学习笔记(面向对象的程序设计) 1

    Object构造函数或对象字面量都可以用来创建对象,但这些方式有个明显的缺点:使用相同一个接口创建很多对象,会产生大量重复代码. 工厂模式 //工厂模式 function createDog (nam ...

  9. POJ 2195 Going Home / HDU 1533(最小费用最大流模板)

    题目大意: 有一个最大是100 * 100 的网格图,上面有 s 个 房子和人,人每移动一个格子花费1的代价,求最小代价让所有的人都进入一个房子.每个房子只能进入一个人. 算法讨论: 注意是KM 和 ...

  10. JSON的parse()方法

    JSON方法也可以接受另外的一个参数,作为还原函数. 实例: var book = { title:"JavaScript Learn", author:["wang&q ...