2012年06月12日

先週末くらいに届いて週末うっかり読むの忘れて昨日の夜にだいたい読み終わりました。
実際の発売日は明日からなので、今すぐアマゾンで予約するか明日本屋に並ぶといいよ!

なんていうか書評書くのが凄い難しいん素よねこの本、高層ビルの上層階のレストラン街のような感じで、それぞれの著者がそれぞれの業務に関して得た知見を惜しげもなくこれでもかって書いてるので、本全体としてはまとまり感が凄いないっていうw

ガラゲーの話とかサービス終わってるDoCoMoのPDC端末の判定方法とか Flash とか FastCGI とか2012年に出る本らしからぬトピックスがあったりしますが、それが本当に今の DeNA/Mobage を支えている技術である事には間違いないので本当に馬鹿正直に、包み隠さず書籍化したな。というのが第一印象ですね。バカにしてる風ですが賞賛してます。

本書の特徴としては、全Mobage関係の技術者が関わる技術を網羅して解説しているという所が特徴です。
そういうコンセプトなので必然的に多数の著者によって書かれているので、DeNAがその技術分野で何を困っていて、何を考えどう解決したのかという知見がたっぷり入っています。

正直言っておすすめの対象読者選定むずいけど、インフラの面倒を見ている人やサーバサイドのコードを書いているけど下のレイヤも考えてる人、もしくは考えたい人が書くと一番コスパの良い読者かなと思います。
ぶっちゃけ、その層の人達は Part 1 は不要になるし逆に Part 1 が捗る人にとっては、残りの3/4くらいの部分が意味不明になるのかなとも思う。個人的には Part 1 の3章4章は参考になると思うので、さっき書いたのに当てはまる人が一番マッチするかな。と思います。

Part 1

業界背景の説明から入ってるのが、ガチの技術書じゃなくて会社を上げての出版なんだな感あるけど Part0 に入れとけば良いと思ったw

基本的なガラゲーサイトを作る上での最低限のハマりどころ紹介や、ガラゲーソシャゲといえば Flash !なので Perl で Ming を使う方法とかいきなり出てくるのがほんとモバゲーらしくて良かった。
中野人ならでわの知恵も入っていて、今からガラゲーのソシャゲ始める人は読んどいても良いかもしれないけど、そういう人が捗る部分がこの辺だけってのが難点。

がらげの章のあとは、スマホブラウザゲームについててこちらもUIの設計の話やサクサク感出す為の知恵がふんだんにある感じですね。SWFをJS/HTML5に変換するツールの性能比較なんかもよかった。

そして Part 1 さいごは、アプリのゲームにからめて ngCore desu!

Part 2

こっからは、インフラと松信夢想のターンですね。5章8章が離れてたのが意味わかんなかった。

35億PVのほうでは、 FastCGI での運用テクニックならびに OS のファイルキャッシュの制御方法を C のコード付きで詳細に解説 CoW もあるよ。や、 DB への接続はホスト名ベースで MyDNS を使ってるよ、 lvs 挟むともっさりだから生に近い薄さじゃないとトラフィック支えられないよな話を丁寧に書いてありました。

そして松信夢想なんだけど、パラパラしか読んでない。なぜならば俺はWebエンジニアのための データベース技術[実践]入門 (Software Design plus)を全部読んだからだ!でも、Moobage本の松信章には新ネタ/Mobageというコンテキストならでわのネタもちょいちょい入ってたから安心して良いです。

次が数千台のサーバを管理する章。500台とかカジュアルすぎる感じですね。
いわゆるヤビツのDeNA版の内製サーバ管理ツールの話やPXEブートの環境構築方法まで結構濃いです。
ツールにサーバの登録が終わると同時に監視が走るってのはだいぶよいんじゃないかな?真似しないのかな?

このツールも3階層だなーとか思った、GrowthForecastも3階層なんだけど3はマジックナンバーだというのと3くらいの階層で分けないと意味不明になるからって理由で3にしてたけど、どういう理由で3にしたんだろうなー

Part 3

ここは、アプリ開発者のターン。

ZIGOROu章は、シャーディング環境でのDBプログラミング方法や、お得意のニッチ機能のMySQL版解説と、MySQLとの付き合い方って書いてあるのに全然関係無いRESTfulの設計考え方REST厨すぎるとアプリの設計無理あるわーな話となってます。
松信章でもシャーディングの話あったけど気のせい。というか、こっちではDBA的アプローチではなく、アプリでどうするかって話ですね。

次はnekokak章でQUEUE workerあれこれ。実際QUEUEとか使ってみないとわからん感じなんですが、苦労と対応についてあるあるネタを網羅してます。個人的には worker でのシグナル処理入ってて欲しかった。

さいころんの章では、気合い入りまくりでチューニングの考え方の参考にすっごいなるんでちゃんと買って読むべき。個人的には MyDNS のおさらいがあったのと、いままで用途がというか何で作られたのか意味不明モジュールになってる Iterator::GroupedRange の誕生秘話がわかったのが良かった。

そしてまたnekokak章ですが、何を考えてどうやってログを監視して行くかの話と、デプロイをどうするかって話、デプロイはだいぶ前のほうで FastCGI でのデプロイの話が出てた気がするけど、やってる事が違う人だからそれはそれこれはこれで、こっちはモダンよりなプロダクトでのデプロイの話ってみとくといいかな。
あとは daemontools Web UI を作ってるらしいけど、おれもステージング環境用の似たツール作ってて Web UI で特定のブランチを選んでステージング環境つくったり git pull するのとかやってる。これは去年の YAPC で話す予定で資料だけ上がってる。

Part 4

個人的にはこの章はばっさり切ったほうが良かったとおもいました。
概要では

その舞台裏を「ソーシャルゲーム(フィーチャーフォン/スマートフォン)」「大規模Webインフラ」「プラットフォーム」「ビッグデータ分析」といったテーマに分け,DeNAの実践的ノウハウを解説しています。
とかいてあり、表紙には「開発、運用、効率化、分析」と四台柱にしてあってセクションも別れているのにですよ、ページ数は全体の1/10以下。いやページ数はどうでも良いんです濃厚なら、でもクラスタリングの必要性と何をする物なのかという解説を少しして後は Mahout の使い方で終わってしまうのは、あまりに味気ないんじゃないでしょうか。

とくに DeNA らしい知見も一切含まれていないので実質的にはドキュメントを見れば事足りるし、ここまで大きくフィーチャリングするのは間違いだとおもう。もし僕がビッグデータ分析目当てで通販で本書を買ってたらマジ切れするレベルなので、せめて3章の後半にくっ付ける感じの扱いで良かったと思う。

まとめ

みんな好き勝手に書いてある感があって「この話題別の章ででてたよ!」な所も多くて普通の書籍としては統一感ないですがwいつかのアップデートで構成まとめ直されるとより使いやすくなる気がしたりするような。
そのかわり執筆陣それぞれの主張したい事が全面に出てて役に立つ情報が満載で、読むと確実に将来捗る内容になってるので「まるごと Perl」てきに「まるごと Mobage」的な本を買うんだ感で買って読むと良いと思います!

最初は次世代版[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用になり得る本かとも思ってたけど、見事に言及する技術分野を変えてあって、未だにオワコンにならない本だなと思いましたw

PS: 変だと思ってた所はメモしてあるので、中野人はこちらをごりようください。

Posted by Yappo at 2012年06月12日 19:55 | TrackBack | Perl
Comments
Post a comment









Remember personal info?






コメントを投稿する前に↓の場所にnospamと入力してください。