Nodeのホスティングサービスと制限とか

node.js のホスティングサービスまとめ - 自分の感受性くらいで既にまとめられているけれど、自分が使ってみた幾つかのものをまとめてみる。

Joyent no.de

https://no.de/
WebSocketは使えるはずなのだけど、いまSocket.IOアプリを手元のMacで試してみている限りではChrome 14.0.835.202とFirefox 7.0.1ではSocket.IOのwebsocket transportにチャレンジして失敗して結局xhr-pollingになってしまう。Safari 5.1.1では問題無くwebsocketで動く。
gitで管理してremoteリポジトリにpushすることでデプロイ。sshログインしての操作も可能。
細かい設定値などはnpm configを使うのが良さげ。
SmartMachinesは以前(8月頃)は3つ以上つくれなかったのだけど今日試してみたら3つ目をつくることができて、でも動かなくて消そうとしても消えないし、みたいなことはあったりする。ドキュメントもそれほど親切ではないような…

DotCloud

https://www.dotcloud.com/
nginxを使用していてwebsocketは使えない。xhr-pollingもデフォルトだと通らないので何かしらの回避策をつかう必要がある。
デプロイは専用のcliツールによるコマンドから。gitを使っていればそのリポジトリから、使っていなくても".dotcloudignore"に指定されていないファイルがごっそり上がる。sshログインも可能。
環境変数はenvironment.jsonファイルやdotcloud.ymlファイルに記述しておくことでそれをアプリから使用可能。
上記のようにSocket.IOを使おうとすると制約が厳しいが、他のサービス、インスタンスなどを利用して組み合わせるなどはやりやすいと思う。

Heroku

http://www.heroku.com/
websocketは使えないけどxhr-pollingなら普通に使える。
デプロイはgitリポジトリのpushで。sshログインは不可能?
設定値はやはり環境変数だが、コマンドから設定が可能。
こちらも他のストレージサービスなどと連携がしやすいかも。ドキュメントなんかは充実していると思う。

fluxflex

https://www.fluxflex.com/overview
ちょっとだけ動かしてみただけなのであまり詳しく知らないですが
Node.jsアプリを動かす環境としてはそれほど適していないのかな?という印象

Cloudnode

http://cloudno.de/
β版だそうで まだドキュメントが乏しかったりする印象
軽くためしてみたかんじでは、普通にwebsocketが使えている。
デプロイはgitリポジトリのpushで。その他cliツールがnpmで提供されている。sshログインはできなそう?
環境変数の設定とかはどうやれば良いのだろう…?
これからどんどん使いやすくなっていくのであれば良さげな気がする

まとめ

Node Ninjaが楽しみです!