急成長するソーシャルゲーム市場
大規模Webサービスの先駆けとして、ソーシャルネットワークサービス(SNS)が騒がれ始めたのが2000年初頭。日本でも2000年中頃に『mixi』『はてな』といった今では当たり前になったサービスが誕生しました。
それから10年、SNSはゲームと融合し「ソーシャルゲーム」と進化し新たな発展を遂げています。その代表格の1つが『Mobage』です。
Mobageとソーシャルゲーム
「Mobage」を運営するDeNAは2009年にソーシャルゲームをリリースし2010年からMobageプラットフォームをオープン化しました。2012年現在では、1日に35億PVものアクセス数をさばくWebサービスへと成長し、今後も拡大して行くことでしょう。
日本国内で急成長の背景には、以下のような土壌がありモバイル向けゲーム市場が受け入れられたのではないでしょうか?
- 80年代に誕生した「ファミリーコンピュータ」に代表される家庭用ゲーム機の普及によるゲーム文化の定着
- ガラケーに代表される携帯コンテンツ文化におけるキャリア決済の定着
- スマートフォンに代表される高品質なデータ通信&インフラ
上記の土壌のもと、急成長したサービスですが「どのように開発・運営しているのか」とても興味がわくところです。そんな疑問を感じた2010年年末、書籍化がスタートしました。急成長する分野だけあり、執筆期間中もさまざまな変更があり、その間執筆に関わった著者の方はギリギリまで最新の情報を提供することに努力してくれました。改めてお礼を言いたいと思います。
本書の紹介
本書を一言で言うと「大規模Webサービスの構築・運用ノウハウ」本です。しかし、既存の書籍とと大きく違う点は、リアリティのある世界『Mobage』を舞台にしたノウハウ本である点です。たとえば、通常Webサービスを構築する場合、Webサーバ、アプリケーションサーバ、データベースサーバ、そして負荷軽減の目的でキャッシュサーバを中継するという構成が一般的です。また、ロードバランサとしては効率の良いDSR方式を選択するほうが多いことでしょう。しかし、DeNAでは、Webアプリケーションサーバとデータベースサーバのシンプルな2層構造を選択し、ロードバランサもNAT方式を採用しています。その理由はなぜなのか? どのように対処するのか? そういった現場のノウハウが本書には書かれています。ほかにもレプリケーション遅延に対する取り組み、セットアップの自動化など急成長するシステムだからこそのノウハウが詰められています。
レビュー記事なども公開されていますので、そちらも参考にしてください。
本書の構成は、大きく4つのパートに分かれています.
- Part1 ソーシャルゲーム開発技術
- Part2 ソーシャルゲーム運用技術
- Part3 ソーシャルゲーム効率化技術
- Part4 ソーシャルゲーム分析技術
Part1は、ソーシャルゲーム開発に関するパートです。ソーシャルゲームの概念や肝となる部分についての概論、またモバイルデバイス(フィーチャーフォン/スマートフォン)において、ゲーム開発の選択肢(ブラウザ/アプリケーション)ごとに開発テクニックを解説します。
Part2は、ソーシャルゲームを含むMobageサービスのインフラの構成や運用テクニックに関するパートです。高トラフィックサービスの運用を実現する構成、リクエストを円滑に捌く工夫、DBにおける高性能と高可用性の両立、サーバの運用管理・監視のテクニックを解説します。
Part3では、Mobageのオープンプラットフォームシステムを舞台に、MySQLやAPI設計に関するテクニック、非同期処理における大規模Queue処理の実現方法、Webアプリケーションの高速化のためのシステム構成方法とテクニック、DevOpsに基づいた運用と監視の手法などについて解説します。
Part4では、ソーシャルゲーム等の大規模データマイニングに関し、Clustering、Frequent Pattern Mining、Classification(Random Forest)、Recommendationを例に実行コード例/実行方法を紹介します。