2010年9月25日土曜日

PHPカンファレンス 2010 ビジネスデイにいってきました.

寒いですね.

こんにちは,スチールです.

風邪を引かぬようみなさまご注意ください.

普段はPythonを書くことが多いのですが,来年からお仕事でPHPを書くことが増えそうな予感がするのでPHPカンファレンス2010にいってきました.
9/24,25の二日間行われ,24日がビジネスデイ,25日はテックデイとテーマがわかれてるようです.
というわけで,ビジネスデイにいってきたまとめというか感想とか.二部屋にわかれてたので,基本的に自分が見てきたことについて書こうと思います.
ちなみにPHPカンファレンスのプログラムはこちら

基調講演「GREE Platformの現状と今後の取組について」
GREE 青柳直樹さん

遅れて会場に到着したので途中から聞いてました.
基本的にはGREEがGREE Platformを展開してからこんだけ数字が変わったよ(縦軸に単位のないグラフが出てきてふきました),というお話と,外部パートナーとの今後の取り組みとか,スマートフォン対応させるよ!的なお話.海外進出に向けてのお話もありました.
特に外部パートナーに関しては,CM費GREE負担で年末までに30タイトル(だったかな?)を放送するよとかいってました.太っ腹ですな.
PHPに関する話はなかったです.Twitterのタイムライン見てたらその辺どーなの?というツイートもちらほら見かけましたが,まぁビジネスデイなのでいいんでないかと思いました.
そのあとのプログラムでもソーシャルゲームの話が多かったので,これはこれでよかったのではないでしょうか.

モバイルソーシャルアプリの開発と運用
ウノウ 個々一番さん

最初はOpenSocialの実装の話.プラットフォーム(GREEとかのこと)とSAPでのAPIのやりとりはOauthが必要なので,その話がありました.
Oauthの署名の検証にはまるとデバッグが大変らしいというお話.
Oauth認証の実装にはPEARのHTTP_OAuthとかPECL::oauthとかがあるけどオススメはPEARの方だとか.(PECL::oauthはCで実装されてるみたいでなんかあったときに修正するときにHTTP_Oauthの方が楽,とかそんな感じの話だったと思う)
opensocial-php-clientは使いにくいとのこと.

その後は今までにあったトラブルとかの話.
ソーシャルゲームってヒットすると一気にどばっとアクセス来るから開始直後いきなり死ぬ,なんてことはよくあることのようで,問い合わせはたくさん来るのだそう.
なのでお問い合わせをシステム化しておかないとすぐ破綻する(特に人数少ないと貴重な開発人材がサポートに時間を奪われてしまう).
FAQで解決してもらうとか,動かない・重たい機能などを一旦取り下げる覚悟なども必要のようです.
あとプラットフォームによっては友達登録に制限がないところもあるので,プラットフォームのAPIを使った友達一覧・ランキングはうっかり実装すると大変なことになります.3万人友達がいる人とかをAPI利用しちゃうと….APIを使わないランキング実装などがおすすめだとか.

続いてウノウの環境についてのお話も.
  • PHP 5.2〜5.3
  • MySQL(5.1)
  • memcache
  • Q4M
  • nginx
  • puppet
  • capistrano
とか使っている様子.
MySQLのマスタ/スレーブの構成はreadの分散にはなるけどwriteは分散できないとかの話もありました.
あと,SwfEditorの存在だけで,PHPでソーシャルサイト作る価値があるよとのことです.

細かく書くと長くなるのでこの辺で.この話はUSTに録画されているみたい(こちら).
もう片方の会場は「CakePHPで作るニフティWebサービスのレシピ 」でした(UST).早く話が終わったみたいで後半こっちの部屋に流れてくる人が多かったです.


ユニットホスティングを使った効率的なPHPプラットフォームのご紹介
株式会社ディノ 高原芳浩さん
ユニットホスティングのお話,ホスティングサービスに
  • 10分以内にサーバを立ち上げる
  • 1分以内にCPUやメモリを増やす
  • 要らなくなったらすぐ捨てる
などの機能が欲しいけどなかったので作った感じ.
その他特徴としてはそのホスティング上でサーバー構築時にユーザースクリプトを仕込むことが可能で,例としてOpenPNEを一発インストールの例,とかやってました.

このあとHadoopの話もあったんですがおなかがすきすぎたので離脱しました.
これもUSTありました(こちら).
別会場では「〜モバイルオープンソーシャルにも対応!〜 OpenPNE Ver3.6紹介」をやってました(UST).

大ヒットソーシャルアプリの裏側
KLab 高田敦史さん,新田祐介さん

