云计算里AWS和Azure的探究(1)
全球领先的云的计算平台主要有两个,一个是Amazon Web Service,另外一个则是Microsoft Windows Azure,他们都同时提供了大量的和云计算相关的资源,包括计算,存储,网络等等。元计算其实并不是像我们看到的学校或者地方政府买很多很多机器就称为云计算,也不是我们看到的网盘,虚拟机等等。云计算的最大原则是弹性,也就是按需使用,用多少买多少,把所有的计算,存储和带宽资源有效地利用起来。网上这部分内容其实已经很多了,我这里也就不再多说了。近两年来我带了好几个项目,都是在Amazon AWS或者在Microsoft Azure上的,为总结这几年在云计算上的经验,我准备写一个专栏,讨论一下Amazon AWS和Windows Azure具体的一些功能,特色和性能上的区别。两个东西都是以A开头的,所以我把它叫做双A的比较。
第一篇里,我先谈谈AWS和Azure提供的不同的功能,大同小异的地方以及各自的特色。后续的文章会更深入地讨论不同的功能细节。
下图就是Amazon AWS提供的管理界面,包含计算和网络,存储和内容分发,数据库,部署和管理以及应用服务。
Amazon提供功能非常丰富,也很强大,在计算和网络这一块,包含了Amazon Elastic Compute Cloud(EC2),也就是我们最常用的虚拟机资源,还有Amazon Elastic MapReduce, Direct Connect, Route 53以及Amazon Virtual Private Cloud(VPC)。Amazon Elastic MapRedouce主要用于大数据的处理。Direct Connect其实是一个VPN,可以让局域网的机器和Amazon云里的机器直接连在一起。Route 53是一个可扩展的DNS,也可以用做负载均衡。VPC主要用于把AWS的资源创建在一个私有的,独立的云里。
在存储上,Amazon提供了CloudFront, Glacier, Simple Storage Service (S3), Storage Gateway,分别用于内容分发,低成本的存储服务,著名的S3存储服务和集成混合云的IT数据备份网关。
在数据库层,Amazon提供了DynamoDB, ElastiCache以及Relational Database Service(RDS)。DynamoDB是一个NoSQL的数据存储结构。ElastiCache提供了一套in-memory系统,RDS也就是关系型数据库,主要通过MySQL实现。
在部署和管理层,Amazon分别提供了CloudFormation, CloudWatch, Data Pipeline, Elastic Beanstalk和AWS Identity and Access Management(IAM)。用于创建云服务的模板,云系统的监控,轻量级的数据流服务,部署和管理应用程序(PaaS),以及用户管理。
在应用层,Amazon有Cloud Search, Elastic Transcoder, Simple Email Service(SES), Simple Notification Service(SNS), Simple Queue Service(SQS), Simple Workflow(SWF),分别用于搜索,媒体编解码,通知,队列,工作流等服务。
Amazon从底层到应用层都提供了全系列的服务和基础设施,帮助用户能够快速地,低成本地创建高扩展性的应用。
类似的,Microsoft Windows Azure也提供了丰富的云服务,下面就是微软提供的云服务系统。
在管理界面里面,Azure可以看到的东西没有Amazon那么细节,只包含了一些大块, 包括Web Sites, Virtual Machine, Mobile Service, Cloud Service, SQL Database, Storage, Networks, Service Bus, Media Service, Active Directory以及一些Add-Ons等。此外由于微软针对其自有产品开发,还提供了像Azure SQL Reporting, SQL Sync等服务。
在Azure中,可以直接创建网站,申请虚拟机,申请移动服务和云服务,还有数据库服务,网络,服务总线,媒体服务,活动目录。看上去就是微软的那一套,和Amazon完全不一样。其实,这些东西也无非是换汤不换药,大体没什么太大区别,接下去我们来具体比较一下这两个东西在功能上的异同。
Amazon Web Service | Microsoft Windows Azure |
Elastic Compute Cloud (EC2) | Virtual Machine (Preview) |
Amazon Elastic MapReduce | Hadoop on Azure (Preview) |
Direct Connect | Virtual Network (Preview) |
Route 53 | Azure Load Balancer or Traffic Manager |
Amazon Virtual Private Cloud(VPC) | Virtual Network(Preview) |
CloudFront | Azure CDN |
Glacier | N/A |
Simple Storage Service(S3) | Blob Storage |
Gateway | N/A |
DynamoDB | Table Storage |
ElastiCache | Cache Worker Role |
Relational Database Service(RDS) | Azure SQL Database |
CloudFormation | Web Site/Custom Images,不完全相同 |
CloudWatch | Monitoring Service,还没有完全实现 |
Data Pipeline | SQL Data Sync实现了一部分,但不完全相同 |
Elastic Beanstalk | Cloud Service(Web Role/Worker Role) |
AWS Identity and Access Management(IAM) | Access Control(不完全相同) |
Cloud Search | 无 |
Elastic Transcoder | Azure Media service |
Simple Email Service(SES) | 无,第三方有类似 |
Simple Notification Service(SNS) | Service Bus |
Simple Queue Service(SQS) | Queue Storage |
Simple Workflow(SWF) | N/A |
无 | SQL Data Sync |
无 | SQL Reporting |
无 | Active Directory |
可以通过CloudFormation实现 | Mobile Service |
Auto Scale | 无 |
在接下去的文章里,我会对Amazon AWS和Widows Azure作更进一步深入的研究,基本上会以一篇Amazon,一篇Azure的结构讨论IT或者App开发者在向云迁移的过程中,经常会遇到的问题和系统架构的选择。