6月
4
2011

巷で噂のPaaSサービス、DotCloudを試してみた!

様々な言語やDBが利用でき、巷で有名な「DotCloud」サービスを試しに使ってみましたので、紹介します。

DotCloudとは

DotCloudは、GAEやAzureと同じPaaSサービスです。
サーバやネットワークの構築・管理は全ておまかせして、開発のみに集中することができるため、開発生産性を高めてくれます。

また、DotCloudでは、GAEやAzureなどの特定言語やDBにロックインされてしまうPaaS環境と違い、多くのコンポーネントを提供しており、今後も使用できる言語やDB等を積極的に増やす方針のようです。

現在、DotCloudで使用できるコンポーネントは、PHP、Python、Ruby、Java、Perl、Node.Js、MySQL、MongoDB、PostgreSQL、RedisRuby worker、Python worker、PHP worker、SMTP、Solr です。

今後、追加を予定しているコンポーネントは、下記URLに記載されていますので、参考にしてください。
http://docs.dotcloud.com/components/roadmap/

では、実際に使ってみましょう。

まずは、申し込み

http://www.dotcloud.com/ へアクセスすると、下記画面が表示されますので、「Join our beta」をクリックします。
emailアドレス入力欄が表示されますので、入力してsubmitボタンを押せば、申し込み完了です。


登録

1日ぐらいすると、登録用のinvite codeが登録したメールアドレスに送られてきますので、
https://www.dotcloud.com/beta
へアクセスして、登録を完了してください。

<登録画面>

利用方法を覚えるための、10のステップ

登録終了後、チートシートとして、10項目表示されますので、これに沿って説明します。

1.dotcloudコマンドをインストール

dotcloudを操作するためには、ローカル環境(レンタルサーバ等でも可)にdotcloudコマンドをインストールする必要があります。
dotcloudコマンドのインストールには、Python2.6以上が必要ですので、なければインストールします。

※ここでは、さくらのVPS環境で試していますが、Pythonのバージョンが低かったり、足りていないモジュールがあったりと、インストールに苦労しましたので、参考になると思います。

Pythonのバージョンは、下記コマンドで調べることができます。

# python -V

openssl-devel、zlib-develを先にいれておかないとエラーとなるので、インストールします。

# yum install openssl-devel
# yum install zlib-devel

Python2.7をインストール

# cd /usr/local/src
# wget  http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
# tar xvfz Python-2.7.1.tgz
# cd Python-2.7.1
# ./configure --with-threads --enable-shared
# emacs Modules/Setup
# diff Modules/Setup Modules/Setup~
214,217c214,217
< SSL=/usr/local/ssl
< _ssl _ssl.c \
<       -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
<       -L$(SSL)/lib -lssl -lcrypto
---
> #SSL=/usr/local/ssl
> #_ssl _ssl.c \
> #     -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
> #     -L$(SSL)/lib -lssl -lcrypto
463c463
< zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
---
> #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
# make
# make install

Python2.7用に、共有ライブラリを設定します。

# emacs /etc/ld.so.conf.d/python2.7.1.conf
/usr/local/lib
# ldconfig

また、Pythonのeasy_installモジュールを使用して、dotcloudをインストールするため、こちらもなければインストールします。

easy_installをインストール

# wget  http://peak.telecommunity.com/dist/ez_setup.py
# python2.7 ez_setup.py

dotcloudコマンドをインストールします。

# easy_install-2.7 dotcloud

これで、dotcloudのインストール完了です!

2.アプリを登録

デプロイするサービスを束ねるアプリを登録します。

# dotcloud create tutty
Warning: /root/.dotcloud/dotcloud.conf does not exist.
Enter your api key (You can find it at  http://www.dotcloud.com/account/settings):
Created "tutty"

API keyを求められますので、
https://www.dotcloud.com/account/settings
へアクセスして、確認してください。

3.利用出来るコンポーネント等を表示する

下記コマンドで、利用出来る言語やDB等を確認することができます。

# dotcloud deploy -h

4.サービス名を決めて、デプロイする

# dotcloud deploy -t php tutty.www

これで、
http://www.tutty.dotcloud.com
へアクセスできるようになります!

5.アプリケーション一覧を表示

下記コマンドで、アプリケーション、サービス一覧が表示できます。

# dotcloud list
tutty:
  - tutty.www (php)
<||

*6.サービスにプログラムファイルをPUSHします

先に、プログラムを作成しておきます。
>||
# mkdir /tmp/test
# cd /tmp/test
# emacs index.php
<?php
echo 'Hellow !<br>';
echo '<a href=" http://tutty.info">tutty_info</a>';
?>

そして、作成したファイルを、tutty.wwwへPUSHします。

dotcloud push tutty.www .

http://www.tutty.dotcloud.com
へアクセスすると、表示されています。

7.リモートでコマンドを実行します

下記コマンドで、tutty.wwwサービスを実行しているサーバ上でコマンドを実行できます。

dotcloud run tutty.www -- ls -l

8.ssh接続してログインします

下記コマンドで、tutty.wwwサービスへ直接ssh接続することができます。

dotcloud ssh tutty.www

9.ログを表示

何か動作がおかしい時など、デバッグ時にログを表示することができます。

dotcloud logs tutty.www

10.公式ドキュメントや、公式チュートリアルの案内

・公式ドキュメント
http://docs.dotcloud.com/

・公式チュートリアル
http://docs.dotcloud.com/tutorials/firststeps/

参考URL

@yusukebeさんの記事「DotCloudは開発者のための優良なプラットフォーム 」や、
@ymotongpooさんの記事「PythonでWebアプリつくるのにDotCloudに登録しない手はない
もすごく参考になると思います。

コメントする

メールアドレスは公開されません。

このエントリーをはてなブックマークに追加