2005年11月2日,Amazon正式发布其首个Web服务:Amazon Mechanical Turk,白驹过隙、光阴荏苒,数年间,Amazon陆续推出了30 余种丰富多样的Web 服务,拥有遍布190多个国家的数十万用户,预期2015年的营收有望达到26亿美元,成为云计算业务事实上的执牛耳者。
本文将介绍Amazon Web Services12个门类共33种云计算产品与服务,关注基于AWS的多种解决方案,最后浅谈了一下作者本人对AWS未来发展方向的想法。
亚马逊的AWS业务可以分为如下几个大类:
计算类(EC2、EMR、AutoScaling、ELB)
存储类(S3、EBS、Glacier、Import/Export……)
网络类(VPC、Route 53、DirectConnect)
内容分发类(CloudFront)
数据库类(RDS、DynamoDB、SimpleDB、ElastiCache)
部署与管理类(IAM、CloudWatch、ElasticBeanstalk、CloudFormation)
市场类(MarketPlace)
等等……
举例说说亚马逊AWS的大数据处理服务EMR(AmazonElastic MapReduce)
Amazon EMR使用Hadoop作为其分布式处理的引擎,通过在EC2 & S3 上架构Hadoop框架来提供大数据处理服务,即在EC2 实例集群上(如果超过20 个实例,需要另提申请)运行MR 任务,并将用户的处理程序、源数据及处理结果存储在S3上,也可选择保存在Amazon DynamoDB 中。
Amazon EMR允许用户使用Java/C++/Perl/Ruby/Python/PHP/R等语言编写自己的处理程序。Amazon EMR 的应用非常简单,例如最常用的,用户可使用Java编写Mapper/Reducer,将编译好的Jar 包和源数据上传到S3,然后通过EMRCLI 或API启动一个JAR工作流来执行程序获得结果;也可以使用Python、Ruby或PHP等编写Mapper/Reducer,将编好的程序和源数据上传到S3,然后通过EMR CLI 或API启动一个Hadoopstreaming工作流来执行程序获得结果,结果也将被写到用户在S3 上bucket 中;又如,用户可以编写Hive 脚本来创建一个Hive 工作流处理数据。用户可通过AWS 管理控制台来监控工作流的运行情况,工作流的状态信息保存在AmazonSimpleDB 中。
Amazon EMR除了具有AWS所共有的弹性、可靠、低成本等特点外,与包括Amazon EC2、S3、DynamoDB在内的相关AWS 也实现了无缝集成,同时,EMR还集成了大量第三方工具,提供包括SQL 查询、数据分析在内的诸多功能。