最初はソーシャルアプリの企画の話.後半は技術的な話.
ソーシャルアプリは気軽に立ち上げることが可能なので,他のアプリとの差別化が必要不可欠とのこと.
その中で「恋してキャバ嬢」は見事に差別化に成功した(が,最大2000PV/sec以上を記録するなど,負荷分散大変だったそうです).
そして,テーマが被ったら新機能を開発して差別化を行わないと死ぬ.
その新機能を作っていくにあたって,エンジニアだからって企画に参加しないと「ゴメン,やっぱ変更して」なんて事もあり痛い目にあうこともあるようです(謀反といってましたw)
「エンジニアのみなさん,少しでもいいので企画のフィールドに首をつっこむと楽になれますよ」とのことです.

続いて負荷分散.モバイルサイトとモバイルソーシャルアプリの大きな違いは更新の多さ.
ウノウの個々一番さんもお話しされてましたが,更新が多いのでマスターDBへの負荷集中がやっぱりやばい.
なるべくDBにアクセスしないように,更新データの一部をKVSに分散させるなどをしているようです.
(KVSはTokyoTyrantのようです.アイテムとか体力とか,ロック,トランザクションが必要ないデータで利用している)
そこで問題になるのはKVSとDBとのデータの整合性なのですが,やはり保証させるのは難しいとのこと.
個々で興味深かったのは,処理の順番を「ユーザに損が発生しない順序で処理を行う(得する順番で処理を行う)」ということでした.
例えばアイテムで体力回復みたいな作業の場合,回復→アイテム消費にする.逆だとその間で何らかの処理が失敗したらアイテムだけ消費されて回復しなかったって事が起こり,ユーザさんが損してしまう.回復→アイテム消費の順番だと途中で処理をしくじってもタダで回復できたのでラッキーということで許してもらいやすいとのこと.当たり前といえば当たり前ですが,おもしろいなと思いました.

あとはOpenSocialなAPIとのやりとりでの注意点などで.API通信が常に成功する前提でアプリケーションを開発するのはまずいということでした.例えばトランザクション中にAPIへリクエストしたりすると危険だとか.
その他に,高速が蔵合成ライブラリのKGDの紹介や,SymfonyベースのKLabSocialGamePlatformの紹介とかがありました.

なぜかUST見つかりませんでした.どなたかご存じでしたら教えてください.
もう一方では「新しいPHPアプリケーションのテスト手法 」をやっており,こちらはUSTあるそうです→UST

Scaling the Worlds Largest Social Gaming Network Zynga Justin Waldronさん,Don Mositeさん
お話は英語でした.でもスライド見ればなんとなく何言ってるかはわかりました.
とにかく話のスケールが大きかったです.Zyngaの一日のデータスループットは1PB…あり得ないです.
どれだけユーザがいるかというと,facebookのゲームランキングではTop7までZyngaが占めており,毎月全世界で2億人以上が遊んでいるようです.
アメリカでは文化の一部としてとらえられており,ジュースなどのパッケージにも進出してコンビニで売っているそうです.
日本のソーシャルゲームもそうなるといいなと思いました.

最初は規模すげーなお話で後半は技術の話.
ここでもやっぱり規模がすごくて,1週間で1000台のサーバを追加したことあるそうです.やばい.
あとデプロイにBitTorrentを使っているようです.TwitterやfacebookもBT使ってるらしいですね.

その他,Zyngaが開発しているオープンソースな物として
  • Membase
  • mcmux
  • pecl-memcached
  • FontLabel
があるよと紹介していました.→ zynga's Profile - GitHub

これも残念ながらUSTないのかな…

まとめ
聞きに行った話によって印象は人それぞれだと思いますが,「ソーシャルアプリ,そしてその負荷分散」の印象がやっぱり強かったですね.やはり流れはソーシャルアプリなんですね.
自分はソーシャルアプリは作ったことないし,負荷分散するほど大規模な物に関わったことがないんですが,ちょうど「大規模サービス技術入門」を読んでいたのでけっこうすんなり話題について行けました.お薦めの一冊です.

さて,明日のテックデイはまさしくPHPの話中心になると思います.っていうかこんな時間まで起きてて明日行けるか若干心配です(現在午前4時)

以上がPHPカンファレンス2010ビジネスデイ,スチール的レポートです.書くの疲れた…
明日(っていうか今日)のテックデイも行きますが,これはさすがに全部書ききれないかもしれません.

では最後に,入り口でまつもとゆきひろさんとGREEの藤本さんの似顔絵が描いてある団扇をもらいましたのでその写真を.



んじゃっ

0 件のコメント: