Mobageを支える技術 ~ソーシャルゲームの舞台裏~ (WEB+DB PRESS plus) DeNA |
Mobageのソーシャルアプリを開発していた過去のある@HIROCASTERでございませう。
「35億PV/dayの巨大システムをはいかに開発・運用されているか?」なんていわれたら、Webサービスを開発しているプログラマであれば、読まないわけにはいきません。
明日、店頭に並ぶそうです。
Part1 ソーシャルゲーム開発技術
ソーシャルゲームとは何なのかといった概論から始まり、日本独自のガラケーの話やガラケー向けのサイトをつくるのに絶対つまずくであろうポイントやテクニックについてかいてます。もちろん、ゲームでよくある動的Flashをつくる方法などにも触れています。
ガラケーのゲーム開発に携わったことがない人には役立つかな。と思いますが、もうこの辺の話はいいでしょ。というのが正直な僕の個人的な感想。これからガラケーのゲームつくるって人は…。
そして、スマホの話になり、DeNAのngCoreの話になっていく。
Part2 ソーシャルゲーム運用技術
「35億PV/dayをさばくインフラ構成」ということで期待大である。
サーバ構成についてひととおり解説し、FastCGIに関しての効率的な取り扱いが書いてある。
MySQLの話が実践的で面白い。レプリケーション遅延については、何をもって遅延とするかから述べられて、各種数字の見方などを解説し、調査と対処について書かれている。これはすぐ役立つだろう。
レプリケーション遅延を防ぐためのベストプラクティスは助かる。さすが松信さんという感じである。
高性能化/高可用化については、かなりの台数を運用していきながら学んで行かなければならない様な内容なので、この様にまとめられていると、成長していくサービスを開発しているエンジニアにはとても参考になる。
Shardingの戦略について詳しく解説している内容は、身につけておきたいポイントである。こういった資料があるのと無いのだとだいぶ違うので、ありがとうございます。と伝えたい。
人に説明するのも、こういった形であると楽ですね。うん。
Part3 ソーシャルゲーム効率化技術
MySQL、Q4M、memcachedなど、ソーシャルゲームを開発しているプログラマだったら、このあたりを知ってないと、ちゃんと動き続けるソーシャルゲームにならないよね。というぐらい重要なポイントである。大規模Webアプリケーションを開発するプログラマは押さえておきたい内容。
Sharding、サーバサイドでの非同期処理、キャッシュなど大規模アクセスに耐えるためのミドルウェアの使い方が綺麗にまとまっている印象です。
Part4 ソーシャルゲーム分析技術
この内容にはとても期待していた。が、ページが少ない…。ここを手厚くして欲しかったなぁ。というのが個人的な感想。基本的にはMahoutの使い方の話。
で、DeNAではこの可視化したデータをどうやってるのかとか、どういうポイントで可視化してるから面白いゲームをつくることができるのかとか、そういうこと期待していたので残念。
まとめ
今っぽい大規模Webアプリケーションを開発するにおいて、必要なポイントはまとめられている1冊だと思います。ただ、内容がDeNA社内で利用しているものが前提な部分があるので、その辺はいろいろとご自身の現場でいろいろと試行錯誤して頂ければと思います。
サーバ数台使うぐらいのWebアプリケーションはつくれるようになったけど、数十台とか1日に数億PV超えるようなWebアプリケーションをつくる様になりたい人にはオススメです。
会社でリリースしたサービスがSNSからの大量アクセスでダウンしてから、いろいろと考えるのでは遅いので、この1冊が諸々を解決するキッカケを与えてくれるのではないでしょうか。
P.S GREEを支える技術はまだですか?
Mobageを支える技術 ~ソーシャルゲームの舞台裏~ (WEB+DB PRESS plus) DeNA |