利用Internet将IT能力提供为服务的思想虽然相对来说比较新,但是最近人们对其的关注却达到了高潮。InfoQ也发表了好几篇有关的文章,例如“虚拟化导论”和一篇有关虚拟化安全的文章,但是目前还缺少有关不同云计算提供商之间比较。这篇文章将对三个云计算提供商进行比较,它们都提供服务器为中心的解决方案,首先将分别介绍如何启动三个云计算服务,然后再对三个服务商提供服务的性能、价格和可用性进行比较。
概要
云计算定义
人们接触一项新技术的时候,一开始很容易忽略对最基本层面的理解,后来往往又会回头从新学习这些东西。为了避免陷入这个误区,很有必要先给出一个云计算的简单定义。维基百科的定义是:
“云计算是一种将IT相关能力提供为服务的计算风格。由于利用了互联网技术,云计算外部用户数量一般非常庞大。用户在享受服务的同时甚至可能对支撑云的技术基础设施没有任何了解和专业认知,当然更不需要对其有掌控能力了。
被访资源一般由第三方提供商提供和运作,提供商往往拥有数个基础牢固的数据处理中心。云计算的用户按需购买计算能力,他们一般对完成服务器容量增长的底层技术不是特别关心。不过对于非常关心底层技术的开发人员来说,云计算也在平台服务方面也提供了越来越多的选择。
大体情况便是如此,虽然有些提供商也提供底层控制功能,但是大部分的思路是让云变得尽可能的简单。
应用云计算的原因
个人或者商业团体需要云计算的原因非常多,其中包括:
费用 —— 连接费用越来越低,硬件扩展变得越来越高效
管理成本 —— 无须购买和维护实际硬件设备,既降低成本又节省空间
可靠性 —— 规模扩展和压缩变得非常容易,因此能为客户提供更可靠的服务
这些只是云作为可行性选项的一小部分理由,但是有一点是肯定的,选择哪个云服务可不是一件省心的事情。
服务简介
Amazon EC2
亚马逊官方网站对其服务的描述如下:
“亚马逊弹性计算云(Amazon Elastic Compute Cloud, EC2)是一项在云里提供可变大小计算能力的web服务。设计此云是为了使开发人员进行Web范围内的计算更容易。
Amazon EC2的Web服务接口非常简单,您不费多大力气就能取得和配置计算能力。您将能对计算资源做到完全的控制,并使其运行在亚马逊久经考验的计算环境中。获得和启动Amazon EC2新服务器实例需要的时间已经减少到数分钟内,并且在计算容量发生变化时,不管是变大还是变小,您都能快速进行计算能力的调整。Amazon EC2改变了计算经济学,使您能对计算能力进行按需支付。开发人员可以利用Amazon EC2构造拥有灾难恢复能力的应用,并且使其免除诸多常见灾难的困扰。
亚马逊建议在运用Amazon EC2时候,首先建立Linux环境,熟悉Web服务,安装SSH客户端和Java 5(或者更新的版本)。在以下这段简要介绍的最后,会给出一个Amazon EC2的文档链接,此文档中对此有详细的指导步骤。
首先,你必须建立三个有关的亚马逊账户,它们分别是Amazon Web Services(AWS)账户,Amazon Simple Storage Service(Amazon S3)账户和Amazon EC2账户。不过在你建立好AWS账户后,其他两个账户的建立只需点击几次鼠标即可。
账户建立后,接下来就是设置命令行工具。你可以用Amazon EC2提供的命令行工具或者API来管理你的云。命令行工具被打包成zip文件(点击下载),解压后就可以直接使用,不过之前还必须设置好几个环境变量(EC2_HOME、EC2_PRIVATE_KEY和EC2_CERT)。
安装和配置完成后,下一步工作就是启动Amazon Machine Image(AMI)。你可以利用命令行创建你自己的映像,也可以看到Amazon公开的一些映像。当选定一个映像以后,需要生成一个SSH keypair用以登录此映像实例。如果你使用的是PuTTY,还需要将个人密钥转换成PuTTY的格式,具体的做法可以到这里找到。
启动映像的命令是“ec2-run-instances”,随后映像将进入“运行”状态,状态检查可以用“ec2-describe- instances”命令。在访问映像前,请确保需要的端口都已经打开。为了使用SSH和HTTP,可以用“ec2-authorize”工具分别打开 22和80端口。
只要在浏览器中访问站点的网址即可(地址会在“ec2-run-instances”命令执行后给出,例如:ec2-67-202-51-223.compute-1.amazonaws.com)即可验证操作是否正确。基本的安装和设置完成后,你就可以进行内容部署,从而顺利地使用你的新云了。
大量更细节的指导信息请参见Amazon EC2技术文档站点。下面我们将接着介绍GoGrid的安装和设置方法。