Red Hat 的 PaaS 平台 OpenShift 有三种版本:开源的 OpenShift Origin, 商用的 OpenShift Enterprise 以及 OpenShift Online,也就是这篇文章要谈论的公用版本。
OpenShift 搭配使用的命令列工具是用 ruby 写成,所以是包成 rubygem 而不是放在 npm 上。
在 Fedora 底下可以直接安装:sudo dnf install rubygem-rhc
透过 rhc setup 设定完成后,便可以 rhc app create 来建立一个新的 Gear 来存放程式。
更新程式都是透过 git 操作,push 上去后会自动执行 npm install --production,所以常会花不少时间才能完成,有时更新后遇到问题就得 rhc tail 去看看到底发生了什么事。
另外在 Web Console 裡面也能很方便地新增 MongoDB 等 Cartridge 来附挂功能,但由于免费的每个 Application 有 1G 容量的限制,得自己 rhc ssh 进去停掉 MongoDB 的 Journal 功能以节省用量。其实也可以直接用 MongoLab 提供的服务还来得更好用。
除此之外更麻烦的就是 inode 的数量上限只有 80000,偏偏 npm 装了一大堆东西之后很容易就会用掉上万个档案数目,要注意把 dependencies 跟 devDepenpdencies 区隔清楚。
OpenShift Online 提供了免费的叁个 Application 额度,虽然能够自订 CNAME 绑 domain 这点很不错,但由于提供的 Node.js 还停留在 0.10,再加上刚刚提到的种种问题,结论还是不推荐。但如果是在新手工作坊之类的场合要拿来玩玩应该还是很有用,不过这样还不如去用 Heroku 对 Node.js 的支援还更好。