すっかり秋になりましたね。皆さん美味しいもの食べてますか?
DeNA では Perl を使っているのは周知の所ですが、先日行われた YAPC Asia 2010 にもスポンサーとして協賛し、また LT も含めてスピーカーとしても何名か参加しております。今回はそれぞれの発表について簡単に紹介し、また各スピーカーのスライドを公開しているブログエントリのまとめです。
ソーシャルアプリ向けシステム監視運用の勘所 - Tatsuro Hisamori
このセッションでは モバゲーオープンプラットフォーム のインフラエンジニアであるプラットフォーム統括部システムグループの久森さんが、 実際の運用上で得て来た知見を活かして特に(モバイル向け)ソーシャルゲームを作る際にどういった点に留意すべきかを解説しています。
実践的なネットワークや MySQL のチューニングの為の様々なアプローチからプラットフォームがどのようにパートナー様のアプリケーションを監視しているかを説明する資料になります。
これからソーシャルゲームに関わる方や既に作っている方、また一般的にも通用する話もありますのでウェブアプリケーションに関わるエンジニアには是非見て頂きたい内容です。
Web API のすすめ 〜巨人にさらなる力を〜 - xaicron
let's database testing!! - xaicron
同じくプラットフォーム統括部システムグループの API 担当の xaicron (Yuji Shimada) さんは本編にて2本のセッションを行っています。
Web API のすすめでは Web API のように多くのユーザーが利用する Web Application ではシンプルかつ高速になるように、 余りフルスタックなライブラリやフレームワークを用いるのでなく、Plack や Router::Simple などといった Web Application の glue として使えるシンプルで良質な CPAN モジュールを使い、 またオブジェクトの生成を必要最小限にし、モジュールのロードだけでなくインスタンスも使い回し Copy on Write を効かせ省メモリとする上で簡単に使える薄い CPAN モジュールを紹介しています。
let's database testing!! では Test::mysqld や API の実装の際にスピンアウトして出来た Test::Fixture::DBI を使って、 データベースを利用したテストについて実際のサンプルを交えて解説しています。
DeNA ではほとんど ORM を用いず、DBI をそのまま利用していますが、その際に便利に使える薄いライブラリ (DBIx::DBHResolver, DBHx::Connector, SQL::Abstract) なども紹介しています。
この辺りは日々、改良を加えている所なので別途エンジニアブログの方でもまた紹介出来るかもしれません。
Inside mobage platform - Toru Yamaguchi
さて、こちらは自分の発表です。前半部分は Shindig (Java版) を使って OpenSocial のコンテナを作る際に何をやったら良いかについて説明しています。
次に API の実装方針について説明しています。アプリケーションのクラス階層を5段階程度に抑えてそれぞれの役割を明確にし、再利用出来る物は再利用すると言った具合で設計の話をしています。 また実装上どんなモジュールをどういう用途で使っているかも説明しています。特にこちらも弊社エンジニアの有澤さんが作った DBIx::DBHResolver は API の歴史とともに機能強化しており、 特に Sharding された環境でスムースに移行出来るような作りになっている事も解説しています。
また API では MySQL Partitionig や Trigger などを多用していますが実際の使い方や、変わった使い方なども合わせて紹介しています。
最後に Q4M の分散の仕方についてトラブルを含め実例を交えて解説しました。
最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。