谷歌、亚马逊和微软云计算对比
来自:《云计算》 刘鹏主编
三种云计算方案比较
Google App Engine | 亚马逊AWS | 微软Azure | |
提供服务类型 | Paas | Iaas、Paas、Saas | Paas |
服务间关联度 | 所有服务被捆绑在一起,耦合度高 | 可以任意选择服务组合,耦合度低 | 可以任意选择服务组合,耦合度低 |
虚拟化技术 | 未使用 | Xen | Hyper-V |
支持的编程语言 | Python、Java | 多种 | 多种 |
运行环境 | Google自身提供的环境,位于云端 | 亚马逊平台,云端 | 云端或本地 |
不同应用之间的隔离 | 通过沙盒来实现 | 不同的应用运行在不同的虚拟机,以此实现隔离 | 不同的应用运行在不同的虚拟机,以此实现隔离 |
计算服务比较
MapReduce | EC2 | Azure计算服务 | |
服务类型 | Paas | Iaas | Paas |
虚拟机的使用 | 未使用 | 用户可以根据需要设置运行虚拟机的硬件配置 | 系统自动分配 |
运行环境 | Google自身提供的环境,用户无法自行配置 | 由用户自行提供运行程序所需的AMI(亚马逊机器映像) | 程序运行在系统自动为用户生成的装有Windows Server 2008的虚拟机上 |
易用性 | 最好 | 稍差 | 较好 |
灵活性 | 稍差 | 最好 | 较好 |
使用的应用程序 | 适合可以并行处理的应用程序 | 任意 | 任意可在Windows Server 2008上运行的程序,尤其适合有大量并行用户的应用程序 |
存储服务比较
GFS | S3 | Blob存储 | |
系统结构 | 数据块服务器上的文件分块存储 | 桶、对象两级模式 | 容器、Blob两级模式hiy |
可扩展性 | 可通过增加数据块服务器数量扩展存储容量 | 可通过增加桶中对象数量扩展存储容量 | 可通过增加容器中Blob数量扩展存储容量 |
数据交互方式 | 用户和数据块服务进行数据交互 | 用户可以从获得授权的对象中取得数据 | 用户可以从获得授权的Blob中取得数据 |
存储限制 | 无特殊限制 | 桶的数量和对象的大小有限制,但对象的数量无限制 | Blob大小有限制,但是容器和Blob数量未有限制 |
容量扩充方式 | 自动 | 手动或编程实现自动扩容 | 手动或编程实现自动扩容 |
容错技术 | 针对主、从服务器有各自的容错技术 | 数据监听回传、Merkle哈希树、数据冗余存储 | 仅重传出错的Block(块)、数据冗余存储 |