用户选择云计算平台构建应用程序的一个重要原因是高弹性的云平台和可扩展性。
面向Internet应用程序通常需要支持用户使用大量,但要建立一个高度可扩展、具有一定的挑战,高度可用的应用程序,只有立足AWS云平台构建应用程序,可以相对简化的东西。此次网络研讨会将讨论如何利用的特点,充分利用怎样的云平台和AWS的相关服务来构建一个能够支撑千万级用户的应用。
通过讨论不同用户数量级别的应用需求和架构特点。然后结合不同的AWS的服务来满足用户訪问。并终于逐渐把架构优化成为能够支持千万级用户的设计。这个演讲的目的是帮助对AWS服务有一定基础的用户进一步理解服务之间的差异以及基于AWS云平台构建高扩展性应用的关键服务及其使用注意事项。
以下是亚马逊AWS与InfoQ一起做的在线讲座讲义:
这里有当时的一些问答记录:
关于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做哈希,假设名字取的相似。系统可能会将这些文件放到同一台物理server上去。这样会影响你的訪问性能,你的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非常easy,通过命令行或点击几次鼠标就能够实现。这样,你的重点就放在怎样写Map/Reduce算法,Hadoop集群的构建和运维全然交给AWS。
问:RDS底层是用什么技术隔离?
方国伟:RDS实际上跑在EC2上面,这是通过虚拟化技术最主要的隔离。当然还有其它如网络层的隔离等。
问:AWS在国内的收费方式有哪些?
方国伟:AWS国内终于的支付方式还没有确定。国外主要是採用信用卡方式,国内有国内详细的情况。所以说我们会考虑到不同的支付方式,终于会在我们服务中正式对外公布。
关于AWS的认证与考试
问:请问AWS有哪些培训和认证服务啊?
方国伟:关于认证考试培训的问题。这个很有意思的问题。为什么呢?由于大家知道假设一个平台的使用量越来越多,平台认证的价格会越来越高。我们如今看到AWS的使用量增长很快。并且在市场上应用也很广,所以这个认证是会挺有市场。AWS认证眼下依照三个不同的角色来划分,比方说你是开发人员,我们是有开发人员认证。
假设你是一个架构师,那我们架构师认证。
假设你是一个做运维的,我们有运维的认证。
同一时候在级别主要分为三个,入门级就是0基础(Associate),中级叫专家级(Professional),高级叫大师级(Master),详见这里。
假设你想更系统的了解AWS的服务,你能够參加一些AWS的培训,眼下国内没有正式推出。可是应该快会推出。国内培训团队推出了一个免费的培训课程AWSome Day,建议大家有机会就去參加。(InfoQ注:6月25日AWSome Day将在成都举行,欢迎报名。)
关于认证考试,这个认证考试是机考的,要到专门的考点去考。
北京的考点是在魏公村附近,这个详细的地点在注冊考试时能看到。
其它问题整理
问:S3为了做图片外链,怎么绑定自己的域名?
答:通常是通过CName设置来实现。
问:非洲有没有region?
答:如今还没有,只是你们假设有需求能够联系AWS,我们会依据需求决定下一个Region在哪里建。
问:EC2可不能够支持一些Windows早期版本号,如Windows XP?
答:client版本号的Windows支持不不过技术问题,还有其它商务问题在里面。AWS的Workspaces服务如今支持Windows7界面的云桌面服务。
问:AWS国内有备案要求吗?国内的何时能使用?
答:会有备案要求,由于这是在国内开展业务的要求。
问:平时使用出现故障要咨询AWS时有哪些方式能联系到awsserver人员以便及时解决这个问题呢?
答: 联系到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对server的硬件有什么要求吗?
答:一般用户不用考虑这个问题,总的来讲底层是Commodity hardware,可是不同的计算实例和服务对硬件有一些差异。
问:DynamoDB有没有官方的,适用于本地开发的模拟环境?
答:有。
问:SES发邮件quota不够用怎么办?
答:假设遇到的是soft limit,那么联系我们销售申请添加上限的即可。
问:APNS 怎么实现的?须要在client自己装个插件实现长连接么?
回答:随着我们SNS的Mobile Push在上面。