写点什么

云计算比较:EC2, Mosso 和 GoGrid

2008 年 12 月 11 日

利用 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 的安装和设置方法。

GoGrid

GoGrid 宣称其是唯一一个提供真正控制功能的云服务商。他们提供多服务器控制面板,通过此面板可以在数分钟内对需要负载平衡的云服务器进行部署和管理。服务的启动比 Amazon EC2 简单,时间上自然也节省不少。在 GoGrid 的站点上注册一个账户,数分钟后接收到确认邮件,然后就可以开始服务器设置了。

用你的帐户登录后是首先会进入一个简单的用户首页,点击其中的“Add”按钮会出现几个选项(见下图):

根据所需的 web 服务器的类型,点击相关按钮,将出现的一个新的窗口,在其中输入必要参数:

首先为你的服务器选择一个名字和描述,这里名字和描述分别是“simple”和“a simple web server”。随后选择一个 IP 地址,其显示在屏幕左侧,当在 IP 输入框输入时会有自动的提示。IP 地址由 GoGrid 提供,并且与实体机器绑定。另外你还可以选择 RAM 大小(512MB、1GB、 2GB),操作系统(CentOS、Red Hat、Windows 2003 Server)和映像类型(Apache、LAMP、IIS)。

配置完成后,您就可以立即访问此服务器了。打开浏览器,输入选定的 IP 地址,一个确认信息就会出现在屏幕上。

网络相关的事务都是由 GoGrid 负责完成的,但是它也允许用户另加 IP 地址和配置 DNS 信息,例如你拥有自己的域名的时候,就可以配置这个域名指向你的 GoGird 服务器。

添加负载平衡和数据库也非常简单,几个点击加上些简单的配置,一分钟内就建立好可以运行了。另加服务器可以通过 Web 界面(见上图)或者 GoGrid 的 API 完成。此 API 是一个 REST 风格的 Web 服务 API,Java、PHP、Python 和 Ruby 都可以对其进行调用,此 API 提供了通过 Web 界面可以完成的所有功能。

下面我们将讲到的是 Mosso,它是一项由 Rackspace 提供的云服务。

Mosso

Mosso 另辟蹊径,它将云计算的思想与 Web 接入中心通常会提供的独享 / 共享服务器环境结合起来。Mosso 并没有提供服务器的 root 访问,而是为服务器安装了操作系统并预装软件,这一点上和一个标准的 Web 接入中心没什么区别。这使得 Mosso 按需对其服务进行监控和调节非常容易,终端客户也不用再为操作系统、设备和负载平衡等事务操心。

启动服务的第一步仍然是在 Mosso 网站注册一个账户,然后接收确认邮件。登录成功后,首先来到控制面板页面。

Mosso 的一个目标是尽可能做到简化,只用几下点击就能运转,这一点跟 GoGrid 类似。要建立起一个互联网站点,并且让其指向某个已存在的或者刚刚注册的域名,你只需点击“Websites & Email”按钮即可。

配置页面可以进行一些基本的操作,其中包括一些数据库的操作和 Web 服务器的操作。

Mosso 的服务指南写得也非常简单直接,简单的几个点击就会出现简要的报价介绍,让你能明确所需。初始配置完成后就能利用 FTP 的方式来上传站点内容了。在控制面板中很方便就能进行加入 SSL 认证、修改用户帐户和 email 设定、更改底层使用的技术(即可从 Linux/Apache 改为 Ruby on Rails)、查看站点统计数字等等操作。

在完成对 Amazon EC2、GoGrid 和 Mosso 的介绍之后,下一节将对三者提供的服务进行比较。

功能

Amazon EC2 GoGrid Mosso Windows Support Yes (see Qemu) Yes Yes Linux Support Yes Yes Yes Open Solaris Support Yes No No Graphical User Interface No Yes Yes Command Line Yes No No API Yes Yes No Root Access Yes Yes No SSH Yes Yes No FTP Yes Yes Yes Hardware Configurable Yes Yes No 到目前为止只有亚马逊允许在服务中部署客户自己提供的系统映像。亚马逊官方站提供了如何部署 Open Solaris 映像的相关信息,其他一些网站还有文章介绍如何部署 Windows Server 2003 映像。GoGrid 未来也打算提供生成各式服务器映像的功能,理论上意味着其服务将能支持多种操作系统。

这三个服务商都提供了 FTP 访问支持,其中 Mosso 没有完全的根访问权限。Mosso 也是唯一一个没有提供硬件配置能力的服务商,虽然其是有意这么设计的

价格

Amazon EC2

价格由三个方面因素决定,包括实例类型(标准 vs High-CPU)、数据传送和弹性 IP 地址。

一个标准的实例的价格从每小时 $0.10 到 $0.80 不等,High-CPU 则为 $0.20 - $0.80。数据传送的价格根据数据来源和去向的不同(因特网、可用区域(Availability Zone)和 Regional 等),价格从 $0.00 到 $0.17。

