« July 2009 | Main | December 2009 »

2009.08.11

GoogleはAppEngineで本気のビジネスをしようとしている

Images

テレビ番組表から録画予約ができるiPhoneアプリ「Displex」のv1.2.0まででは、番組名をキーワードにして、Amazonに直接検索をしていた。アニメやドラマなど、DVDが出ていたり原作があったりする番組では中々おもしろい結果が出ていたのだが、検索にひっかからない番組名が多々あるという問題を抱えていた。

そこで、GoogleAppEngineのJava版(GAEJ)を使って検索処理をサーバーに肩代わりさせて、検索にヒットしたときだけリンクを表示するという改善を試みた。実装はすでに終わっていて、このサービスに繋げたv1.2.1を本日申請した。
(申請後、3Gによるテスト中に不具合が見つかったため、自己リジェクトをしました。8/17に再申請しております。)
(v1.2.1が公開されました)

GAEの導入に際しては、Google App Engineで手軽に試すJavaクラウドを参考にした。2009年8月時点では、別途登録しなくてもいきなりJava版の利用も可能な状態であった。

これまでTomcatやJettyを使ってJavaServlet/JSPの実装をした事があったので、ほとんどGAE環境の特殊さを気にせずにアプリを書くことができた。Eclipseのツールバーからボタン一発でローカルサーバでの実行とサーバーサイド環境へのアップロードまでサクっとでき、すこぶる快適であった。ここまでの開発環境がさっと揃うだけでも凄い。

もし自宅で自前サーバを用意する場合、専用マシンを用意して、LinuxOSを入れて、JDK入れて、Apache入れて、Tomcat入れて、連携用のmod_jkなどのプラグインを入れて、RDBをインストールして、JDBCをインストールして、、、、とアプリを書き始めるまで膨大な工数を要する。さらに外部に晒すサーバともなれば、DDNSなどを使ったドメイン名解決、ルータへのアタック対策(国別フィルタくらいは入れないと海外からの攻撃がものすごい)、停電対策で簡易UPSを導入、そして月々の電気代の支払いなどなど、継続運用に要する時間的、金銭的コストもなかなか馬鹿にならない。

レンタルサーバを借りるとしても、意外とJavaに対応しているサービスは少なく、PerlやPHP、Rubyなどが多い。まぁRoRでもいいんだけど、とにかく無料では済まされない。

それがGAEJの場合、JDKインストール、Eclipseインストール、GAEJプラグインストールとGAEアカウント登録、以上だけであとは一切合切お任せして、アプリ実装に集中できるのである。これってよくよく考えるとものすごいことだ。個人レベルで月ごとの無料リソースを使い切ることは相当なアクセス数を稼がない限りなさそうなので、実質無料でさくっとサーバアプリがかける環境が、個人に提供される時代になってしまったのだ。しかもGoogleのビジネスの根幹を支える分散実行環境で稼働されるわけなので、彼らの競争力の源泉の一部を開放しているということになる。

近頃のGoogleの動きを冷静に眺めれば、Androidは傍流でしかなく、本命はHTML5によるブラウザを介したソフトウェアの総Web化であることに気づく。Chromeブラウザ、ChromeOS、そしてAppEngineは総Web化に向けた施策であると捉えるべきだろう。何より無料リソースを超えたときにきちんとお金をとる気満々なところが、ビジネスとして真剣に考えている証拠だろう。AndroidはAndroid Marketのおざなりさ具合からもしても、どう考えても本気とは到底思えない。

さて、デジタル家電のネットサービス連携を考えるに当たっても、サービスの増減、サービスのダウン、アダルトなど不都合なデータのフィルタリング等々を鑑みると、クライアントからの直アクセスは相当リスクが高いという結論に達する。現実的な対策を考えると中間サーバの整備は必須であると言い切って良いだろう。中途半端かつ時代遅れなDalvikVMに依存してAndroidなんぞを導入するより、HTML5にきちんと対応できるブラウザを載せることに集中し、あとはAppEngineを使った家電向けサービスを考えたほうがずっと意義があるのでは、と思えてならない。

長くなってしまったので、Displex向けサービスの中身についてはまた次回に。
とりあえずURLはこちらです。
iPhone Safari向け画面になっている都合上、Firefox/Safari/Chromeあたりでどうぞ。(IE6だと激しく崩れます。)

| | Comments (0) | TrackBack (1)

« July 2009 | Main | December 2009 »