オープンソースのPaaSソフトウェア CloudFoundry の技術情報やイベント告知などを掲載します

2015-06-18

chatapp を Cloud Foundry で動かす

本日の第11回「Cloud Foundry 百日行」は、Pythonで書かれたチャットアプリ chatapp です。デプロイしてチャットを楽しんでみましょう。

基本情報

ソースコードの取得

$ git clone https://github.com/vinceprignano/chatapp.git

chatappディレクトリに入ります。

$ cd chatapp/

アプリのpush

今回はデータベースも使っていないシンプルなPythonのチャットアプリ。まずはそのままpushしてみましょう。

$ cf push chatapp
Creating app chatapp in org ueno / space test1 as ueno...

:

途中、Pythonの環境構築が走り、デプロイが進んで行き、、


:

requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: chatapp.10.244.0.34.xip.io
last uploaded: Wed Jun 17 06:14:50 +0000 2015
stack: lucid64

     state     since                    cpu    memory        disk      details   
#0   running   2015-06-17 03:16:46 PM   0.0%   70M of 256M   0 of 1G  

そのままデプロイが成功し、アプリが起動しました!

動作確認

何はともあれ、起動したアプリ、まずはそのURL http://chatapp.10.244.0.34.xip.io にアクセスしてみます。

初期画面(ユーザーエントリー)

名前を入れてエントリーします。

チャット画面

複数人でエントリーしてチャットしてみましょう。
リアルタイムにチャットを楽しめますね。

まとめ

pushコマンド一発! 今回はCloud Foundryならではの簡便さを楽しめましたね。

ところで、今回のアプリはPythonが使われているので、python-buildpack が必要なはずです。これはどのように処理されていたのでしょうか?
答えは、使用しているbosh-lite環境にそのbuildpackが既に標準で入っているのです。確認してみましょう。

$ cf buildpacks
Getting buildpacks...

buildpack          position   enabled   locked   filename
java_buildpack     1          true      false    java-buildpack-v2.5.zip
ruby_buildpack     2          true      false    ruby_buildpack-offline-v1.1.4.zip
nodejs_buildpack   3          true      false    nodejs_buildpack-offline-v1.0.4.zip
go_buildpack       4          true      false    go_buildpack-offline-v1.0.4.zip
python_buildpack   5          true      false    python_buildpack-offline-v1.0.5.zip
php_buildpack      6          true      false    php_buildpack-offline-v1.0.2.zip

もしお使いの環境にpython-buildpackが入っていなければ、アプリのpushの際に、 -b https://github.com/cloudfoundry/python-buildpack を指定してください。あるいは、第5回の最後で触れたように、manifestファイルに書き込んでおいてもいいですね。

今回使用したソフトウェア