最后是 IP 地址,它的价格范围是从免费到每个弹性 IP 地址重映射 $0.10,这要看 IP 地址在整个月是怎样用了。

GoGrid

GoGrid 根据服务器的 RAM 使用小时数 (Server RAM Hour,)、传入数据量和传出数据量三个因素定价。价格策略非常简单,每个服务器RAM 每小时0.19 美元,传出数据量价格是每GB 0.50 美元,传入数据量免费。

Mosso

Mosso 提供标准收费为 100 美元每月,包括:

  • 建立站点、服务器和邮件帐户的在线软件–数量和时间都不限
  • 50GB 的高性能 SAN 存储空间
  • 500GB 的月带宽
  • 每月 10,000 个计算周期
  • 24 x 7x 365 的电话和在线语音服务支持

对每月访问人数大约在 100,000 左右的大型应用,Mosso 根据规模有一套增量价格策略。对于增加部分,硬盘空间为每 GB 0.50 美元,带宽为每 GB 0.20 美元,每个计算周期为 0.01 美元。

可用性

三个服务商中只有 Mosso 进入了“产品”阶段。Amazon EC2 和 GoGrid 的服务还处于“Beta”状态,虽然它们的应用范围和成熟度增长很快。

随着云计算的流行,一夜间也出现了许多云计算提供商。服务商的选择并非易事,因为每个提供商都有提供有独特的功能、定价策略、灵活性和控制措施。这篇文章首先对 Amazon EC2、GoGrid 和 Mosso 的服务做了简要介绍,然后要对此三个服务商服务的功能、定价和可用性等方面做了比较。更多详细的信息可以访问以下链接:

阅读英文原文 Comparing the Cloud: EC2, Mosso, and GoGrid


志愿参与 InfoQ 中文站内容建设,请邮件至 editors@cn.infoq.com 。也欢迎大家到 InfoQ 中文站用户讨论组参与我们的线上讨论。

2008 年 12 月 11 日 00:015066
用户头像

发布了 23 篇内容, 共 37343 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

亚马逊Prime会员日火爆开启一站购全球逾3000万正品商品

爱极客侠

肝到头秃!阿里爆款的顶配版Spring Security笔记

周老师

Java spring 编程 程序员 架构

服务器的发展历史

德胜网络-阳

做好微服务架构,并非易事!!

架构师修行之路

微服务

一个草根的日常杂碎(10月6日)

刘新吾

随笔杂谈 生活记录 社会百态

十一长假我肝了这本超硬核PDF,现决定开源!!

冰河

项目管理 jenkins 互联网工程 持续发布

LeetCode题解:94. 二叉树的中序遍历,使用栈,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

苦难过后,终会团聚

hellocj

翻译之深入注释俄罗斯民间故事的语料库,以实现对俄罗斯形式主义理论的机器学习

AI代笔

区块链 | 最火的七大职业了解一下

CECBC区块链专委会

区块链技术人才

从哲学源头思考自动驾驶网络架构设计

华为云开发者社区

自动驾驶 架构

拜托,学妹,别再问我怎么自学 Java 了!和盘托出

沉默王二

Java 自学编程

OpLog4j

Geek_746da6

中国银行正式启动区块链产业金融服务项目 ​

CECBC区块链专委会

区块链 金融 金融服务

CPU 执行程序的秘密,藏在了这 15 张图里

Java架构师迁哥

Programmatic Navigation using SwiftUI| 使用SwiftUI进行程序化导航

Daniel

个人数字人民币钱包即将亮相

CECBC区块链专委会

央行 数字人民币

【第四周】系统架构

云龙

典型的大型互联网系统使用了哪些技术方案和手段,主要解决什么问题?

极客海

一个草根的日常杂碎(10月8日)

刘新吾

随笔杂谈 生活记录 社会百态

Spring 学习笔记(二)Spring中的一些概念

无语

Spring Framework

架构师训练营 1 期第 4 周:系统架构 - 总结

piercebn

极客大学架构师训练营

OKR-VUCA时代目标管理利器实践分享

张兆东

国外的公司都是如何对待大龄程序员的?在国内该如何应对?

Java架构师迁哥

第三周作业一

dll

来喽,来喽,Python 3.9正式版发布了~~~

华为云开发者社区

Python 编程

我和我的智能联接

脑极体

图解 K8S 源码 - Informer 篇

郭旭东

Kubernetes Kubernetes源码

Kubeless 如何基于 CPU 自动伸缩? | 玩转 Kubeless

donghui2020

Serverless kubeless

为什么有了SOA,我们还用微服务?

架构师修行之路

微服务

一个草根的日常杂碎(10月7日)

刘新吾

随笔杂谈 生活记录 社会百态

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

云计算比较:EC2, Mosso和GoGrid-InfoQ