クラウドサーバ(?) Morph AppSpace に Pebble ブログをインストールしてみる

最近はやりのクラウドコンピューティング。 そのプロバイダのひとつである Morph AppSpace に、Pebble という Java でできたブログツールのデプロイを試しにしてみました。

なんだかおこられそうな使い方ですが、Morph AppSpace はインターネットで使える Java のアプリケーションサーバとして使えます。 1cube (1アプリデプロイ/1G容量、帯域) までは無料とのことです。 🙂

クラウドコンピューティングというのは、よく理解していないのですが・・・。

クラウドコンピューティング – Wikipedia

ネットワーク(特にインターネット)という「雲 = クラウド」の向こう側に、サービスを提供するサーバなどがあるが、ユーザーからはもはやサーバの場所も台数も構成も認識できず、単にサービスを受け取っているようなイメージといえる。

ということらしい。 WikiPedia にもありますが、言葉の視点が利用者になっているのでちょっとぼくらには分かりづらい。 実態はなんなんだって話ですが、クラウドというとぼくの中では「Java とかのアプリケーションサーバのレンタルサービス」?

みもふたもないですが、現在のところは Java アプリケーションサーバとか DB とか、Python とか Ruby on Rails とか、アプリケーションを動かすインフラがそろっていて、かつ一般のレンタルサーバよりも高信頼性なサーバで、それをお金を出して借り、そこに好きなアプリケーションを入れてお客さんにサービスを提供する。 といったところなんだと思います。

いまのレンサバでもできるじゃーん、って話ですが、いわゆるレンタルサーバよりもアプリケーションのインストールや運用に特化した環境ができているのが特徴です。

[tegaki]論よりラン(久しぶり)[/tegaki]

ってことで、Morph AppSpace は 1cube 無料で使えるということなので早速アプリを入れてみましょう。

Java/GrailsのWebアプリを無料クラウド環境で動かす (1/3) – @IT

本稿では、「Morph AppSpace」というサービスを紹介します。冒頭で紹介した「Google App Engine」では、Pythonで作成したWebアプリケーションしかデプロイ(配置と公開)できません(2008年9月現在)。しかしMorph AppSpaceは、JavaGrails、そしてRuby on Railsで作成したWebアプリケーションをデプロイできます(参考:iPhoneアプリプログラマーに目を向けるMorph Labs)。

デプロイという言葉がききなれないかもしれませんが、要はインストールとかセットアップということです。 Windows のクライアントのソフトウェアは setup.exe とかでインストールしますが、アプリケーションサーバがある環境ではこのような操作をデプロイといいます。

PHP とかファイルコピーで動く環境ではあんまりデプロイっていいませんが、要は Windows で setup.exe を使ってソフトをインストールするのと同じ感覚で、Java とかの Web アプリケーションは、アプリケーションサーバと呼ばれる環境に setup (デプロイ) します。

ここでは、Morph AppSpace のアプリケーションサーバに、Pebble という Java 製のブログツール(WordPress みたいなもん) をデプロイしてみます。

Pebble – Java blog server software

Pebble is a lightweight, open source, Java EE blogging tool. It’s small, fast and feature-rich with unrivalled ease of installation and use. Blog content is stored as XML files on disk and served up dynamically, so there’s no need to install a database. All maintenance and administration can be performed through your web browser, making Pebble ideal for anybody who is constantly on the move or doesn’t have direct access to their host. You can see an example blog here.

アプリのデプロイの詳細は前述の @IT の記事から…。 イメージ的には Java のアプリケーションの玉 WAR ファイルをネットワーク越しに、Morph AppSpace にコマンドを発行してデプロイします。

Peeble の場合は以下のような感じです。

java -jar morph-deploy.jar --user [ユーザー名] --password [パスワード]
  --config [morph で提供されているプロパティファイル名] [PebbleのWAFファイル名]

# Pebble のデプロイでは、"com.sun.syndication.propono.atom.server.AtomServlet " が、Class NotFound してしまうようでしたので、WAR の WEB-INF からこれらを削除していんちき対応しています。

この操作は setup.exe を動かすみたいなもんなので少し時間がかかる。 2分くらいして URL にアクセスしてみると…。

Morph03

おーうごいたうごいた。 (http://another.morphexchange.com/ そのうち消すかもですので期間限定)

ついでに Pebble も紹介。 特別な管理画面をもたず、ログインすると通常画面にメニューが増えるのが特徴の Java でかかれたブログツールです。

Morph02

さすがに WordPress に慣れていると機能が少ないなーと思ったりしてしまいますが、生の Servlet/JSP  でかかれているので Java の勉強にはいいと思います。

PHP だとアプリケーションサーバの考え方が mod_php ではないので、ちょっと考えにくいかもしれないですが、これらの環境で動作する Web アプリケーションはその生存期限が違います。

Morph AppSpace のアプリ管理画面。

Morph01

ここでデプロイしたアプリを管理できます。

PHP はファイルをコピーすれば、Apache が mod_php を呼んで動作させてくれますが、これは http アクセス契機で、アプリが開始終了します。

一方アプリケーションサーバで動作するアプリは、生存し"続け"られます。 アプリケーションサーバ上で明示的に指定するまで終わらないのですが、これを管理するのが上の管理画面です。

この2つ方式、いったい何が違うのかというと、一番分かりやすい例はメモリが使えるということです。

PHP とかはアクセス終了後すぐ終わっちゃうので、何かをメモリに保持しても無駄で初期設定とかいちいち DB とかファイルとかから読み直さねばなりません。 かたや、アプリケーションサーバがある環境ではメモリがつかえるので、初期設定や DB 接続を "維持" できます。

WordPress でも起動後、言語ファイルを読みに行ったりデータベースの接続をしたり、こういった初期設定を1アクセスごとにやっていますが、もしアプリケーションサーバ上で動くソフトであれば、これはアプリ起動時いっぱつだけですみます。 生き続けるのでデータ状態を保持できるのです。 また、コストのかかるデータベース接続も基本的に一度で済みます。

てなわけで、こういった処理が大量にあるエンタープライズアプリでは Java とかのアプリケーションサーバが使える環境でつくられるのが一般的(もちろん他にもたくさん理由はありますが)ですが、コンパイルやデプロイの時間なんかの作業効率が悪い部分もあって、どーしよーと考えられたのが、JRuby や JPython などの Java 上で動くスクリプト言語です。

スクリプト言語でぱきぱき run and debug しつつ、Java のアプリケーションサーバ環境も使えてしまうというおそるべきハイブリット。 Morph AppSpace でも groovy という Java 上で動くスクリプト言語が使えるようです。

とりあえず、Java アプリケーションを自由にデプロイできるレンタルサーバというのはなかなかないので、そういう意味でも Morph AppSpace は結構遊べます。 いまや、プログラマといえば Java 技術者みたいなところもあるくらいなので、PHP よくわからん! って方は試してみるといいかもしれません。 🙂

コメントを残す