このページの本文へ

ソーシャルメディアの展開を迅速に進めるミドルウェア「Spin」

アザゼルさんのFacebookゲーム開発をクラスメソッドが語る

2012年07月11日 09時00分更新

文● 大谷イビサ/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

マンガやアニメなどのコンテンツをPRすべく、ソーシャルメディアを活用するコンテンツ企業は増えている、先日公開された「よんでますよ、アザゼルさん。」のFacebookゲームもその1例だ。開発元のクラスメソッドに、AWS(Amazon Web Services)上で構築された同ゲームを支えるシステム開発や技術背景について聞いた。

人気コンテンツをソーシャルメディアで積極展開

 「よんでますよ、アザゼルさん。」は講談社イブニングで連載中のコメディマンガ作品で、芥辺探偵事務所のスタッフと魔導書グリモアによって召還される悪魔たちが繰り広げる騒動を描いており、ブラックで切れのある作風は多くの読者の支持を受けている。TVアニメやラジオ番組などでも展開されているこの作品をソーシャルメディア上でアピールすべく、5月に公開されたのがFacebookゲームだ。

「よんでますよ、アザゼルさん。」のFacebookアプリ人気のキャラクターが続々登場アイテム収集も楽しい

 このFacebookゲームでは、アカウント連携、アイテム収集、カード図鑑、ランキング、クイズ、友達に共有、試し読みなどの機能がある。しかも、これらはAPIで提供されているので、モバイルデバイスの種類や画面サイズに依存しないでカスタマイズできる。

 このFacebookゲームのプラットフォームになっているのが、クラスメソッドが開発した「Spin」というプラットフォームである。こうしたゲーム系の案件も、コンテンツごとにイチから開発するのは予算がかかる。そこで、Facebookアプリをプラットフォーム化し、コンテンツだけを差し替えられるようにしたのが、Spinというわけだ。

「マガジン回し読み」感覚でファンを増やす

 Spinの開発を手がけたクラスメソッドは、2004年に設立されたソフトウェア開発会社。代表取締役社長の横田聡氏は、「当初は業務システムメインだったのでJavaでしたが、最近ではコンシューマ系やスマホのアプリまで幅広く手がけているので、PHPとかScalaとか。UIもiOS、Flash、JavaScript、HTML5までひととおり」と説明。技術的な間口の広さが大きな売りになるという。

クラスメソッド 代表取締役社長の横田聡氏

 また、クラウドの利用をいち早く推進しているのも、クラスメソッドの特徴。横田氏によると、「受託開発でサーバーまで用意しなければならない案件が多いのですが、普通に予算を計上すると、コスト的に見合わないんです。そこで、2009年くらいからAWS上でシステム開発を始めました」とのこと。「デモシステム構築用にAWSを利用していたら、そのまま本番システムとして使うことにしたお客様もいました。情シスではなく、企画部門がクイックにサービスを立ち上げるといった要件では、AWSの利用が多いですね」とのことで、今では案件の半分近くをAWS上で構築しているという。

 さて、今回の「よんでますよ、アザゼルさん。」のFacebookアプリ、ひいてはそのプラットフォームであるSpinが生まれたのは、ITシステム会社とコンテンツ会社との交流からだという。講談社のイブニング編集部との話の中で、「われわれのようなIT屋は、口コミや検索結果は作れるけど、マンガや映像などのコンテンツや素材自体は生み出せません。一方でコンテンツを持っている人は、原稿、ネーム、没ネタなど膨大なコンテンツを生かし切れていないという反省があったんです」という議論が出てきたという。

 こうした議論の結果として、コアな読者のいるコンテンツを使って、なにか面白いモノを作ろうというのが、「geeeeksプロジェクト」になる。そして、この第一弾が「よんでますよ、アザゼルさん。」のFacebookアプリというわけだ。「僕らが小学生のときにやっていた、『マガジン回し読み』みたいな感じで、SNSをうまく活用できないか考えました。担当編集の方を介して、作家さんとコミュニケーションを図り、実際にコンテンツを提供してもらいました」(横田氏)ということで、課金目的より、ファンを増やしたり、埋もれたコンテンツを知ってもらうかを重点が置かれたと話す。

AWSのサービスで迅速な構築や効率的な運用

 Spinの構成は以下のとおりで、AWSの各サービスをフル活用している。

Spinのシステム構成概要

 アプリケーションサーバーとしては、Amazon EC2でオートスケールでグループを構成。ロジックは、Javaのフレームワークとして注目度の高いPlay Frameworkに、Scala言語を利用するためのプラグインを用いて開発している。「Tomcatのようにアプリケーションサーバー側でHTTPセッション管理を行なわず、NoSQLのようなDBを使えるPlay Frameworkを採用しました。また、Scalaに関しては、Javaのコードを再利用できるのと、パターンマッチングが強力というのが採用の理由です」(横田氏)とのこと。各インスタンスは、Elastic Load Balancerによって振り分けられる。一方、ユーザーインターフェイス側は、数多くのスマートフォンに同じように表示させるため、機種依存しないようにHTML5のタグを張り込んだ。

 注目したいのは、データベースの使い分けだ。Spinでは、マスタのデータベースにAmazon RDS、静的コンテンツはAmazon S3、そしてユーザーのセッション情報をNoSQL型のDynamoDBに搭載している。「キャッシュでサイトを高速化させるため、最初はCassandraやMongoDB、memcachedなどを試してみました。全部サンプルプログラムとしてはOKなんですけど、管理やパフォーマンスを考えると、壁が見えるんです。DynamoDBはそのうちで一番拡張しやすそうでした」とのこと。

 同社はSpinに限らず、同社ではAWSの各種データベースを用途にあわせて使い分けている。「今までのエンタープライズのデータベースは、コミットやロールバック、ログやステータス管理を含めて、確実なトランザクションを重視していました。ですが、ユーザー数やデータ量が増えると、これでは間に合いません。すべてのボトルネックがデータベースになってしまう可能性があるんです。その点、DynamoDBでは1テーブルに対する書き込みを高速に一貫性を持ってできます」と評価。また、ダウンタイムゼロで性能を向上させていたり、同期レプリケーションが容易といった、管理者負担が小さいというメリットを評価したという。さらに「1週間単位で集計したい場合でも、EMR(MapReduce)で複数の計算機を回せば、件数に関わらず同じ時間で実現できます」(横田氏)というスケールアウト性能の高さも大きな魅力だったという。

 Spinでは言語やフレームワークを用いて、クラウド上にシステムを展開しているが、ソーシャルゲームだからこそこうした最新の技術が利用できたと語る。「業務システムは新しい技術に慎重なので、なかなか使えないもどかしさがあります」(横田氏)。とはいえ、今後はこうした技術の実績を増やしていけば、必ずエンタープライズでも有効活用できると横田氏は語る。

■関連サイト

カテゴリートップへ

ピックアップ