まいんだーのはてなブログ

はてブなのはてブロなのどっちなの

ガチでDeNAの技術情報が詰まった「Mobageを支える技術」を読んだ

先週末くらいに頂いたのに週末読めなかったけど先程だいたい読み終わりました。
実際の発売日は6/13からなので、今すぐアマゾンで予約するか本屋に並ぶといいよ!

本をいただいて感想を書くのは初めてなわけなのでどう書いたらいいやらわかりませんが読んでおもったことを素直に言えばいいのかなと思うのでそのように書きます。

この本はここ数年各所で出ているMobageないしDeNAの技術ノウハウ系情報を一堂に集めて全部書いた総集編的な位置づけと考えるとわかりやすいでしょう。
各章「今/明日から使えるテクニック」みたいなものではないケースが多いですが、ひとつのサービスの技術だけでこれほどの情報量が出てくるのは凄いことですね。

yappoさんも書いていますが、本書の分量的にはpart2, part3が圧倒的で「インフラの面倒を見ている人やサーバサイドのコードを書いているけど下のレイヤも考えてる人、もしくは考えたい人」でまだ各所にあるDeNAが公開している情報に全部当たれていない人にとっては、この本1冊でほぼすべてのエッセンスが網羅されているのでお買い得かと思います。

とはいえ、ご家庭に大規模はないので書いてある内容をそのまま真似しようと思ってもそのまま適用できることは少ないでしょう。
本書で重要なポイントだと思うのは「すごい勢いで大規模化していくサービスに対して、その当事者がどのような事を問題だと思い、解決を試みてきたか」という事に思いを巡らしながら読むことです。

自分はソーシャルゲーム開発者やデータマイニングの人間ではないので、門外漢なPart1,4については他の方に譲るとして、Part2,3について触れます。

Part2

いわゆる「インフラ」にあたる下回りの話の項です。
「ソーシャルゲーム運用技術」という題ですが、特定のタイトル等には触れられておらず、むしろ「高トラフィックなWebサービスをどのように運用するか」という見方をしたほうがしっくり来ました。
この項を読む際には「どこか雲の上のシステムの話」みたいに捉えず、自分が同じ問題に直面したらどう対策を打っていくかを考えながら読み進めると臨場感があってためになります。

Part3

こっちは逆に「アプリケーション開発」の項です。
アプリケーション開発と言いつつ、MySQLのシャーディングやストアドプロシージャ、イベントスケジューラ、Q4MといったMySQL関連の話題だらけですが、いかにMySQLに仕事をさせるかという視点で読み進めるとハラオチしやすいのかなという印象です。
nekokakさんのキュー処理はQ4Mだけにとどまらず、InnoDBでどのようにやるかといったことにも触れられているので、規模に応じた解決方法を考える際の参考として役立つでしょう。
xaicronさんの章は特にガチなので必見です。チューニングだけでなくアプリケーションを書く際の考え方にも好影響あると思います。いやマジで。

まとめ

本書は実際のサービスを下敷きとして、どのように開発/運用しているのかという事をまとめた本です。
書いた人たちが何を考えてシステム開発/運用を行なっているかに思いを巡らしつつ「どうしてこうしたのかな」「俺ならこうする」など考えつつ読むといいです。

また Web開発者のための 大規模サービス技術入門24時間365日 サーバ/インフラを支える技術 と併せて読むと、多様な視点が得られて尚良いとおもいます。


P.S. 献本いただくとおもってなかったので、ぼくの手元には明日もう一冊届いてしまいます。どうすればいいでしょう。。。