云平台 AppFog 和 OpenShift

云计算(Cloud Computing)是一种基于互联网的计算方式,它的最大特点就是:按需使用,无需维护。按照云计算的层次可以分为云架构(IaaS,Infrastructure as a Service),云平台(PaaS,Platform as a Service)和云软件(SaaS,Software as a Service)。云架构提供了最基础的计算资源,比如硬盘,内存,带宽等;它的最典型的例子是 Amazon EC2。云平台提供了操作系统,编程语言和数据库等,一般提供给开发人员使用,它的典型例子有 Google App Engine,Windows Azure Compute,Cloud Foundry,以及 AppFog,OpenShift 等。云软件仅仅提供在线软件,一般直接提供给用户使用,它的例子有  Google Apps,Microsoft Office 365 等。

最近试用了云平台 AppFog 和 OpenShift,这两个云平台都支持多种编程语言和多种数据库,这里做个总结和比较。

AppFog 的界面非常漂亮简洁,使用方便。免费用户可以创建多个应用,各个应用总共可以占用 2G 内存;另外还可以创建 8 个 service instances,即数据库等,每个数据库的空间是 100M。AppFog 对每个应用提供 appname.aws.af.cm 这种形式的域名,当然也可以免费绑定域名。

AppFog 是基于 VMware 的 Cloud Foundry 平台的,它的应用管理工具使用 Ruby 语言开发。要更新代码,首先到安装 Ruby for Windows 程序,然后在 Ruby 控制台中用命令 gem install af 安装应用管理工具。成功之后就可以用 af update appname 命令上传或更新代码了。对于免费用户,AppFog 太慢了,而且代码太大了无法上传,得分为几部分更新。

OpenShift 是 Red Hat 公司的产品。它的界面黑不溜秋的,用起来也不太顺手。免费用户可以使用 3 个 small gears,其中每个 small gears 包含了 512M 内存和 1G 硬盘空间。而每个应用需要使用一个 gear,因此一共可以创建 3 个应用。在 OpenShift 中,每个应用的域名是 appname-namespace.rhcloud.com 的形式,即各个应用使用相同的 namespace。OpenShift 提供的这个二级域名是 https 形式的,这个比较好。同样的,你也可以绑定自己的域名,但是得通过命令行方式,比较麻烦。

OpenShift 的应用管理工具也是用 Ruby 语言编写的。因此,首先我们需要在 Ruby 控制台中用命令 gem install rhc 安装应用管理工具。OpenShift 使用 ssh 密钥的方式登录,因此首先我们需要 用 rhc setup 命令生成自己的密钥。而应用的代码,OpenShift 使用 git 来管理,这个倒是非常方便而且可以管理代码的版本历史。这里顺带介绍绑定域名的命令:rhc alias add appname www.example.com

参考资料:
[1] Cloud computing - Wikipedia, the free encyclopedia
[2] AppFog: PaaS for Public and Private Clouds
[3] OpenShift by Red Hat
[4] AppFog拎包入住指南 - CNode
[5] Redhat OpenShift 云计算平台试用小记 - 尘埃落定

你可能感兴趣的:(openshift)