游戏上云 FAQ

在代理了 N 款海内外游戏后,想起每次向客户宣讲云时总是很纠结,和阿里云官方高大上的产品介绍,到底哪些才是客户需要的信息呢?这个 FAQ 总结了最常见的几个问题和我的非官方答复。

1 云数据中心和传统数据中心有什么不同?

传统数据中心至少需要提供电力和互联网接入两项服务,更多的服务项包括但不限于机柜租赁、服务器租赁、现场维护、流量清洗、业务备案。租户从 ISP 租赁各项服务。

基础设施云服务提供商(如阿里云)从 ISP 租赁各传统数据中心服务,或者自建数据中心,然后通过网络虚拟化、主机虚拟化和容器虚拟化等技术手段实现租户之间的隔离,形成互相隔离的虚拟数据中心。租户向云服务提供商租赁各项基础设施云服务。

基础设施云服务至少包含云主机、云主机操作系统镜像、内部网络和互联网接入,更多特色服务包括但不限于负载均衡器、关系数据库、NoSQL、对象存储、大数据分析、CDN、监控系统和防御系统。云主机相当于物理服务器,操作系统镜像相当于相当于物理硬盘克隆,租户采购创建云主机后立即获得与其他租户隔离的内部网络,云主机会有一块虚拟网卡接入到该内部网络从而实现内部互通,需要提供互联网访问的云主机还会有另一块虚拟网卡接入互联网。

和传统方式需要很多物理操作不同,云服务都是通过开放的 API 进行管理。云服务提供商会为每个租户分配密钥,通过 API 控制云服务时需附带密钥认证。管理控制台是一个 Web 界面,在管理控制台上的操作最终会被翻译成开放 API 调用。不过,这只是资源管理控制上的差异,业务使用资源的方式并没有发生变化:云主机上依然是常规操作系统,内部网络和互联网仍然是传统 IP 网络,数据库实例依然通过如 MySQL 协议连接,等等。需要特别提到的是,云资源内部基本都是实现了不同程度的服务高可用性和数据可靠性支持。

阿里云提供多线(电信、联通和移动等)BGP 接入,二层内部互联千兆网络、提供网络和主机等多重防护的云盾防御系统、云主机 Elastic Cloud Server (ECS) 、云主机操作系统镜像、负载均衡服务 Server Load Balander (SLB) 、关系数据库服务 Relational Database Service (RDS) 、支持 Memcache 协议的 Open Cache Service (OCS) 、类似于 BigTable 的 Open Table Service (OTS)、类似于 hadoop/hive 的 Open Data Processing Service (ODPS) 、覆盖中国绝大多数省市的 CDN 、对象存储 Open Storage Service (OSS) 等等。

2 虚拟环境和物理环境会不会有很大的性能差距?

虚拟化的灵活性是必然需要牺牲物理环境的一部分计算性能来获得的。不过硬件厂商除了在不断提升硬件性能外,也在随着虚拟化的需求而增加各种硬件加速支持,如 VT-x 和 SR-IOV 使得虚拟环境可以充分利用 CPU 和网卡的物理支持,SDN 交换机对网络虚拟化的强大支持,另外,虚拟机系统里也会安装一些内核模块来减少数据的传输环节。据一些行业专家分析,虚拟化相对于物理环境的性能损失一般会小于 10% ,通常是 5% 以下。

而从另一个角度看,分布式系统的计算和存储能力都可以远大于单个物理节点。云服务背后很多都是分布式系统,所以,性能一般不是关键问题。

通常在物理网络里每经过一跳会引入 0.3ms 左右的延时。在典型的三层物理交换网络中,同机柜的服务器之间 0.3ms ,跨机柜大约 1.2 ms 。我们没有阿里云的官方数据,但据我们了解,租户网络的延时会在 5ms 以下。

3 怎么安装我需要的数据库?

和传统物理数据中心不同,云数据中心是一个虚拟云数据库的使用方式是选配置然后下单采购,在数分钟之内就获得了一个可以连接的数据库实例。 云数据库不需要用户安装,但是限定了选择范围:阿里云只有 MySQL 5.1, MySQL 5.5 和 SQL Server 2008 R2 三个版本。如果是其他数据库,那只能在云主机上自行安装,安装方法和传统方式相同。但不建议这么做,因为阿里云主机磁盘为了保障数据可用性,其 I/O 能力是和物理机 I/O 能力有较大差距的,不适合数据库这类 I/O 性能要求比较高的业务。虽然在内部可以申请临时盘,但由于临时盘不支持数据冗余,在没有数据库可用性部署支持时也是不建议采用的。

关于 RDS 的官方介绍,请参考 http://www.aliyun.com/product/rds/?spm=5176.612480.2.3.b3TnLq

4 我需要强大的数据库单节点计算能力

云计算倡导架构的水平扩展性,而不是垂直扩展性,因为再强劲的物理设备都会有它的垂直扩展极限。如果业务发展态势比较乐观,那么对架构进行分布式改造是必须的,否则技术就会成为业务发展的障碍。这也是阿里巴巴发展到现在规模的经验和教训。

