カラクリスタ

『輝かしい青春』なんて失かったヒトのブログ

dotcloudを使ってみた!

概要: 統一言語メーカーをdotcloudに移植してみた


追記: 2014-10-28

2014年10月現在、統一言語メーカーは、公開を停止しています。


最近 Perl on Cloud ! が可能で、かのmiyagawaさんがjoinした事で有名な dotcloudですが、最近というか、

  1. 2011-04-30にbeta申し込み
  2. 2011-05-04に招待コードが届く
  3. その日の内にアカウントを取る
  4. 放置(おい

という感じで試そう試そうと思ってたんで、昨日から本格的にコードを書き、 今日deployしてコードを実行する所までこぎつけたので、今日はその事を書いてみたいと思います。

で、まず、本格的にApplication for dotcloudを書く前に、 練習からし始めたい! ということで、題材を探してたんですが、 ちょうど昔に作って放置してた統一言語メーカーというのがあったので、 今回、これをdotcloudに移植してみました。

で、実際のコードとサイト:

それで作ったみた感想とか。

まず、Application自体は普通のPSGI Applicationと何ら変わらず、 ディレクトリ構成にちょっと制限というか制約がある感じですが、 そのあたりはまあちょちょっと調整してやれば、問題ナッシング! という感じ。

で、俺がはまったそれ以外のことで。

まず、Perl on dotcloudでは、依存モジュールのインストールに、 Makefile.PLに記載された依存モジュールが、cpanmによってインストールされるんですが、 依存モジュールが、cpanmがパースできないバージョン番号使ってると、 cpanmがこけて、dotcloudへのdeployが失敗します。マジで。

これはまあ変なバージョン番号を使ってるモジュールが悪いといえばそうなんですが、 なんとかしない限りでは先進めないので、Makefile.PLの依存モジュールを書く際に、

'Example::Module' => $invalid_version_numver

となってる部分を、

'Example::Module' => 0,

としてやると、なんとかインストールはできます。 が、おそらく変なバージョン番号使ってる依存モジュールがアップデートしたときに、 Makefile.PLで指定するバージョンを上げる事によってアップデートできないと思うんですが、 これはdotcloudの本番サーバにsshでログインし、中に入ってるcpanmを使ってインストールしてやれば、 多分大丈夫だと思います。

ちなみにdotcloudの本番サーバに、sshを使ってログインするには、

$ dotcluod ssh {namespace}.{app}

としてやればOK。あ、{namespace}.{app}は各自の環境に読み替えてください。 あと、dotcloudのsshはサーバが遠いのかなんなのか、入力がモッサリです。

まあ僕がハマったところはこんな感じ。で、実際使ってみて思った事。

ヤバイ、簡単すぐる

いや、本当、Python使ってGoogle App Engine用のApplicationをシコシコと作ってたのが馬鹿らしくなるくらい簡単です。 ぶっちゃけた話、普通のWeb Applicationを書くスキルさえあれば、dotcloud用のApplicationは簡単に書けると思います。

で、まあそんな感じで、かなり素晴らしいと感じるdotcloudですが、 最初の方にも書いたけど、現在絶賛beta期間中なので、 本格的なWeb Applicationを書くには、まだパーツが足りないという感じです。

まあこれは時間が経てば解決してくれる問題でしょうが、 まあまだ本格的に使うには時間がかかりそうだと思います。 まあでも、簡単なWeb Applicationを動かす分には問題ないので、 ちょっとしたモノならdotcloudにdeployするのがいいんじゃないでしょうか。

あと今回はPerlを使いましたが、Perl以外にも、PHP、Ruby、Python、node.js等、 様々なProgramming Langaugesをサポートしているので、他の言語を使ってる方でも、 問題なく使えると思います。

まあbetaの招待コードは、メール送ってもずっと来ない、 ということはなさそうなので、dotcloudを試してみたい方は、 一度betaに参加するのもいいんじゃないでしょうか。

というわけで以上、dotcloudを試してみたって話でした。