AWS(Amazon Web Services亚马逊网络服务),若以2006年3月13日Amazon发布S3服务开始计算,AWS已经有5年半了。经过这么多年的工程与应用,现在AWS的基础设施功能已经相当丰富,能满足构建超大互联网应用的大多数需求,提供的开发工具、文档、社区和支持也还不错。AWS的服务简述如下:
一、基础设施服务
AWS共提供14类28项服务,大致可分为计算、存储、应用架构、特定应用、管理这五大类:
1、计算类服务
EC2:虚拟机实例,有标准型、大内存、高运算能力、带10G网络的HPC、GPU等多种类型、Win/Linux OS、主流WEB、应用服务器、数据库。可自动按需伸缩。本机没有持久化的存储
Elastic MapReduce:MapReduce型分析,基于Hadoop,支持Hive/Pig。能处理EC2和S3中的数据
2、存储类服务
S3:海量文件存储。分高可靠和低可靠两类。
SimpleDB:高可伸缩的简单结构化数据存储,支持极大数据量。强一致和最终一致可选。条件更新
RDS:打包好的MySQL服务,做好备份和软件维护
EBS:可低EC2实例使用的块设备
ElastiCache:Memcached缓存服务。分布式自行管理。
Import/Export:在AWS和存储设备(如盘阵)间导入导出数据
SQS:高可靠的消息队列服务,消息可保存14天。
3、应用架构类服务
Cloud Front:CDN服务,支持静态文件和流媒体。全球20个点
SNS:基于topic的消息订阅与推送服务,支持HTTP/EMail
SES:发邮件服务
Elastic Load Balancing:将请求负载均衡到EC2实例
VPC:虚拟私有云。网络/子网/IP/路由表等可配置
Route 53:DNS服务
4、特定应用类服务
FPS/DevPay:计费服务(不是AWS计费,是指应用借助于这个来向用户计费)
GovCloud:面向政府应用,提供更好的安全性
5、管理类服务
- CloudWatch:功能丰富的性能监控服务
二、开发者服务
AWS面向开发者提供的工具包、SDK、文档、社区和技术支持等服务也是比较多的,相对于Google App Engine和微软Azure来说感觉要丰富不少。主要有:
Java、PHP、Python、Ruby、Android/iOS、Windows .Net共7大平台功能丰富的SDK
Eclipse和Visual Studio插件,包含应用模板、应用部署与调试等功能
比较齐备的开发文档、Tutorial、教学视频,丰富的Sample Code
比较活跃的开发者论坛(每天100帖左右,比GAE的论坛要活跃一些)
按月付费的一对一技术支持服务
三、数据中心分布
目前AWS在全球共有6个Region,美国有3个,还有3个分别在爱尔兰、新加坡和东京。每个Region可能有不只一个Availability Zone。但并不是每个Region都支持所有服务,像S3这样的老又畅销的服务似乎所有Region都支持,但SimpleDB就不是每个Region都支持。CloudFront CDN在全球有20个点,其中最近新增的一个是在拉美。
四、市场及应用情况
2010年营收据估计约5亿美元(不是官方数据,因为规模还是相对太小上不了财报,只是估计),据分析师预计2012年营收将达10亿美元。第二季度末S3管理的文件数达到4490亿。AWS客户多数是互联网应用。著名的应用案例有:
Zynga:底层完全由AWS支持
Dropbox:用S3存文件数据
Foursquare:用S3和Elastic MapReduce作日志分析
其它: NASA(美国航空航天局)、美国国务院、西门子、辉瑞、纳斯达克股票交易所
看起来经过5年的慢慢培育,AWS的市场逐步放量了。其中主要的应该是S3和EC2的用户,像Dropbox这样的大用户可能就几百亿个文件。