做这行久了,经常会被人问到:AWS亚马逊和
阿里云
哪个好?两者有什么区别?优缺点是什么?
在国外,AWS亚马逊是云服务器的行业标杆似的存在,没有人会质疑我为什么要选择AWS亚马逊,
当AWS亚马逊进入中国市场后,虽然服务略有阉割,但也不能忽视其大佬的,
中国的国情不同,
阿里云
是接地气的中国老大,国外也有机房,
对于中国用户而言,选择AWS 还是
阿里云
,自然而然地成为了一个必然的考虑。
我,使用AWS有4年的时间,其中包括国外和中国服务都有涉猎,
加之近日得到 Aliyun
阿里云
的额度支持,也让我接触到其中各项服务,
终于有机会对两者进行比较【申明:比较只针对中国国内区域服务】,
若有偏颇,请大家指点指教。
Aliyun
阿里云
AWS 亚马逊
Dashboard 主控面板
有主动面板:
须使用第三方工具,如Botmetric
带宽成本
RMB 0.72-0.8/GB
RMB 0.9/GB+0.09 Tax
带宽速度(固定)
最高200Mbps (天价)
没有上限
带宽速度(按量收费)
最高100Mbps
平均200Mbps
国内机房数量
4
2
带宽收费方式
预付,按小时收费
后付,即付即得,按月收费
DDOS防护
云盾
第三方(比如安全宝)
Elastic IP
RMB 0.02/小时 + 0.8/GB
常用免费,闲置收费
DevOps
Beta test / 没有发现该
Beanstalk, opswork, code deploy, cloudformation
China CDN
有
没有
CDN 是否会失效
有
注意:每天最多可以刷新(含预热)2000个文件(URL)和100个目录。刷新人物生效时间大约为5分钟。
有
收费——没有约束
CDN属性
Auto-Scaling
(自动伸缩)
有
有
Auto-Scaling方式(自动伸缩方式)
只限 定制化镜像
置备(Chef+Cloudformation)/ 定制化镜像 都支持
收费
复杂,名目多,按名目收费
信用卡/ 月度后付费
快照数
12
无限
ICP速度
2天
7-10天
ICP要求
针对包年包月的机器
针对所有类型的机器
安全组
有(但发生过一次十分有名的事件)
有
负载均衡
0.02 元/小时+ 0.8 元/GB
0.99 元/小时
负载均衡 节点
IP
域名
负载均衡 https
有
有
负载均衡 ICP
以LB后的ECS机器为准
支持直接LB的ICP
DNS
云解析
Route 53(中国区没有)
预付费
有(晚上发生流量激增的情况,预付费消耗殆尽,会有情况发生)
没有(AWS采用后付费)
定制镜像数
20
没有限制
服务开通
每个服务都要一个一个申请
一次可申请9成服务开通
第三方开源工具可用?(如:Github)
少
很多(Chef / ansible’s AWS library)
MongoDB
有
第三方 Compose.io
Oracle DB
没有
有
PostgreSQL
只有Beijing区
所有区都有
权限管理
RAM(Beta)
IAM
云储存
OSS,没有权限管理
S3+IAM
RDS replica / Multi-AZ (多可用区)
没有
有
RDS价格比较
比较高
比较低
开机时是否需要身份认证
需要
不需要
AZ(高可用去)
有(ECS,VPC)
有(EC2,RDS,Elasticache,VPC)
VPC
有
有
Linux distribution
Aliyun Linux
Amazon Linux
讯息管理提示(手机推送)
有
没有
深度分析:
CDN
Aliyun
阿里云
比较突出的是CDN功能,AWS中国没有CDN。
但是从功能表上可以看到:Aliyun CDN不支持behavior(可能是我没有找到),但要是我想对特定一个path做cookie / header / TTL / HTTP method等操作的话,国外AWS CDN还是相对做得比较完善。
价格
服务价格,用RDS为例,做出以下比较:
0. 储存
阿里云
:8 元/GB 每年 (胜出!)
AWS中国:10.32 元/GB 每年
1. 最便宜比较(一年计)
阿里云
,rds.mys2.small = 390 RMB, memory = 240 MB, Aliyun mem = 1200M, rds.mys2.standard = 1640 RMB
AWS中国,db.t2.micro = 932 RMB, memory = 1G (胜出!)
2. 最适合生产配置
阿里云
, rds.mys2.xlarge = 9700 RMB, memory 6G
AWS中国, db.m3.large = 5681 RMB, memory 7.5G (胜出!)
由此可见,如果是使用云服务式的应用,比如RDS,
阿里云
的价格会比较高。
DevOps
在
阿里云
中国,我没有找到像CloudFormation,Beanstalk这样的DevOps工具(若有,请指正)。
DevOps第三方支持,如 Ansible / Chef 也找不到对应Aliyun 支持。
所以在阿里中要做全局的DevOps,即由 Iaas → PaaS 自动化会十分困难。
在AWS上,我们可以吧Auto-Scaling(自动伸缩),Security Group, EC2 等等资源写到Cloudformation中(json文件),然后接入Chef的代码以实行全局DevOps,
即由 infrastructure – runtime – application 都由代码控制部署。然后包括应用到环境的参数都进行版本管理。
阿里云
的场景中,虽然通过
阿里云
+Docker 的方式可以做到差不多的事,但实际操作中,版本管理代码 比 版本管理镜像 会来得更现实。
EMR
阿里云
中支持的项目跟AWS EMR差不多,但是 access control(RAM)的整合有待改善。
OSS(
阿里云
云储存)VS AWS S3
使用OSS云储存时,开一个Bucket要选择Region,感觉上没能做到 Access Anywhere 的云储存概念。
界面不能上传大于500MB的文件,虽然好像有Multi-part upload功能,但界面没有,也许需要命令行来实行。
另一方面,AWS S3则看在网页上存 1GB以上的文件。
一个AWS S3深度用户很重要的功能,就是对每个S3 Object定制 metadata,其中一个例子就是Header。比如当浏览器中S3下载一个文件,会根据cache-header来决定这个object在浏览器中保留多久的缓存。这个对于大流量网站是个可以节省带宽的重要手段。除了http header,还有其他比如Redirect Location。在
阿里云
OSS中则只能设定Http header,如下图所示,因此,如果
阿里云
能开放更多的权限就更好。
AWS S3
在
阿里云
的OSS上发现一个新的使用功能是AWS S3没有的,就是自带的Image Styling,网站一直是需要直接生成好图片再上存到云端,如果能把源图上存到云,生成Style再返回地址,就能成为origin服务器,省去很多压力,是个很好的做法。
ICP
在
阿里云
,任何个人身份就可以申请ICP,但对AWS而言,则需要公司。
阿里云
的个人身份ICP只需2天就能搞定,相较AWS公司的申请,则需要10天。
如果想希望在国内快速启动一个小站点,用
阿里云
肯定是没错的。
对于公司项目,如果等待时间没有问题,则可以考虑AWS的成熟架构。
带宽
在国内,作为一家云供应商,带宽应该是重中之重的考虑。
在
阿里云
,有固定收费和按量收费两种。
一个企业级应用,在如今这个年代,100Mbps可以说是基本配置,虽然在
阿里云
,100Mbps的固定带宽以上的价格有点夸张,因此不作比较。
按量收费来说,
阿里云
最多支持100Mbps,AWS支持200Mbps(亲测,非官方数字)。
方法是在AWS开一台Windows EC2然后做speedtest,所以结果不会受本地硬件问题的影响。
得出的结论就是,如果你是希望拥有超过100Mbps又不想支付巨额的固定带宽,AWS在国内应该是唯一选择。
如上图表中表示的那样,虽然AWS按量收费,每个GB的费用比
阿里云
搞,但是有以下几点好处:
1)最高带宽可以达到200Mbps,
阿里云
的是100Mbps
2)不用预存款,阿里的按量收费都是在预存款中扣除
3)不用为每台机器顶一个带宽,因为AWS的带宽是通用的,而阿里需要指明每台机器的带宽付费方式。
IP
AWS的IP收费方式比较有趣——常用免费,闲置收费。
你在用的不收钱,但是你拿了在手不用(没挂到机器上)就会收费。这是为了防止让人预拿一堆IP而不用。
另外AWS拿IP也很方便,一行命令就可以改IP。我家CTO做了个prototype,可以做到一键在AWS换IP。
http://dvpn-test-elasticl-18r9nr6qix2bn-594040837.ap-southeast-1.elb.amazonaws.com/index.php
IP,算是AWS的看家本领之一。
网络硬盘
在
阿里云
,不是每个机型 / 地区都可以用上SSD,而AWS SSD支持每个机型每个地区。
SSD按IOPS收费,IOPS就是 input / output预留的意思,因为在云中同时写入一组物理硬盘的情况很多,以免影响服务,用户可以买IOPS预留相应的效能。
AWS免费自带的 IO ,现在是 3 IO / GB, 100GB = 300 IO,差不多是一个7200 RPM硬盘的性能。
普通SSD最高可以买3000, PIOPS(Provision SSD)可以买20000。要是想更高的话可以做 RAID。
或老一点的机型(C3)支持instant storage(关机了资料就会流失),但是有上万 IO的性能(亲测),等于
阿里云
本地SSD,但又不收费,跟机器附送,这(优惠)知道第三代,
现在第四代是全EBS的,想问将来这本地SSD可以回来。
阿里云
SSD = AWS EBS 是1GB / 月 / 1元
AWS云SSD(PIOPS)= 每月0.125USD / GB + 每个预配置 IOPS 0.065 USD
这样的算法是,
阿里云
想较便宜一点点。
AWS
其他服务
有一些服务是
阿里云
做的很接地气的,比如抗D,性能测试等,而且做得很出色。
在AWS中,如果想要抗D,必须完全直接建立架构 / 用第三方工具如安全宝。AWS中没有压力测试服务。
第三方开源工具(Github)
AWS是各云供应商中支持第三方支持最多的,比如Chef / Ansible / Docker / Deis 等等都有针对AWS支持,还有Github上的AWSlab。
这方面,目前没有找到
阿里云
可以比价的相关东西,请知道的小伙伴指教。
总结
以上,是我对
阿里云
VS AWS 的比较。
阿里云
在ICP这块,可以做得快,但是不全面;
AWS ICP 慢,但是可以针对负载均衡做ICP,而且没有单台机的带宽限制,AWS是需要超过100Mbps的带宽的必然职权。
内部安全性方面AWS的IAM也是必然之选。
抗D方面,因为CDN的原因,
阿里云
有必然的又是。
总之,AWS支持企业用户为主,而
阿里云
在功能上则更注重个人用户。
以上,是针对国内情况的比较,和国外的云功能不做比较。