但是,如果业务在可预见生命周期内不会有跨数量级的变化,垂直扩展性也可能是解决问题的合理方向。阿里云数据库目前的最高配置支持 12000 IOPS ,但这只是目前客户的最大规格需求,如果客户业务需要,是可以很快提供更高规格 IOPS 支持的。此外,对于 MySQL 数据库,阿里云还提供分布式数据代理 DRDS ,支持透明的分库分表支持。

数据库是一个复杂的业务模块,合理地调整参数和优化业务 SQL ,即使在同样配置下也可以显著吞吐量并降低响应时间。但这需要强大的工具支持和专业的经验,阿里云的 RDS 管理控制台已经实现了很多监控分析功能,并且有专业的 DBA 团队随时响应。

5 安装以及分配服务器,应用环境搭建

云主机一般也是不需要安装的,云主机的使用方式是选镜像和网络然后下单采购,等一分钟就获得了一个可以 ssh 或 mstsc 登录的主机系统。官方提供的镜像有 CentOS 5.8 和 6.5 的 64-bit 版本,Debian 6.0.6 64-bit, OpenSUSE 13.1 64bit Beta,Ubuntu 12.04 64bit 和 Windows Server 的 2003 R2 SP2 32-bit 中文版, 2003 R2 SP2 64-bit 中文版, 2003 R2 SP2 64-bit 英文版,2008 SP2 32-bit 中文版,2008 R2 SP1 64-bit 中文版,2012 64-bit 中文版 Beta。

Windows Server 多数只有中文版,但 Windows 的语言切换只需要从微软官网上下载语言包安装即可,所以语言应该不是问题。

云主机 ECS 的官方介绍,请参考 http://www.aliyun.com/product/ecs

获得了云主机和云数据库,相当于在传统数据中心,完成了网络布线和调试、物理机服务器的部属(操作系统和数据库)。一个云用户的所有云主机都在隔离的网络环境中,和其他云用户是无法互相访问的。

应用程序一般还需要运行时环境支持,所以需要另外安装一些软件包,然后部署应用代码,做好配置,形成一个完整的生产系统。这些工作和传统数据中心部署是完全相同的。一种办法是人工安装所有软件,另一种办法是用脚本编程安装,还有一种办法是通过配置管理工具,如 Puppet 方式来自动部署。

此外,也可以自行制作包含了运行环境的镜像。然后在创建云主机时选用自己定制的镜像。关于自定义镜像,请参考官方资料 http://help.aliyun.com/view/11108189_13435266.html?spm=5176.7114037.1996646101.1.FQu5pm

6 网络流量计费

租户网络称为内网,是千兆网,流量不计费。互联网称为公网,流量会由阿里云进行计费结算。对于云主机而言,创建云主机是可以选择公网带宽,这个云主机上便会有两个网卡,一个接入公网,一个接入内网。此外,阿里云还提供负载均衡服务,如果负载均衡向公网提供服务,玩家的请求会经过负载均衡器到服务器,玩家和负载均衡器之间是公网,负载均衡器和服务器之间是内网,只有公网流量才计费。注意,负载均衡器的公网流量和云主机的公网流量是分别计费的。

云环境会有很多监控服务,管理控制台中选定一个云主机就可以看到云主机的负载和网络使用状况,选定一个负载均衡器,也可以看负载均衡器的使用状况。当然,云主机上也可以自行部署一些流量监控程序。

7 游戏数据指标分析的使用方法

在贵方接入阿里游戏平台时,我方会提供一个 SDK 集成到贵方的客户端。该 SDK 中除了帐号系统和支付等功能外,还会集成统计功能,像登陆用户数等统计指标,就可以在阿里游戏管理后台中查到。

游戏内的用户行为分析,需要贵方记录日志。阿里游戏暂无统一的用户行为分析系统,但阿里云有 ODPS 服务,这是一个支持 map reduce,hive 等类似功能的数据分析服务,将日志导入到 ODPS 数据表中,就可以进行各种统计分析。

另外,贵方也可以通过 SLS 服务来获得较实时的数据查询支持,SLS 支持定期将数据导入到 ODPS 中以便后续分析。

关于 SLS ,请参考 http://slsweb.aliyun-inc.com/login.php

关于 ODPS ,请参考 http://www.aliyun.com/product/odps

8 CDN 的使用方法

除了 CDN 搭配源站的使用方式外,阿里云提供强大的对象存储系统 OSS ,贵方可以将静态资源放到 OSS 中,然后配置 CDN 从 OSS 中获取源数据。

关于 CDN ,请参考 http://www.aliyun.com/product/cdn/?spm=5176.383518.2.7.T2eAhp 关于 OSS ,请参考 http://www.aliyun.com/product/oss/?spm=5176.612480.2.6.Nwb4au

9 处理 big data (Hadoop, Google BigQuery) 的方法

在第 7 个问题的回答中提到的 ODPS 即为大数据分析服务。

10 有关当地(中国)智能手机 网络环境之详细指标

很抱歉,我们没有阿里云官方的移动网络环境数据。但阿里云是移动、联通、电信三条线路的 BGP 网络,网络状况应该是比较好的。我们之前的固网测试数据表明,除了偏远省份外,网络延时在 100ms 以内。