Amazon EC2是Elastic Compute Cloud的简称,翻译成中文就是弹性计算云。它是Amazon云里面最基础的内容,也是发展到今天最成熟的部分,通过EC2, 你可以在Amazon的云里面申请任意台机器,选择不同配置的机器,选择不同的操作系统,完成你所有的工作。类似的,Windows Azure Virtual Machine提供了一样的功能。之前Azure提供过一种不伦不类的东西叫做VM Role,是从他以前的PaaS里面的Web Role和Worker Role里面发展而来的,好在现在已经全面被Virtual Machine所取代了。
数据中心
要了解EC2和Azure VM,我们需要首先看看他们的数据中心到底有多少个不同的地方。AWS在全球主要部署了8个数据中心,包括美东的弗吉尼亚,美西的俄勒冈和加州,欧洲的爱尔兰,亚洲的新加坡和东京,澳洲的悉尼以及南美洲的巴西圣保罗。Azure从2010年开始推出,主要有6个数据中心, 包括美国的芝加哥、圣安东尼奥, 欧洲的爱尔兰都柏林和荷兰阿姆斯特丹,亚洲的新加坡和香港。这里要强调的一点是,一个数据中心不是一个机房,而是多个机房,他们之间也会备份数据,实现灾难恢复和高可用性。
AWS | Azure |
US East(N.Virginia) | East US (Chicago) |
US West(Oregon) | West US(San Antonio) |
US West(N. California) |
|
EU(Ireland) | North Europe(Ireland) |
| West Europe(Amsterdam) |
Asia Pacific(Singapore) | Southeast Asia(Singapore) |
Asia Pacific(Tokyo) | East Asia(Hong Kong) |
Asia Pacific(Sydney) |
|
South America(San Paulo) |
|
下图就是在创建虚拟机的时候,AWS和Azure可以选择的不同数据中心。
AWS | Azure |
|
|
实例类型和价格
当然,创建数据中心的位置只是第一步,接下来还要选择机器的配置,比如核的数量,内存大小,机器硬件环境等,在这一点上,AWS可以说是远远走在了Azure的前面。AWS提供了丰富的实例类型(Instance Type),具体可以参考以下表格:
| 名称 | 内存(GB) | 计算单元(核) | 存储(GB) | 价格每小时(Linux/Windows) |
标准第一代 | M1 Small | 1.7 | 1 | 160 | $0.065/$0.115 |
M1 Medium | 3.75 | 2 | 410 | $0.130/$0.230 | |
M1 Large | 7.5 | 4 | 850 | $0.260/$0.460 | |
M1 Extra Large | 15 | 8 | 1690 | $0.520/$0.920 | |
标准第二代 | M3 Extra Large | 15 | 13 | 仅EBS | $0.580/$0.980 |
M3 Double Extra Large | 30 | 26 | 仅EBS | $1.160/$1.960 | |
微型 | Micro | 613MB | 最多2个 | 仅EBS | $0.020/$0.020 |
内存增强型 | High-Memory Extra Large | 17.1 | 6.5 | 420 | $0.450/$0.570 |
High-Memory Double Extra Large | 34.2 | 13 | 850 | $0.900/$1.140 | |
High-Memory Quadruple Extra Large | 68.4 | 26 | 1690 | $1.800/$2.280 | |
CPU 增强型 | High-CPU Medium | 1.7 | 5 | 350 | $0.165/$0.285 |
High-CPU Extra Large | 7 | 20 | 1690 | $0.660/$1.140 | |
群集计算 | Cluster Compute Eight Extra Large | 60.5 | 88 | 3370 | $2.400/$2.970 |
高内存集群 | High Memory Cluster Eight Extra Large | 244 | 88 | 240(SSD) | $3.500/$3.831 |
GPU集群 | Cluster GPU Quadruple Extra Large | 22 | 33.5 | 1690 | $2.100/$2.600 |
高I/O | High I/O Quadruple Extra Large | 60.5 | 35 | 2 SSD盘,每个1024 GB | $3.100/$3.580 |
高存储 | High Storage Eight Extra Large | 117 | 35 | 24个盘,每个2T | $4.600/$4.931 |
AWS非常绚烂地提供了从内存,计算,集群,GPU,I/O以及存储都能够充分定制的计算资源,能够让用户非常简单地选择各种各样不同的服务器类型。比如GPU集群,上面的机器都提供了33.5个计算单元,等价于2块Intel至强4核X5570的CPU,还包含了2块NVIDIA Tesla “Fermi” M2050 显卡,用于使用到GPU的计算任务。
AWS对一些机器还提供EBS优化的实例,可以自己定义EBS卷的IOPS,确定磁盘的性能,也优化了云中的存储资源。对于不同的应用,可以选择完全不同的实例。
在价格上,不同数据中心的计算资源价格会有所不同,比如弗吉尼亚和东京的价格就略有不同,上面参考的是弗吉尼亚的价格。
对于不同的数据中心,能够提供的实例类型也稍有不同,有些数据中心提供GPU集群,而有些数据中心则不提供。
相比较而言,Azure提供的实例类型就比较寒碜了,只有5种不同的实例可以选择。从超小,小,中,大到超大,基本上对应于Amazon的Micro, M1 Small, M1 Medium, M1 Large和M1 Extra Large。对于一些简单的应用基本上也够用,但是如果要涉及到超大内存或者GPU,就无法实现了。
在具体价格比较上,除了微型实例,AWS Linux比Windows要便宜43%。而Azure Windows和Linux的价格一致,比AWS Linux贵了23%,比AWS Windows要便宜30%。这也符合微软的特点,Windows对微软来说本来就是不要购买的,而Amazon则需要向微软购买Windows。具体可以参考下表。
| AWS Linux | AWS Windows | Azure Linux & Windows |
微型 | $0.020 | $0.020 | $0.013 |
小 | $0.065 | $0.115 | $0.080 |
中 | $0.130 | $0.230 | $0.160 |
大 | $0.260 | $0.460 | $0.320 |
超大 | $0.520 | $0.920 | $0.640 |
当然,上面列出的价格只是按需使用时候的价格,AWS还提供了预留实例的价格,1年期和3年期,根据使用率的不同,价格都有所不同。此外还有竞价实例,根据当时的价格竞争,以一个较低的价格获取实例。AWS提供了一系列的组合来帮助提高机器使用率,也降低了云的成本。Azure也是类似,有6个月预付和12个月预付的方法,在标准价格上可以打一个折扣,如果用量更大,可以和微软签署EA,获得更加优惠的价格。
操作系统和软件
AWS提供的操作系统很多,把主要包括Linux和Windows,主要有Red Hat Enterprise Linux,Windows Server,Oracle Enterprise Linux,SUSE Linux Enterprise,Amazon Linux AMI,Ubuntu,Fedora,Gentoo Linux,Debian。
数据库软件有Microsoft SQL Server Standard,MongoDB,含 Apache Cassandra 的 Acunu Storage Platform Standard Edition,TurnKey PostgreSQL,Couchbase Server – 企业标准版。
应用程序服务器有IBM WebSphere Application Server, Tomcat Java Web 应用程序部署, Apache – Java Servlet 和 JSP 平台上的 Tomcat,Zend Server(群集式)。
至于内容管理和商业智能,AWS也提供了一系列软件,包括WordPress,Drupal 6,MediaWiki Wiki System,SAP BusinessObjects 10 Named User License,JasperReports Server Community Edition等等。
Azure在这点上和Amazon进行了争锋相对的竞争,微软把很多自有的软件都放了出来,还提供了许多开源的软件,当然在Linux上,Azure还是没有办法和AWS竞争。具体的比较如下:
| AWS | Azure |
操作系统 | Red Hat Enterprise Linux |
|
| Windows Server | Windows Server 2008/2012 |
| Oracle Enterprise Linux |
|
| SUSE Linux Enterprise | SUSE Linux Enterprise Server 11 SP2 |
| Amazon Linux AMI |
|
| Ubuntu | Ubuntu Server 12.04.1 TLS/12.10 |
| Fedora |
|
| Gentoo Linux |
|
| Debian |
|
|
| OpenLogic CentOS 6.3 |
数据库 | Microsoft SQL Server Standard | Microsoft SQL Server 2012 |
| MongoDB |
|
| Acunu Storage Platform Standard Edition |
|
| TurnKey PostgreSQL |
|
| Couchbase Server |
|
应用程序服务器 | IBM WebSphere Application Server |
|
| Tomcat |
|
| Zend Server |
|
内容管理 | WordPress/Drupal 6/ MediaWiki Wiki System | WordPress/Drupal 7/MediaWiki/BlogEngine.NET/Composite C1 CMS/DasBlog/DotNetNuke/Galery Server Pro/Incentive/Joomla.Kentico CMS/mojoPortal/Orchard CMS/phpBB/razorC.net/Umbraco CMS |
商业智能 | SAP BusinessObjects 10 Named User License | BizTalk Server 2013 |
| JasperReports Server Community Edition |
|
当然,在AWS EC2和Azure Virtual Machine的具体使用上,还有很多不同,关于这些我们会放到下一节讨论。