选择公有云服务商的难度与复杂度,恐怕不会比选择传统的 IT 设备低。在国内,至少可以罗列近十家公有云服务商,这里既有外资巨头 AWS、Azure,也有本土代表“BAT”,以及创新公司 UCloud、青云等等。技术、口碑、服务、案例这些都是需要考虑的方面。作为全球领先的公有云服务商 AWS 给出了自己的建议。
本文内容来自 6 月 17 日 InfoQ 在线课堂“如何在 AWS 云平台上构建千万级用户应用”上方国伟回答网友提问的整理,方国伟是亚马逊 AWS 首席云计算顾问。方国伟除了给出了选择公有云服务商的建议,还谈到了 AWS 的认证与考试,AWS 在国内服务以及一些技术细节。InfoQ 将这些内容整理成文,一并提供给读者。
你可以在 InfoQ AWS 专区看到最新演讲、文章与活动信息,欢迎注册获取 25 美元 AWS 抵扣券。你也可以联系 AWS ,获得一手技术资料。如果你希望和方国伟直接沟通,可以通过邮件联系:guowfang@amazon.com 。
关于 AWS 在国内的服务
问:国内建 Region 大概需要多长时间才能建好?
方国伟:亚马逊去年发布会的时候讲了一个概念叫做“前店后厂”,引起了很多人误解,以为我们在北京没有 region,宁夏有 region。事实是,我们在北京有个 region,现在已经建完了。目前处在有限预览阶段,正在协助邀请的部分客户上线。我们会逐步根据需要邀请更多的客户使用 AWS 的服务。宁夏的 region 今年上半年奠基了,计划以后作为中国的第二个 region。
问:北京的 region 有几个 AZ(可用区)?
方国伟:我们原则这样,如果一个 region 对外正式商用,会有两个或两个以上的 AZ。商用的 region 一般都有两个或两个以上的 AZ,这里一般指的是 EC2 的 AZ,S3 的数据一般会存多份,S3 也有 AZ 的问题,但 S3 我们很少这么讲。
问:在美国 AWS 上的账户能直接转过来吗?
方国伟:不可以,国内外是完全独立的账户。AWS 国内的业务,跟海外的业务的帐号是分开的,这是两套完全独立的系统,这个不是技术问题。
问:告诉我一个理由,在众多的云平台中为什么选择 AWS。
方国伟:那大家知道亚马逊的一个基本原则是我们不会去评论竞争对手,这是公司的要求。用户在选择云服务商的时候的风险与买产品是不太一样的,应该要低一些,为什么呢?因为买产品,基本上是一锤子买卖,三年之内软硬件不太会换的。但是云服务却不一样,你任何时间都可以换。这个服务到底好不好,最好亲身去体验一下。亚马逊 AWS 会提供一个 Free Usage Tier 免费套餐服务,大家可以试一下。如果要做横向比较的话,你可以从几个方面来看:
第一,云服务商的运营经验和品牌。
第二,技术。技术包括两个维度,一是技术的广度,你要的技术他有没有,二是技术的深度,某一个技术做得怎么样,这是需要去评估的,而不仅仅去看产品名字、服务名字有可以了。比如同样叫 RDS,但 RDS 与 RDS 之间的差别蛮大的。同样的虚拟主机,差别也是蛮大的。
第三,服务,云计算是作为一个服务而不是产品提供了,因此服务商的服务能力和品质直接影响到用户的体验。
第四,价格。各服务商的价格有高有低,还是需要你自己去比较。
问:RDS 的可靠性能达到“5 个 9”吗?
方国伟:RDS 的官方 SLA 是 99.95%,这是写到 SLA 里去的。具体实际的服务水平也许会比这个 SLA 高一点。
问:北京的 region 采用多线接入?
方国伟:理论上主要的运营商,我们都会接进来,因为要满足国内的网络的实际的情况。
问:S3 的性能怎么样?
方国伟:一般情况下,S3 的性能不是问题,你只要往里边放数据就可以了。而且 S3 还可以集成 CloudFront CDN 服务,那性能更加不是问题了。但是某些个别情况下,你可能会觉得 S3 的性能需要提升,那这里有一个技巧或最佳实践,你在放 S3 的 object,不要把 object key 的名字取的类似。因为系统会根据 object key 做哈希,如果名字取的相似,系统可能会将这些文件放到同一台物理服务器上去,这样会影响你的访问性能,你的 object key 越乱越好。有的时候,你自己写一个 random 生成器,让 object key 开始那几个字节完全不一样最好。
问:CloudFront 在国内可以直接使用吗?
方国伟:CloudFront 是一个 CDN 服务,在 AWS 全球有 51 个点。国内目前不会推出 CloudFront 服务。 在国内我们 CDN 的合作伙伴是网宿。当然从技术上讲,你用任何一家的 CDN 都可以。如果你的目标客户在海外,那你当然可以用我们海外的 CloudFront 服务,你国内的用户也可以使用我们海外 CloudFront 服务。
问:介绍下亚马逊的 Message 通知服务。
方国伟:亚马逊有个服务叫 SNS,发送方式有很多种,有通过邮件的,短信的,http 访问等都可以。我们去年推出了新的 SNS 服务,叫做移动推送,英文为 Mobile Push。现在大家知道移动应用开发很时尚,非常流行,然后你可能需要给用户的移动设备发一个 Message,那 Mobile Push 专门是 Push 给安卓手机和 iOS 设备的。上个礼拜,我们把 Mobile Push 服务升级了,为什么?通过 GCM 向国内的安卓设备发不太方便,所以我们在国内与百度的云推送合作来支持国内的安卓设备。还有一个更新针对 Windows 设备,SNS 的移动推送服务现在已经支持 Windows 设备。
对于没有用过 Mobile Push 同学,我用一句话解释一下,如果向不同的移动设备发 Message,一般需要跟不同平台的消息服务平台去连接。如果通过 SNS,那么通过与 SNS 的一个 API 接口连就可以了,然后亚马逊后台会去跟不同的平台上的 Message Push Service 去连,简化了你的编程和管理。
问:EMR 是跑在 EC2 上吗?
方国伟:这是肯定的,基本上 AWS 需要使用计算资源的服务都是跑在 E2C 上面的。如果你去用 EMR 就会发现在创建 EMR 的时候,他让你选 EC2 实例的大小,所以 EMR 那肯定是跑在 EC2 上面的。对那些没有用过 EMR 的用户来,我稍微解释一下,EMR 相当于 AWS 上的 Hadoop 服务,创建 EMR 很简单,通过命令行或点击几次鼠标就可以实现。这样,你的重点就放在如何写 Map/Reduce 算法,Hadoop 集群的构建和运维完全交给 AWS。
问:RDS 底层是用什么技术隔离?
方国伟:RDS 实际上跑在 EC2 上面,这是通过虚拟化技术最基本的隔离,当然还有其他如网络层的隔离等。
问:AWS 在国内的收费方式有哪些?
方国伟:AWS 国内最终的支付方式还没有确定。国外主要是采用信用卡方式,国内有国内具体的情况,所以说我们会考虑到不同的支付方式,最终会在我们服务中正式对外发布。
关于 AWS 的认证与考试
问:请问 AWS 有哪些培训和认证服务啊?
方国伟:关于认证考试培训的问题,这个很有意思的问题,为什么呢?因为大家知道如果一个平台的使用量越来越多,平台认证的价格会越来越高,我们现在看到 AWS 的使用量增长非常快,而且在市场上应用也非常广,所以这个认证是会挺有市场。AWS 认证目前按照三个不同的角色来划分,比如说你是开发者,我们是有开发人员认证。如果你是一个架构师,那我们架构师认证。如果你是一个做运维的,我们有运维的认证。
同时在级别主要分为三个,入门级就是初级(Associate),中级叫专家级(Professional),高级叫大师级(Master),详见这里。
如果你想更系统的了解 AWS 的服务,你可以参加一些 AWS 的培训,目前国内没有正式推出,但是应该快会推出。国内培训团队推出了一个免费的培训课程 AWSome Day,建议大家有机会就去参加。(InfoQ 注:6 月 25 日 AWSome Day 将在成都举行,欢迎报名。)
关于认证考试,这个认证考试是机考的,要到专门的考点去考。北京的考点是在魏公村附近,这个具体的地点在注册考试时能看到。
其他问题整理
问:S3 为了做图片外链,怎么绑定自己的域名?
答:一般是通过 CName 设置来实现。
问:非洲有没有 region?
答:现在还没有,不过你们如果有需求可以联系 AWS,我们会根据需求决定下一个 Region 在哪里建。
问:EC2 可不可以支持一些 Windows 早期版本,如 Windows XP?
答:客户端版本的 Windows 支持不仅仅是技术问题,还有其他商务问题在里面。AWS 的 Workspaces 服务现在支持 Windows7 界面的云桌面服务。
问:AWS 国内有备案要求吗?国内的何时能使用?
答:会有备案要求,因为这是在国内开展业务的要求。
问:平时使用出现问题要咨询 AWS 时有哪些方式能联系到 aws 服务器人员以便及时解决问题呢?
答: 联系到 AWS 多长时间能反馈取决于你有没有购买 AWS 的支持服务,一共有四个级别:basic,developer,business 和 Enterprise,不同级别的响应时间是不一样的。
问:怎么跨 region 建立一个可靠的 private network?
答:这个暂时只能靠用户自己构建。另外,目前在美国的几个 Region 可以用 DX 连接起来。
问:AWS 在电商系统上的应用如何? 有成功案例么?
答:AWS 非常适合电商应用,最大的案例肯定是 amazon.com 啦。当然除了 amazon.com 之外,也有许多其他,国内的有兰亭集势,Tiens 等。
问:AWS 有没客户群?
答:我们有 Technical Support Forum,会在国内推出中文版的技术支持论坛。
问:怎么 preserve 我的内容在 CloudFront 上?不会因为内存不足或者什么原因被去掉?
答:设置 TTL,并定期访问,跟内存无关。
问:S3 和 ElastiCache 哪个响应会快?ElastiCache 最大能存放多大的数据?
答:Elasticache 的速度比 S3 快多了,一个放在磁盘,一个放在内存。Elasticache 是分布式内存缓存服务,一般不会把所有数据都放在内存中。
问:ELB 怎么做 URL dispatch?如果 ELB 做不了,我自己架服务做 URL dispatch 的话,建议把自己的服务架在 ELB 前面还是后面?
答:看具体情况吧,如果用不到 ELB 的功能,你甚至可以不用 ELB。
问:AWS 对服务器的硬件有什么要求吗?
答:一般用户不用考虑这个问题,总的来讲底层是 Commodity hardware,但是不同的计算实例和服务对硬件有一些差异。
问:DynamoDB 有没有官方的,适用于本地开发的模拟环境?
答:有。
问:SES 发邮件 quota 不够用怎么办?
答:如果遇到的是 soft limit,那么联系我们销售申请增加上限的就行。
问:APNS 怎么实现的?需要在客户端自己装个插件实现长连接么?
答:用我们 SNS 的 Mobile Push 就可以了。
感谢方国伟对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论